260322:1648 Correct Coresspondence / Doing RFA / Correct CI
CI Pipeline / build (push) Failing after 12m41s
Build and Deploy / deploy (push) Failing after 2m44s

This commit is contained in:
admin
2026-03-22 16:48:12 +07:00
parent e5deedb42e
commit 11984bfa29
683 changed files with 105251 additions and 29068 deletions
@@ -18,6 +18,7 @@ Completed all 4 Priority 0 tasks to address critical implementation gaps in the
### What Was Implemented
**4-Level Hierarchical Permission System:**
- Global scope (system administrators)
- Organization scope (company-level access)
- Project scope (project-specific access)
@@ -49,6 +50,7 @@ Completed all 4 Priority 0 tasks to address critical implementation gaps in the
### Integration Points
**Updated:** [auth.module.ts](file:///d:/nap-dms.lcbp3/backend/src/common/auth/auth.module.ts:34-48)
- Imported `CaslModule`
- Exported `PermissionsGuard`
@@ -58,7 +60,6 @@ Completed all 4 Priority 0 tasks to address critical implementation gaps in the
@Controller('correspondences')
@UseGuards(JwtAuthGuard, PermissionsGuard)
export class CorrespondenceController {
@Post()
@RequirePermission('correspondence.create')
async create(@Body() dto: CreateDto) {
@@ -101,6 +102,7 @@ export class CorrespondenceController {
### Validation Logic
**State Machine Integrity:**
- ✅ All states in transitions exist in states array
- ✅ Initial state exists
- ✅ Final states exist
@@ -156,6 +158,7 @@ export class CorrespondenceController {
[correspondence-revision.entity.ts](file:///d:/nap-dms.lcbp3/backend/src/modules/correspondence/entities/correspondence-revision.entity.ts)
**Key Fields:**
- `correspondence_id` - Master document reference
- `revision_number` - Sequential revision (0, 1, 2...)
- `revision_label` - Display label (A, B, 1.1...)
@@ -164,6 +167,7 @@ export class CorrespondenceController {
- Date fields: `documentDate`, `issuedDate`, `receivedDate`, `dueDate`
**Unique Constraints:**
```sql
UNIQUE (correspondence_id, revision_number)
UNIQUE (correspondence_id, is_current) WHERE is_current = 1
@@ -172,6 +176,7 @@ UNIQUE (correspondence_id, is_current) WHERE is_current = 1
### Relations
**Correspondence → CorrespondenceRevision:**
```typescript
@OneToMany(() => CorrespondenceRevision, (rev) => rev.correspondence)
revisions?: CorrespondenceRevision[];
@@ -212,11 +217,13 @@ revisions?: CorrespondenceRevision[];
[document-numbering.service.ts](file:///d:/nap-dms.lcbp3/backend/src/modules/document-numbering/document-numbering.service.ts)
**Added Methods:**
- `logAudit()` - Save successful generations
- `logError()` - Save failures
- `classifyError()` - Categorize error types
**Error Types:**
- `LOCK_TIMEOUT` - Redis lock timeout
- `VERSION_CONFLICT` - Optimistic lock conflict
- `REDIS_ERROR` - Redis connection issues
@@ -228,6 +235,7 @@ revisions?: CorrespondenceRevision[];
[document-numbering.interface.ts](file:///d:/nap-dms.lcbp3/backend/src/modules/document-numbering/interfaces/document-numbering.interface.ts)
**Added to `GenerateNumberContext`:**
```typescript
userId?: number; // User requesting number
ipAddress?: string; // IP address for audit
@@ -262,12 +270,14 @@ graph TD
### Test Status
⚠️ **Tests Not Run** - Compilation issues with test environment (unrelated to P0 implementation)
- Test files created with proper coverage
- Can be run after fixing base entity imports
### Module Registrations
✅ All entities registered in respective modules:
- `CaslModule` in `AuthModule`
- DSL entities in `WorkflowEngineModule`
- `CorrespondenceRevision` in `CorrespondenceModule`
@@ -280,6 +290,7 @@ graph TD
### None
All P0 changes are **additive only**:
- New modules/entities added
- New optional fields in interfaces
- No existing functionality modified
@@ -306,6 +317,7 @@ No new environment variables required. Existing Redis config used for CASL (futu
### Database Schema
**New Tables Required:**
- `document_number_audit`
- `document_number_errors`
@@ -366,6 +378,7 @@ These match schema v1.5.1 specification.
**Implementation Complete** 🎉
All P0 critical gaps addressed. System now has:
- ✅ Enterprise-grade permission system
- ✅ Flexible workflow configuration
- ✅ Complete document revision history