2.4 KiB
2.4 KiB
20251216-document-numbering-backend-methods.md
Date: 2025-12-16 Type: Feature Implementation Status: ✅ Completed
Summary
Implemented missing backend methods for Document Numbering module and fixed frontend admin panel issues.
Backend Changes
New Service Methods (document-numbering.service.ts)
| Method | Description |
|---|---|
voidAndReplace(dto) |
Void a number and optionally generate replacement |
cancelNumber(dto) |
Mark a number as cancelled in audit log |
getSequences(projectId?) |
Get all counter sequences |
previewNumber(ctx) |
Preview number without incrementing counter |
New Controller Endpoints (document-numbering.controller.ts)
| Endpoint | Method | Permission |
|---|---|---|
/document-numbering/sequences |
GET | correspondence.read |
/document-numbering/preview |
POST | correspondence.read |
New DTO
dto/preview-number.dto.ts- Request DTO for preview endpoint
Frontend Fixes
API Response Handling
Fixed wrapped response { data: [...] } issue:
components/numbering/sequence-viewer.tsxapp/(admin)/admin/numbering/page.tsx
Template Editor (components/numbering/template-editor.tsx)
- Made Document Type optional (
correspondence_type_idcan benull) - Added "Default (All Types)" option to dropdown
- Fixed validation to allow save without type selection
Database
Added missing table document_number_formats to schema.
Specs Updated
specs/03-implementation/document-numbering.md→ v1.7.0 (status: implemented)
Files Modified
backend/src/modules/document-numbering/
├── document-numbering.service.ts
├── document-numbering.controller.ts
├── dto/preview-number.dto.ts (NEW)
└── ...
backend/src/modules/circulation/
└── circulation.service.ts (fixed generateNextNumber usage)
frontend/lib/api/
└── numbering.ts
frontend/components/numbering/
├── sequence-viewer.tsx
└── template-editor.tsx
frontend/app/(admin)/admin/numbering/
└── page.tsx
specs/03-implementation/
└── document-numbering.md