feat(f4): expose JEFE deadline policy endpoints

This commit is contained in:
2026-09-07 21:02:54 -03:00
parent 9a79b7eb86
commit 5e6631554a
@@ -0,0 +1,53 @@
import { Body, Controller, Delete, Get, Param, Put, Req } from '@nestjs/common';
import { CurrentAuth } from '../auth/decorators/current-auth.decorator';
import { RequirePermissions } from '../authorization/decorators/require-permissions.decorator';
import type { AuthPrincipal, RequestWithContext } from '../common/http/request-context';
import { UpdateDeadlinePolicyDto, UpsertBusinessCalendarDayDto } from './dto/update-deadline-policy.dto';
import { InspectionDeadlineAdminService } from './inspection-deadline-admin.service';
@Controller('inspection-deadlines')
export class InspectionDeadlineAdminController {
constructor(private readonly deadlines: InspectionDeadlineAdminService) {}
@Get('policy')
@RequirePermissions('inspections.read')
policy() {
return this.deadlines.policy();
}
@Put('policy')
@RequirePermissions('inspections.manage')
updatePolicy(
@Body() dto: UpdateDeadlinePolicyDto,
@CurrentAuth() principal: AuthPrincipal,
@Req() request: RequestWithContext,
) {
return this.deadlines.updatePolicy(dto, principal, request);
}
@Get('calendar')
@RequirePermissions('inspections.read')
calendar() {
return this.deadlines.calendar();
}
@Put('calendar')
@RequirePermissions('inspections.manage')
upsertDay(
@Body() dto: UpsertBusinessCalendarDayDto,
@CurrentAuth() principal: AuthPrincipal,
@Req() request: RequestWithContext,
) {
return this.deadlines.upsertCalendarDay(dto, principal, request);
}
@Delete('calendar/:date')
@RequirePermissions('inspections.manage')
removeDay(
@Param('date') date: string,
@CurrentAuth() principal: AuthPrincipal,
@Req() request: RequestWithContext,
) {
return this.deadlines.removeCalendarDay(date, principal, request);
}
}