23 lines
1018 B
TypeScript
23 lines
1018 B
TypeScript
import { Result } from "src/common/errors/result-error.factory";
|
|
import { PrismaService } from "src/prisma/prisma.service";
|
|
|
|
export class SchedulePresetDeleteService {
|
|
constructor(private readonly prisma: PrismaService) { }
|
|
|
|
//_________________________________________________________________
|
|
// DELETE
|
|
//_________________________________________________________________
|
|
async deletePreset(preset_id: number): Promise<Result<boolean, string>> {
|
|
const preset = await this.prisma.schedulePresets.findFirst({
|
|
where: { id: preset_id },
|
|
select: { id: true },
|
|
});
|
|
if (!preset) return { success: false, error: `SCHEDULE_PRESET_NOT_FOUND` };
|
|
|
|
await this.prisma.$transaction(async (tx) => {
|
|
await tx.schedulePresetShifts.deleteMany({ where: { preset_id: preset_id } });
|
|
await tx.schedulePresets.delete({ where: { id: preset_id } });
|
|
});
|
|
return { success: true, data: true };
|
|
}
|
|
} |