mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-29 18:48:11 +00:00
feat: enhance booking flow with multi-route support and onboarding document integration
- Introduced multi-route functionality in the booking process, allowing users to add additional routes for general contracts. - Updated the StepDocuments component to display onboarding documents automatically attached to bookings. - Refactored Step4Route to manage extra routes and quantities dynamically. - Improved Step8Review to reflect the new onboarding document handling and updated submission readiness checks. - Added new API endpoints and services for managing contract route lines and rejecting bookings. - Removed the allowConsolidation field from the booking model as it is now managed by the system. - Created migrations for the new contract route lines table and updated related entities.
This commit is contained in:
@@ -54,6 +54,38 @@ export class FilesService {
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Attach already-stored files (e.g. a company profile's onboarding documents)
|
||||
* to a resource by reference — creates FileRecord rows pointing at the existing
|
||||
* object-storage URLs, without re-uploading bytes. The snapshot is fixed at call
|
||||
* time, so later changes to the source documents never alter what was attached.
|
||||
*/
|
||||
async attachExistingFiles(
|
||||
resourceId: string,
|
||||
resource: string,
|
||||
files: Array<{
|
||||
code: string;
|
||||
name: string;
|
||||
url: string;
|
||||
size: number;
|
||||
mimeType?: string;
|
||||
}>,
|
||||
): Promise<FileRecord[]> {
|
||||
return Promise.all(
|
||||
files.map((f) =>
|
||||
this.filesRepository.create({
|
||||
resourceId,
|
||||
resource,
|
||||
code: f.code,
|
||||
name: f.name,
|
||||
url: f.url,
|
||||
size: f.size,
|
||||
mimeType: f.mimeType ?? "application/octet-stream",
|
||||
}),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
async findById(id: string): Promise<FileRecord> {
|
||||
const record = await this.filesRepository.findById(id);
|
||||
if (!record) throw new NotFoundException(`File ${id} not found`);
|
||||
|
||||
Reference in New Issue
Block a user