@valentine-efagene/qshelter-common 1.0.0 → 1.0.3
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.
- package/dist/OpenApiHelper.d.ts +9 -0
- package/dist/OpenApiHelper.js +118 -0
- package/dist/OpenApiHelper.js.map +1 -0
- package/dist/decorator/index.d.ts +2 -0
- package/dist/decorator/index.js +19 -0
- package/dist/decorator/index.js.map +1 -0
- package/dist/decorator/permission.decorator.d.ts +2 -0
- package/dist/decorator/permission.decorator.js +6 -0
- package/dist/decorator/permission.decorator.js.map +1 -0
- package/dist/decorator/tenant.decorator.d.ts +2 -0
- package/dist/decorator/tenant.decorator.js +13 -0
- package/dist/decorator/tenant.decorator.js.map +1 -0
- package/dist/entities/common.entity.js +1 -1
- package/dist/entities/common.entity.js.map +1 -1
- package/dist/entities/common.pure.entity.js +3 -2
- package/dist/entities/common.pure.entity.js.map +1 -1
- package/dist/entities/mortgage.entity.js +13 -13
- package/dist/entities/mortgage.entity.js.map +1 -1
- package/dist/entities/property.entity.d.ts +1 -2
- package/dist/entities/property.entity.js +6 -12
- package/dist/entities/property.entity.js.map +1 -1
- package/dist/entities/tenant.entity.d.ts +1 -1
- package/dist/entities/tenant.entity.js +3 -3
- package/dist/entities/tenant.entity.js.map +1 -1
- package/dist/entities/user.entity.d.ts +1 -1
- package/dist/entities/user.entity.js +7 -7
- package/dist/entities/user.entity.js.map +1 -1
- package/dist/entities/wallet.entity.js +9 -9
- package/dist/entities/wallet.entity.js.map +1 -1
- package/dist/guard/index.d.ts +2 -0
- package/dist/guard/index.js +19 -0
- package/dist/guard/index.js.map +1 -0
- package/dist/guard/permission.guard.d.ts +10 -0
- package/dist/guard/permission.guard.js +47 -0
- package/dist/guard/permission.guard.js.map +1 -0
- package/dist/guard/swagger-auth.guard.d.ts +1 -0
- package/dist/guard/swagger-auth.guard.js +9 -0
- package/dist/guard/swagger-auth.guard.js.map +1 -0
- package/dist/helpers/ArrayHelper.d.ts +2 -0
- package/dist/helpers/ArrayHelper.js +6 -0
- package/dist/helpers/ArrayHelper.js.map +1 -0
- package/dist/helpers/ConstantHelper.d.ts +36 -0
- package/{helpers/ConstantHelper.ts → dist/helpers/ConstantHelper.js} +36 -47
- package/dist/helpers/ConstantHelper.js.map +1 -0
- package/dist/helpers/CustomNamingStrategy.d.ts +7 -0
- package/dist/helpers/CustomNamingStrategy.js +22 -0
- package/dist/helpers/CustomNamingStrategy.js.map +1 -0
- package/dist/helpers/DateHelper.d.ts +3 -0
- package/dist/helpers/DateHelper.js +20 -0
- package/dist/helpers/DateHelper.js.map +1 -0
- package/dist/helpers/EmailHelper.d.ts +4 -0
- package/dist/helpers/EmailHelper.js +65 -0
- package/dist/helpers/EmailHelper.js.map +1 -0
- package/dist/helpers/FileSystemHelper.d.ts +15 -0
- package/dist/helpers/FileSystemHelper.js +112 -0
- package/dist/helpers/FileSystemHelper.js.map +1 -0
- package/dist/helpers/index.d.ts +5 -0
- package/dist/helpers/index.js +22 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/middleware/AccessLoggerMiddleware.d.ts +6 -0
- package/dist/middleware/AccessLoggerMiddleware.js +64 -0
- package/dist/middleware/AccessLoggerMiddleware.js.map +1 -0
- package/dist/middleware/AuthenticationMiddleware.d.ts +5 -0
- package/dist/middleware/AuthenticationMiddleware.js +19 -0
- package/dist/middleware/AuthenticationMiddleware.js.map +1 -0
- package/dist/middleware/TenantMiddleware.d.ts +14 -0
- package/dist/middleware/TenantMiddleware.js +49 -0
- package/dist/middleware/TenantMiddleware.js.map +1 -0
- package/dist/middleware/index.d.ts +3 -0
- package/dist/middleware/index.js +20 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/common.type.d.ts +15 -0
- package/dist/types/common.type.js +18 -1
- package/dist/types/common.type.js.map +1 -1
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.js +25 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/mortgage-fsm.type.d.ts +180 -0
- package/dist/types/mortgage-fsm.type.js +130 -0
- package/dist/types/mortgage-fsm.type.js.map +1 -0
- package/dist/types/permission.enums.d.ts +42 -0
- package/dist/types/permission.enums.js +47 -0
- package/dist/types/permission.enums.js.map +1 -0
- package/dist/types/permission.type.d.ts +42 -0
- package/dist/types/permission.type.js +47 -0
- package/dist/types/permission.type.js.map +1 -0
- package/{types/policy.types.ts → dist/types/policy.type.d.ts} +0 -3
- package/dist/types/policy.type.js +3 -0
- package/dist/types/policy.type.js.map +1 -0
- package/dist/types/tenant.type.d.ts +13 -0
- package/dist/types/tenant.type.js +19 -0
- package/dist/types/tenant.type.js.map +1 -0
- package/dist/types/user.type.d.ts +10 -0
- package/dist/types/user.type.js +16 -0
- package/dist/types/user.type.js.map +1 -0
- package/package.json +52 -4
- package/OpenApiHelper.ts +0 -121
- package/decorator/permission.decorator.ts +0 -4
- package/decorator/tenant.decorator.ts +0 -16
- package/entities/BaseEntity.ts +0 -34
- package/entities/TenantAwareEntity.ts +0 -34
- package/entities/TenantAwareRepository.ts +0 -100
- package/entities/amenity.entity.ts +0 -10
- package/entities/common.entity.ts +0 -46
- package/entities/common.pure.entity.ts +0 -36
- package/entities/index.ts +0 -27
- package/entities/mortgage-document.entity.ts +0 -37
- package/entities/mortgage-downpayment-installment.entity.ts +0 -40
- package/entities/mortgage-downpayment-payment.entity.ts +0 -61
- package/entities/mortgage-downpayment.entity.ts +0 -43
- package/entities/mortgage-step.entity.ts +0 -33
- package/entities/mortgage-type.entity.ts +0 -31
- package/entities/mortgage.entity.ts +0 -89
- package/entities/password_reset_tokens.entity.ts +0 -25
- package/entities/permission.entity.ts +0 -12
- package/entities/property-document.entity.ts +0 -21
- package/entities/property-media.entity.ts +0 -23
- package/entities/property.entity.ts +0 -147
- package/entities/refresh_token.entity.ts +0 -16
- package/entities/role.entity.ts +0 -20
- package/entities/settings.entity.ts +0 -56
- package/entities/social.entity.ts +0 -27
- package/entities/tenant.entity.ts +0 -65
- package/entities/transaction.entity.ts +0 -56
- package/entities/user.entity.ts +0 -89
- package/entities/user_suspensions.entity.ts +0 -24
- package/entities/wallet.entity.ts +0 -54
- package/guard/permission.guard.ts +0 -42
- package/guard/swagger-auth.guard.ts +0 -9
- package/helpers/ArrayHelper.ts +0 -1
- package/helpers/CustomNamingStrategy.ts +0 -27
- package/helpers/DateHelper.ts +0 -21
- package/helpers/EmailHelper.ts +0 -38
- package/helpers/FileSystemHelper.ts +0 -101
- package/index.ts +0 -9
- package/middleware/TenantMiddleware.ts +0 -52
- package/pagination/index.ts +0 -2
- package/pagination/pagination.helper.ts +0 -57
- package/pagination/pagination.types.ts +0 -21
- package/standard-response.ts +0 -16
- package/tsconfig.json +0 -33
- package/types/common.type.ts +0 -32
- package/types/mortgage-fsm.types.ts +0 -279
- package/types/property.type.ts +0 -10
- package/types/social.enums.ts +0 -17
- package/types/tenant.enums.ts +0 -14
- package/types/transaction.type.ts +0 -9
- package/types/user.enums.ts +0 -11
package/types/common.type.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
export enum DocumentStatus {
|
|
2
|
-
APPROVED = 'APPROVED',
|
|
3
|
-
PENDING = 'PENDING',
|
|
4
|
-
DECLINED = 'DECLINED',
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
export enum Status {
|
|
8
|
-
APPROVED = 'APPROVED',
|
|
9
|
-
PENDING = 'PENDING',
|
|
10
|
-
DECLINED = 'DECLINED',
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export interface IDocument {
|
|
14
|
-
url: string;
|
|
15
|
-
name: string;
|
|
16
|
-
description: string;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export class PaginatedData {
|
|
20
|
-
total: number;
|
|
21
|
-
|
|
22
|
-
totalPages: number;
|
|
23
|
-
|
|
24
|
-
currentPage: number;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export enum Frequency {
|
|
28
|
-
MONTHLY = 'MONTHLY',
|
|
29
|
-
YEARLY = 'YEARLY',
|
|
30
|
-
ONE_TIME = 'ONE_TIME',
|
|
31
|
-
DAILY = 'DAILY',
|
|
32
|
-
}
|
|
@@ -1,279 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Comprehensive Mortgage Lifecycle States
|
|
3
|
-
* Following industry standards for mortgage servicing
|
|
4
|
-
*/
|
|
5
|
-
export enum MortgageState {
|
|
6
|
-
// Application Phase
|
|
7
|
-
DRAFT = 'DRAFT', // Initial application being filled
|
|
8
|
-
SUBMITTED = 'SUBMITTED', // Application submitted for review
|
|
9
|
-
|
|
10
|
-
// Pre-Approval Phase
|
|
11
|
-
PRE_QUALIFICATION = 'PRE_QUALIFICATION', // Initial assessment
|
|
12
|
-
DOCUMENT_COLLECTION = 'DOCUMENT_COLLECTION', // Gathering required documents
|
|
13
|
-
|
|
14
|
-
// Underwriting Phase
|
|
15
|
-
UNDERWRITING = 'UNDERWRITING', // Full underwriting in progress
|
|
16
|
-
APPRAISAL_ORDERED = 'APPRAISAL_ORDERED', // Property appraisal ordered
|
|
17
|
-
APPRAISAL_REVIEW = 'APPRAISAL_REVIEW', // Reviewing appraisal results
|
|
18
|
-
CONDITIONAL_APPROVAL = 'CONDITIONAL_APPROVAL', // Approved with conditions
|
|
19
|
-
|
|
20
|
-
// Approval Phase
|
|
21
|
-
APPROVED = 'APPROVED', // Fully approved, awaiting closing
|
|
22
|
-
CLOSING_SCHEDULED = 'CLOSING_SCHEDULED', // Closing date set
|
|
23
|
-
|
|
24
|
-
// Downpayment Phase
|
|
25
|
-
AWAITING_DOWNPAYMENT = 'AWAITING_DOWNPAYMENT', // Waiting for down payment
|
|
26
|
-
DOWNPAYMENT_PARTIAL = 'DOWNPAYMENT_PARTIAL', // Partial down payment received
|
|
27
|
-
DOWNPAYMENT_COMPLETE = 'DOWNPAYMENT_COMPLETE', // Full down payment received
|
|
28
|
-
|
|
29
|
-
// Active Phase
|
|
30
|
-
ACTIVE = 'ACTIVE', // Mortgage is active and current
|
|
31
|
-
CURRENT = 'CURRENT', // All payments up to date (alias for ACTIVE)
|
|
32
|
-
|
|
33
|
-
// Delinquency States
|
|
34
|
-
DELINQUENT_30 = 'DELINQUENT_30', // 30 days past due
|
|
35
|
-
DELINQUENT_60 = 'DELINQUENT_60', // 60 days past due
|
|
36
|
-
DELINQUENT_90 = 'DELINQUENT_90', // 90 days past due
|
|
37
|
-
DELINQUENT_120_PLUS = 'DELINQUENT_120_PLUS', // 120+ days past due
|
|
38
|
-
|
|
39
|
-
// Default & Loss Mitigation
|
|
40
|
-
DEFAULT = 'DEFAULT', // In default
|
|
41
|
-
FORBEARANCE = 'FORBEARANCE', // Payment forbearance granted
|
|
42
|
-
MODIFICATION = 'MODIFICATION', // Loan modification in progress
|
|
43
|
-
SHORT_SALE = 'SHORT_SALE', // Short sale approved
|
|
44
|
-
|
|
45
|
-
// Foreclosure Process
|
|
46
|
-
FORECLOSURE_INITIATED = 'FORECLOSURE_INITIATED', // Foreclosure started
|
|
47
|
-
FORECLOSURE_PENDING = 'FORECLOSURE_PENDING', // Foreclosure in progress
|
|
48
|
-
FORECLOSED = 'FORECLOSED', // Property foreclosed
|
|
49
|
-
REO = 'REO', // Real Estate Owned (bank-owned)
|
|
50
|
-
|
|
51
|
-
// Completion States
|
|
52
|
-
PAID_OFF = 'PAID_OFF', // Fully paid off
|
|
53
|
-
REFINANCED = 'REFINANCED', // Refinanced to new loan
|
|
54
|
-
|
|
55
|
-
// Termination States
|
|
56
|
-
CANCELLED = 'CANCELLED', // Application cancelled
|
|
57
|
-
REJECTED = 'REJECTED', // Application rejected
|
|
58
|
-
WITHDRAWN = 'WITHDRAWN', // Withdrawn by borrower
|
|
59
|
-
SUSPENDED = 'SUSPENDED', // Temporarily suspended
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Events that trigger state transitions
|
|
64
|
-
*/
|
|
65
|
-
export enum MortgageEvent {
|
|
66
|
-
// Application Events
|
|
67
|
-
SUBMIT_APPLICATION = 'SUBMIT_APPLICATION',
|
|
68
|
-
REQUEST_DOCUMENTS = 'REQUEST_DOCUMENTS',
|
|
69
|
-
DOCUMENTS_SUBMITTED = 'DOCUMENTS_SUBMITTED',
|
|
70
|
-
|
|
71
|
-
// Underwriting Events
|
|
72
|
-
START_UNDERWRITING = 'START_UNDERWRITING',
|
|
73
|
-
ORDER_APPRAISAL = 'ORDER_APPRAISAL',
|
|
74
|
-
APPRAISAL_COMPLETED = 'APPRAISAL_COMPLETED',
|
|
75
|
-
APPRAISAL_APPROVED = 'APPRAISAL_APPROVED',
|
|
76
|
-
APPRAISAL_REJECTED = 'APPRAISAL_REJECTED',
|
|
77
|
-
REQUEST_CONDITIONS = 'REQUEST_CONDITIONS',
|
|
78
|
-
CONDITIONS_MET = 'CONDITIONS_MET',
|
|
79
|
-
|
|
80
|
-
// Approval Events
|
|
81
|
-
APPROVE = 'APPROVE',
|
|
82
|
-
REJECT = 'REJECT',
|
|
83
|
-
SCHEDULE_CLOSING = 'SCHEDULE_CLOSING',
|
|
84
|
-
|
|
85
|
-
// Downpayment Events
|
|
86
|
-
REQUEST_DOWNPAYMENT = 'REQUEST_DOWNPAYMENT',
|
|
87
|
-
RECEIVE_PARTIAL_DOWNPAYMENT = 'RECEIVE_PARTIAL_DOWNPAYMENT',
|
|
88
|
-
RECEIVE_FULL_DOWNPAYMENT = 'RECEIVE_FULL_DOWNPAYMENT',
|
|
89
|
-
|
|
90
|
-
// Activation Events
|
|
91
|
-
ACTIVATE = 'ACTIVATE',
|
|
92
|
-
DISBURSE_FUNDS = 'DISBURSE_FUNDS',
|
|
93
|
-
|
|
94
|
-
// Payment Events
|
|
95
|
-
RECEIVE_PAYMENT = 'RECEIVE_PAYMENT',
|
|
96
|
-
MISS_PAYMENT = 'MISS_PAYMENT',
|
|
97
|
-
MARK_DELINQUENT = 'MARK_DELINQUENT',
|
|
98
|
-
CURE_DELINQUENCY = 'CURE_DELINQUENCY',
|
|
99
|
-
|
|
100
|
-
// Default & Mitigation Events
|
|
101
|
-
DECLARE_DEFAULT = 'DECLARE_DEFAULT',
|
|
102
|
-
GRANT_FORBEARANCE = 'GRANT_FORBEARANCE',
|
|
103
|
-
APPROVE_MODIFICATION = 'APPROVE_MODIFICATION',
|
|
104
|
-
APPROVE_SHORT_SALE = 'APPROVE_SHORT_SALE',
|
|
105
|
-
|
|
106
|
-
// Foreclosure Events
|
|
107
|
-
INITIATE_FORECLOSURE = 'INITIATE_FORECLOSURE',
|
|
108
|
-
FORECLOSE = 'FORECLOSE',
|
|
109
|
-
CONVERT_TO_REO = 'CONVERT_TO_REO',
|
|
110
|
-
|
|
111
|
-
// Completion Events
|
|
112
|
-
PAY_OFF = 'PAY_OFF',
|
|
113
|
-
REFINANCE = 'REFINANCE',
|
|
114
|
-
|
|
115
|
-
// Termination Events
|
|
116
|
-
CANCEL = 'CANCEL',
|
|
117
|
-
WITHDRAW = 'WITHDRAW',
|
|
118
|
-
SUSPEND = 'SUSPEND',
|
|
119
|
-
RESUME = 'RESUME',
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Side effects / Actions executed during transitions
|
|
124
|
-
*/
|
|
125
|
-
export enum MortgageAction {
|
|
126
|
-
// Notification Actions
|
|
127
|
-
NOTIFY_BORROWER = 'NOTIFY_BORROWER',
|
|
128
|
-
NOTIFY_UNDERWRITER = 'NOTIFY_UNDERWRITER',
|
|
129
|
-
NOTIFY_CLOSER = 'NOTIFY_CLOSER',
|
|
130
|
-
NOTIFY_COLLECTIONS = 'NOTIFY_COLLECTIONS',
|
|
131
|
-
NOTIFY_LEGAL = 'NOTIFY_LEGAL',
|
|
132
|
-
SEND_EMAIL = 'SEND_EMAIL',
|
|
133
|
-
SEND_SMS = 'SEND_SMS',
|
|
134
|
-
|
|
135
|
-
// Document Actions
|
|
136
|
-
REQUEST_DOCUMENTS = 'REQUEST_DOCUMENTS',
|
|
137
|
-
GENERATE_AGREEMENT = 'GENERATE_AGREEMENT',
|
|
138
|
-
GENERATE_APPROVAL_LETTER = 'GENERATE_APPROVAL_LETTER',
|
|
139
|
-
GENERATE_CLOSING_DISCLOSURE = 'GENERATE_CLOSING_DISCLOSURE',
|
|
140
|
-
GENERATE_CLOSING_DOCS = 'GENERATE_CLOSING_DOCS',
|
|
141
|
-
GENERATE_PROMISSORY_NOTE = 'GENERATE_PROMISSORY_NOTE',
|
|
142
|
-
REQUEST_TITLE_INSURANCE = 'REQUEST_TITLE_INSURANCE',
|
|
143
|
-
|
|
144
|
-
// Appraisal & Inspection Actions
|
|
145
|
-
ORDER_APPRAISAL = 'ORDER_APPRAISAL',
|
|
146
|
-
REQUEST_INSPECTION = 'REQUEST_INSPECTION',
|
|
147
|
-
|
|
148
|
-
// Credit & Verification Actions
|
|
149
|
-
RUN_CREDIT_CHECK = 'RUN_CREDIT_CHECK',
|
|
150
|
-
VERIFY_INCOME = 'VERIFY_INCOME',
|
|
151
|
-
VERIFY_EMPLOYMENT = 'VERIFY_EMPLOYMENT',
|
|
152
|
-
VERIFY_INSURANCE = 'VERIFY_INSURANCE',
|
|
153
|
-
|
|
154
|
-
// Financial Actions
|
|
155
|
-
CALCULATE_PAYMENT_SCHEDULE = 'CALCULATE_PAYMENT_SCHEDULE',
|
|
156
|
-
SETUP_PAYMENT_SCHEDULE = 'SETUP_PAYMENT_SCHEDULE',
|
|
157
|
-
DISBURSE_LOAN_AMOUNT = 'DISBURSE_LOAN_AMOUNT',
|
|
158
|
-
DISBURSE_FUNDS = 'DISBURSE_FUNDS',
|
|
159
|
-
PROCESS_PAYMENT = 'PROCESS_PAYMENT',
|
|
160
|
-
RECORD_PAYMENT = 'RECORD_PAYMENT',
|
|
161
|
-
REFUND_PAYMENT = 'REFUND_PAYMENT',
|
|
162
|
-
ASSESS_LATE_FEE = 'ASSESS_LATE_FEE',
|
|
163
|
-
UPDATE_CREDIT_BUREAU = 'UPDATE_CREDIT_BUREAU',
|
|
164
|
-
FREEZE_ACCOUNT = 'FREEZE_ACCOUNT',
|
|
165
|
-
|
|
166
|
-
// Process Actions
|
|
167
|
-
ASSIGN_UNDERWRITER = 'ASSIGN_UNDERWRITER',
|
|
168
|
-
ORDER_TITLE_SEARCH = 'ORDER_TITLE_SEARCH',
|
|
169
|
-
SCHEDULE_INSPECTION = 'SCHEDULE_INSPECTION',
|
|
170
|
-
CREATE_ESCROW_ACCOUNT = 'CREATE_ESCROW_ACCOUNT',
|
|
171
|
-
SETUP_ESCROW = 'SETUP_ESCROW',
|
|
172
|
-
RECORD_LIEN = 'RECORD_LIEN',
|
|
173
|
-
RELEASE_LIEN = 'RELEASE_LIEN',
|
|
174
|
-
|
|
175
|
-
// Legal Actions
|
|
176
|
-
INITIATE_FORECLOSURE = 'INITIATE_FORECLOSURE',
|
|
177
|
-
SCHEDULE_AUCTION = 'SCHEDULE_AUCTION',
|
|
178
|
-
|
|
179
|
-
// Compliance Actions
|
|
180
|
-
LOG_AUDIT_TRAIL = 'LOG_AUDIT_TRAIL',
|
|
181
|
-
VERIFY_COMPLIANCE = 'VERIFY_COMPLIANCE',
|
|
182
|
-
GENERATE_REGULATORY_REPORT = 'GENERATE_REGULATORY_REPORT',
|
|
183
|
-
REPORT_TO_REGULATOR = 'REPORT_TO_REGULATOR',
|
|
184
|
-
|
|
185
|
-
// Analytics Actions
|
|
186
|
-
UPDATE_ANALYTICS = 'UPDATE_ANALYTICS',
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
/**
|
|
190
|
-
* Context data passed through FSM transitions
|
|
191
|
-
*/
|
|
192
|
-
export interface MortgageFSMContext {
|
|
193
|
-
mortgageId: number;
|
|
194
|
-
borrowerId: number;
|
|
195
|
-
propertyId: number;
|
|
196
|
-
principal: number;
|
|
197
|
-
downPayment: number;
|
|
198
|
-
downPaymentReceived?: number;
|
|
199
|
-
interestRate: number;
|
|
200
|
-
termMonths: number;
|
|
201
|
-
|
|
202
|
-
// Timestamps
|
|
203
|
-
submittedAt?: Date;
|
|
204
|
-
approvedAt?: Date;
|
|
205
|
-
activatedAt?: Date;
|
|
206
|
-
paidOffAt?: Date;
|
|
207
|
-
|
|
208
|
-
// Payment tracking
|
|
209
|
-
lastPaymentDate?: Date;
|
|
210
|
-
nextPaymentDate?: Date;
|
|
211
|
-
daysPastDue?: number;
|
|
212
|
-
totalPaid?: number;
|
|
213
|
-
remainingBalance?: number;
|
|
214
|
-
|
|
215
|
-
// Document tracking
|
|
216
|
-
documentsComplete?: boolean;
|
|
217
|
-
appraisalValue?: number;
|
|
218
|
-
appraisalDate?: Date;
|
|
219
|
-
|
|
220
|
-
// Conditions
|
|
221
|
-
conditions?: string[];
|
|
222
|
-
conditionsMet?: boolean;
|
|
223
|
-
|
|
224
|
-
// Metadata
|
|
225
|
-
metadata?: Record<string, any>;
|
|
226
|
-
error?: string;
|
|
227
|
-
triggeredBy?: string; // User or system that triggered transition
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
/**
|
|
231
|
-
* Guard conditions for transitions
|
|
232
|
-
*/
|
|
233
|
-
export interface TransitionGuard {
|
|
234
|
-
name: string;
|
|
235
|
-
check: (context: MortgageFSMContext) => boolean | Promise<boolean>;
|
|
236
|
-
errorMessage?: string;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
/**
|
|
240
|
-
* Action to execute during transition
|
|
241
|
-
*/
|
|
242
|
-
export interface TransitionAction {
|
|
243
|
-
name: string;
|
|
244
|
-
execute: (context: MortgageFSMContext) => Promise<void>;
|
|
245
|
-
rollback?: (context: MortgageFSMContext) => Promise<void>;
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
/**
|
|
249
|
-
* Complete state transition definition
|
|
250
|
-
*/
|
|
251
|
-
export interface StateTransition {
|
|
252
|
-
from: MortgageState | MortgageState[];
|
|
253
|
-
to: MortgageState;
|
|
254
|
-
event: MortgageEvent;
|
|
255
|
-
guards?: TransitionGuard[];
|
|
256
|
-
actions?: TransitionAction[];
|
|
257
|
-
description?: string;
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
/**
|
|
261
|
-
* State change event for audit/event sourcing
|
|
262
|
-
*/
|
|
263
|
-
export interface MortgageStateChangeEvent {
|
|
264
|
-
mortgageId: number;
|
|
265
|
-
fromState: MortgageState;
|
|
266
|
-
toState: MortgageState;
|
|
267
|
-
event: MortgageEvent;
|
|
268
|
-
context: MortgageFSMContext;
|
|
269
|
-
timestamp: Date;
|
|
270
|
-
triggeredBy: string;
|
|
271
|
-
success: boolean;
|
|
272
|
-
error?: string;
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
export default {
|
|
276
|
-
MortgageState,
|
|
277
|
-
MortgageEvent,
|
|
278
|
-
MortgageAction,
|
|
279
|
-
};
|
package/types/property.type.ts
DELETED
package/types/social.enums.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export enum PropertyCategory {
|
|
2
|
-
RENT = 'RENT',
|
|
3
|
-
SALE = 'SALE',
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
export enum PropertyType {
|
|
7
|
-
APARTMENT = 'APARTMENT',
|
|
8
|
-
HOUSE = 'HOUSE',
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export enum Currency {
|
|
12
|
-
USD = 'USD',
|
|
13
|
-
EUR = 'EUR',
|
|
14
|
-
GBP = 'GBP',
|
|
15
|
-
JPY = 'JPY',
|
|
16
|
-
NGN = 'NGN',
|
|
17
|
-
}
|
package/types/tenant.enums.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export enum TenantStatus {
|
|
2
|
-
ACTIVE = 'active',
|
|
3
|
-
SUSPENDED = 'suspended',
|
|
4
|
-
PENDING = 'pending',
|
|
5
|
-
TRIAL = 'trial',
|
|
6
|
-
CANCELLED = 'cancelled'
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export enum TenantPlan {
|
|
10
|
-
FREE = 'free',
|
|
11
|
-
BASIC = 'basic',
|
|
12
|
-
PREMIUM = 'premium',
|
|
13
|
-
ENTERPRISE = 'enterprise'
|
|
14
|
-
}
|