mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-09-08 04:15:43 +00:00
feat(transit-agent): timed document uploads and a real-data overview
This commit is contained in:
@@ -1914,6 +1914,61 @@ export class BookingsController {
|
||||
};
|
||||
}
|
||||
|
||||
// Transit-agent arrival paperwork (export): gate pass and Djibouti T1 sets.
|
||||
// Same audience rule as the DO/RO uploads above — the desk, or the agent
|
||||
// assigned to this shipment.
|
||||
@Post(":id/clearance/gate-pass-documents")
|
||||
@MixedAudience(FREIGHT_PERMS.contracts.clearanceDjActions)
|
||||
@UseInterceptors(AnyFilesInterceptor())
|
||||
@ApiConsumes("multipart/form-data")
|
||||
async uploadBookingGatePassDocuments(
|
||||
@Param("id", ParseUUIDPipe) id: string,
|
||||
@UploadedFiles() files: Express.Multer.File[],
|
||||
@CurrentUser() user: TCurrentUser,
|
||||
) {
|
||||
await this.assertPortalClearanceAccess(id, user);
|
||||
return this.bookingClearanceService.uploadTransitArrivalDocuments(
|
||||
id,
|
||||
"gate_pass",
|
||||
files ?? [],
|
||||
resolveAuthUserId(user),
|
||||
);
|
||||
}
|
||||
|
||||
@Post(":id/clearance/djibouti-t1-documents")
|
||||
@MixedAudience(FREIGHT_PERMS.contracts.clearanceDjActions)
|
||||
@UseInterceptors(AnyFilesInterceptor())
|
||||
@ApiConsumes("multipart/form-data")
|
||||
async uploadBookingDjiboutiT1Documents(
|
||||
@Param("id", ParseUUIDPipe) id: string,
|
||||
@UploadedFiles() files: Express.Multer.File[],
|
||||
@CurrentUser() user: TCurrentUser,
|
||||
) {
|
||||
await this.assertPortalClearanceAccess(id, user);
|
||||
return this.bookingClearanceService.uploadTransitArrivalDocuments(
|
||||
id,
|
||||
"djibouti_t1",
|
||||
files ?? [],
|
||||
resolveAuthUserId(user),
|
||||
);
|
||||
}
|
||||
|
||||
@Delete(":id/clearance/transit-documents/:fileId")
|
||||
@MixedAudience(FREIGHT_PERMS.contracts.clearanceDjActions)
|
||||
@HttpCode(204)
|
||||
async removeBookingTransitDocument(
|
||||
@Param("id", ParseUUIDPipe) id: string,
|
||||
@Param("fileId", ParseUUIDPipe) fileId: string,
|
||||
@CurrentUser() user: TCurrentUser,
|
||||
) {
|
||||
await this.assertPortalClearanceAccess(id, user);
|
||||
await this.bookingClearanceService.removeTransitArrivalDocument(
|
||||
id,
|
||||
fileId,
|
||||
resolveAuthUserId(user),
|
||||
);
|
||||
}
|
||||
|
||||
@Post(":id/clearance/ro-amendment")
|
||||
@MixedAudience(FREIGHT_PERMS.contracts.clearanceDjActions)
|
||||
async requestBookingRoAmendment(
|
||||
|
||||
Reference in New Issue
Block a user