260222:1053 20260222 refactor specs/ #1 03-Data-and-Storage
All checks were successful
Build and Deploy / deploy (push) Successful in 1m0s
All checks were successful
Build and Deploy / deploy (push) Successful in 1m0s
This commit is contained in:
53
specs/99-archives/tasks/TASK-FE-019-v170-refactor.md
Normal file
53
specs/99-archives/tasks/TASK-FE-019-v170-refactor.md
Normal file
@@ -0,0 +1,53 @@
|
||||
---
|
||||
title: 'Task: Frontend Refactoring for Schema v1.7.0'
|
||||
status: IN_PROGRESS
|
||||
owner: Frontend Team
|
||||
created_at: 2025-12-23
|
||||
related:
|
||||
- specs/06-tasks/TASK-BE-018-v170-refactor.md
|
||||
- specs/07-database/data-dictionary-v1.7.0.md
|
||||
---
|
||||
|
||||
## Objective
|
||||
Update frontend application to align with the refactored backend (v1.7.0 schema). This includes supporting new field mappings, new As Built drawing type, and updated document numbering logic.
|
||||
|
||||
## Scope of Work
|
||||
|
||||
### 1. Type Definitions & API Client
|
||||
- **Types**: Update `Drawing`, `ContractDrawing`, `ShopDrawing` interfaces to match new backend entities (e.g. `mapCatId`, `projectId` in categories).
|
||||
- **API**: Update `drawing.service.ts` to support new filter parameters (`mapCatId`) and new endpoints for As Built drawings.
|
||||
|
||||
### 2. Drawing Upload Form (`DrawingUploadForm`)
|
||||
- **General**: Refactor to support dynamic fields based on Drawing Type.
|
||||
- **Contract Drawings**:
|
||||
- Replace `subCategoryId` with `mapCatId` (fetch from `contract-drawing-categories`?).
|
||||
- Add `volumePage` input.
|
||||
- **Shop Drawings**:
|
||||
- Remove `sheetNumber` (if not applicable) or map to `legacyDrawingNumber`.
|
||||
- Add `legacyDrawingNumber` input.
|
||||
- Handle `title` input (sent as revision title).
|
||||
- Use Project-specific categories.
|
||||
- **As Built Drawings (New)**:
|
||||
- Add "AS_BUILT" option.
|
||||
- Implement form fields similar to Shop Drawings (or Contract depending on spec).
|
||||
|
||||
### 3. Drawing List & Views (`DrawingList`)
|
||||
- **Contract Drawings**: Show `volumePage`.
|
||||
- **Shop Drawings**:
|
||||
- Display `legacyDrawingNumber`.
|
||||
- Display Title from *Current Revision*.
|
||||
- Remove direct title column from sort/filter if backend doesn't support it anymore on master.
|
||||
- **As Built Drawings**:
|
||||
- Add new Tab/Page for As Built.
|
||||
- Implement List View.
|
||||
|
||||
### 4. Logic & Hooks
|
||||
- Update `useDrawings`, `useCreateDrawing` hooks to handle new types.
|
||||
- Ensure validation schemas (`zod`) match backend constraints.
|
||||
|
||||
## Definition of Done
|
||||
- [x] Contract Drawing Upload works with `mapCatId` and `volumePage`
|
||||
- [x] Shop Drawing Upload works with `legacyDrawingNumber` and Revision Title
|
||||
- [x] As Built Drawing Upload and List implemented
|
||||
- [x] Drawing List displays correct columns for all types
|
||||
- [x] No TypeScript errors
|
||||
Reference in New Issue
Block a user