690327:1235 Fixing Refactor ADR-019 Naming convention uuid #15
CI / CD Pipeline / build (push) Successful in 5m27s
CI / CD Pipeline / deploy (push) Successful in 11m21s

This commit is contained in:
2026-03-27 12:35:08 +07:00
parent 2eab2e73d6
commit bb33e542c7
7 changed files with 45 additions and 7 deletions
@@ -93,6 +93,16 @@ export class MasterController {
return this.masterService.deleteDiscipline(id);
}
@Patch('disciplines/:id')
@RequirePermission('master_data.manage')
@ApiOperation({ summary: 'Update a discipline' })
updateDiscipline(
@Param('id', ParseIntPipe) id: number,
@Body() dto: Partial<CreateDisciplineDto> & { contractId?: number | string }
) {
return this.masterService.updateDiscipline(id, dto);
}
// --- Sub Types ---
@Get('sub-types')
@ApiOperation({ summary: 'Get all sub-types' })
@@ -206,6 +206,25 @@ export class MasterService {
return { deleted: true };
}
async updateDiscipline(
id: number,
dto: Partial<CreateDisciplineDto> & { contractId?: number | string }
) {
const discipline = await this.disciplineRepo.findOne({ where: { id } });
if (!discipline)
throw new NotFoundException(`Discipline ID ${id} not found`);
// Resolve contractId if provided
if (dto.contractId) {
dto.contractId = await this.uuidResolver.resolveContractId(
dto.contractId
);
}
Object.assign(discipline, dto);
return this.disciplineRepo.save(discipline);
}
// =================================================================
// 📑 Sub-Types Logic
// =================================================================