@valentine-efagene/qshelter-common 2.0.140 → 2.0.142

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -52,6 +52,7 @@ export * from './PropertyVariantAmenity';
52
52
  export * from './PropertyVariantMedia';
53
53
  export * from './QuestionnaireField';
54
54
  export * from './QuestionnairePhase';
55
+ export * from './QuestionnairePhaseReview';
55
56
  export * from './QuestionnairePlan';
56
57
  export * from './QuestionnairePlanQuestion';
57
58
  export * from './RefreshToken';
@@ -52,6 +52,7 @@ export * from './PropertyVariantAmenity';
52
52
  export * from './PropertyVariantMedia';
53
53
  export * from './QuestionnaireField';
54
54
  export * from './QuestionnairePhase';
55
+ export * from './QuestionnairePhaseReview';
55
56
  export * from './QuestionnairePlan';
56
57
  export * from './QuestionnairePlanQuestion';
57
58
  export * from './RefreshToken';
@@ -45,6 +45,7 @@ export type * from './models/Application.js';
45
45
  export type * from './models/ApplicationRefund.js';
46
46
  export type * from './models/ApplicationPhase.js';
47
47
  export type * from './models/QuestionnairePhase.js';
48
+ export type * from './models/QuestionnairePhaseReview.js';
48
49
  export type * from './models/DocumentationPhase.js';
49
50
  export type * from './models/PaymentPhase.js';
50
51
  export type * from './models/QuestionnaireField.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@valentine-efagene/qshelter-common",
3
- "version": "2.0.140",
3
+ "version": "2.0.142",
4
4
  "description": "Shared database schemas and utilities for QShelter services",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -487,9 +487,9 @@ model User {
487
487
  applicationPayments ApplicationPayment[] @relation("ApplicationPayer")
488
488
 
489
489
  // Documentation (new model)
490
- uploadedDocs ApplicationDocument[] @relation("DocumentUploader")
491
- documentApprovals DocumentApproval[] @relation("DocumentApprovalReviewer")
492
- completedStages ApprovalStageProgress[] @relation("StageCompletedBy")
490
+ uploadedDocs ApplicationDocument[] @relation("DocumentUploader")
491
+ documentApprovals DocumentApproval[] @relation("DocumentApprovalReviewer")
492
+ completedStages ApprovalStageProgress[] @relation("StageCompletedBy")
493
493
 
494
494
  // Payment method changes
495
495
  paymentMethodChangeRequests PaymentMethodChangeRequest[] @relation("ChangeRequestor")
@@ -520,6 +520,9 @@ model User {
520
520
  // Document reviews by this user
521
521
  documentReviews DocumentReview[] @relation("DocumentReviewer")
522
522
 
523
+ // Questionnaire phase reviews by this user
524
+ questionnaireReviews QuestionnairePhaseReview[] @relation("QuestionnaireReviewer")
525
+
523
526
  // Organization memberships (user can be employee of banks/developers)
524
527
  organizationMemberships OrganizationMember[]
525
528
 
@@ -809,6 +812,7 @@ model Tenant {
809
812
  domainEvents DomainEvent[]
810
813
  workflowBlockers WorkflowBlocker[]
811
814
  questionnairePlans QuestionnairePlan[]
815
+ questionnairePhaseReviews QuestionnairePhaseReview[]
812
816
  documentReviews DocumentReview[]
813
817
 
814
818
  // Organizations (Banks, Developers) operating on this tenant
@@ -1289,10 +1293,10 @@ model DocumentationPlan {
1289
1293
 
1290
1294
  // Document definitions (what documents to collect)
1291
1295
  documentDefinitions DocumentDefinition[]
1292
-
1296
+
1293
1297
  // Approval stages (sequential workflow for reviewing documents)
1294
- approvalStages ApprovalStage[]
1295
-
1298
+ approvalStages ApprovalStage[]
1299
+
1296
1300
  // Used by property payment method phases (templates)
1297
1301
  methodPhases PropertyPaymentMethodPhase[]
1298
1302
  // Used by instantiated documentation phases
@@ -2144,6 +2148,9 @@ model QuestionnairePhase {
2144
2148
  // Child records
2145
2149
  fields QuestionnaireField[]
2146
2150
 
2151
+ // Review audit trail
2152
+ reviews QuestionnairePhaseReview[]
2153
+
2147
2154
  // Back-relation: Documentation phases that use this questionnaire's answers for conditions
2148
2155
  dependentDocumentationPhases DocumentationPhase[] @relation("SourceQuestionnaire")
2149
2156
 
@@ -2153,6 +2160,39 @@ model QuestionnairePhase {
2153
2160
  @@map("questionnaire_phases")
2154
2161
  }
2155
2162
 
2163
+ // =============================================================================
2164
+ // QUESTIONNAIRE PHASE REVIEW - Audit trail for questionnaire reviews
2165
+ // =============================================================================
2166
+ // Captures every review decision made on a questionnaire phase.
2167
+ // Supports workflows where questionnaire may be rejected → resubmitted → approved.
2168
+ // The scoring serves as guidance; reviewer makes the final decision.
2169
+ // =============================================================================
2170
+
2171
+ model QuestionnairePhaseReview {
2172
+ id String @id @default(cuid())
2173
+ tenantId String
2174
+ tenant Tenant @relation(fields: [tenantId], references: [id], onDelete: Cascade)
2175
+ questionnairePhaseId String
2176
+ questionnairePhase QuestionnairePhase @relation(fields: [questionnairePhaseId], references: [id], onDelete: Cascade)
2177
+
2178
+ // Review details
2179
+ reviewerId String
2180
+ reviewer User @relation("QuestionnaireReviewer", fields: [reviewerId], references: [id])
2181
+ decision ReviewDecision
2182
+ notes String? @db.Text
2183
+
2184
+ // Snapshot of scores at time of review (for audit)
2185
+ scoreAtReview Int? // The totalScore when this review was made
2186
+ passedAtReview Boolean? // The passed flag when this review was made
2187
+
2188
+ createdAt DateTime @default(now())
2189
+
2190
+ @@index([tenantId])
2191
+ @@index([questionnairePhaseId])
2192
+ @@index([reviewerId])
2193
+ @@map("questionnaire_phase_reviews")
2194
+ }
2195
+
2156
2196
  // =============================================================================
2157
2197
  // DOCUMENTATION PHASE DATA - Extension for DOCUMENTATION phases
2158
2198
  // =============================================================================