Added components for PM apps #213
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
ℹ️ Issue
Closes #210
📝 Description
Full file upload flow for applicants
Briefly list the changes made to the code:
1. File Download Endpoint Added
File:
apps/backend/src/file-upload/file-upload.service.tsgetFileById(fileId: number)methodNotFoundExceptionif file doesn't exist2. File:
apps/backend/src/file-upload/file-upload.controller.tsGET /api/file-upload/download/:fileIdendpointStreamableFilefor efficient file downloadsContent-Type: File's mimetypeContent-Disposition: Attachment with filenameContent-Length: File size3. Download File Method Added (frontend_
File:
apps/frontend/src/api/apiClient.tsdownloadFile(accessToken: string, fileId: number): Promise<Blob>methodresponseType: 'blob'4: Reusable FileWidget Component
5. Integrated FileWidget into Application Detail View
File:
apps/frontend/src/features/applications/components/ApplicationTables/individualApplication.tsx6. UI Integration:
isPM === trueonFileUploadedcallback to refresh file list after uploadFORM LINK:
https://docs.google.com/forms/d/e/1FAIpQLScGimGWc9CGy9gGsGOVzPCyM3hapgg94IPU2LA6qSk0SR3F2Q/viewform?usp=sharing&ouid=114299777948262504771 (click edit form button on bottom right)