54 lines
2.2 KiB
Markdown
54 lines
2.2 KiB
Markdown
---
|
|
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
|