@valentine-efagene/qshelter-common 1.0.0
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/OpenApiHelper.ts +121 -0
- package/decorator/permission.decorator.ts +4 -0
- package/decorator/tenant.decorator.ts +16 -0
- package/dist/entities/BaseEntity.d.ts +11 -0
- package/dist/entities/BaseEntity.js +54 -0
- package/dist/entities/BaseEntity.js.map +1 -0
- package/dist/entities/TenantAwareEntity.d.ts +10 -0
- package/dist/entities/TenantAwareEntity.js +52 -0
- package/dist/entities/TenantAwareEntity.js.map +1 -0
- package/dist/entities/TenantAwareRepository.d.ts +13 -0
- package/dist/entities/TenantAwareRepository.js +65 -0
- package/dist/entities/TenantAwareRepository.js.map +1 -0
- package/dist/entities/amenity.entity.d.ts +4 -0
- package/dist/entities/amenity.entity.js +27 -0
- package/dist/entities/amenity.entity.js.map +1 -0
- package/dist/entities/common.entity.d.ts +17 -0
- package/dist/entities/common.entity.js +63 -0
- package/dist/entities/common.entity.js.map +1 -0
- package/dist/entities/common.pure.entity.d.ts +11 -0
- package/dist/entities/common.pure.entity.js +51 -0
- package/dist/entities/common.pure.entity.js.map +1 -0
- package/dist/entities/index.d.ts +27 -0
- package/dist/entities/index.js +44 -0
- package/dist/entities/index.js.map +1 -0
- package/dist/entities/mortgage-document.entity.d.ts +14 -0
- package/dist/entities/mortgage-document.entity.js +58 -0
- package/dist/entities/mortgage-document.entity.js.map +1 -0
- package/dist/entities/mortgage-downpayment-installment.entity.d.ts +19 -0
- package/dist/entities/mortgage-downpayment-installment.entity.js +63 -0
- package/dist/entities/mortgage-downpayment-installment.entity.js.map +1 -0
- package/dist/entities/mortgage-downpayment-payment.entity.d.ts +28 -0
- package/dist/entities/mortgage-downpayment-payment.entity.js +84 -0
- package/dist/entities/mortgage-downpayment-payment.entity.js.map +1 -0
- package/dist/entities/mortgage-downpayment.entity.d.ts +22 -0
- package/dist/entities/mortgage-downpayment.entity.js +66 -0
- package/dist/entities/mortgage-downpayment.entity.js.map +1 -0
- package/dist/entities/mortgage-step.entity.d.ts +12 -0
- package/dist/entities/mortgage-step.entity.js +52 -0
- package/dist/entities/mortgage-step.entity.js.map +1 -0
- package/dist/entities/mortgage-type.entity.d.ts +10 -0
- package/dist/entities/mortgage-type.entity.js +46 -0
- package/dist/entities/mortgage-type.entity.js.map +1 -0
- package/dist/entities/mortgage.entity.d.ts +37 -0
- package/dist/entities/mortgage.entity.js +124 -0
- package/dist/entities/mortgage.entity.js.map +1 -0
- package/dist/entities/password_reset_tokens.entity.d.ts +7 -0
- package/dist/entities/password_reset_tokens.entity.js +43 -0
- package/dist/entities/password_reset_tokens.entity.js.map +1 -0
- package/dist/entities/permission.entity.d.ts +6 -0
- package/dist/entities/permission.entity.js +30 -0
- package/dist/entities/permission.entity.js.map +1 -0
- package/dist/entities/property-document.entity.d.ts +6 -0
- package/dist/entities/property-document.entity.js +34 -0
- package/dist/entities/property-document.entity.js.map +1 -0
- package/dist/entities/property-media.entity.d.ts +6 -0
- package/dist/entities/property-media.entity.js +36 -0
- package/dist/entities/property-media.entity.js.map +1 -0
- package/dist/entities/property.entity.d.ts +36 -0
- package/dist/entities/property.entity.js +182 -0
- package/dist/entities/property.entity.js.map +1 -0
- package/dist/entities/refresh_token.entity.d.ts +7 -0
- package/dist/entities/refresh_token.entity.js +35 -0
- package/dist/entities/refresh_token.entity.js.map +1 -0
- package/dist/entities/role.entity.d.ts +8 -0
- package/dist/entities/role.entity.js +39 -0
- package/dist/entities/role.entity.js.map +1 -0
- package/dist/entities/settings.entity.d.ts +17 -0
- package/dist/entities/settings.entity.js +79 -0
- package/dist/entities/settings.entity.js.map +1 -0
- package/dist/entities/social.entity.d.ts +8 -0
- package/dist/entities/social.entity.js +46 -0
- package/dist/entities/social.entity.js.map +1 -0
- package/dist/entities/tenant.entity.d.ts +29 -0
- package/dist/entities/tenant.entity.js +82 -0
- package/dist/entities/tenant.entity.js.map +1 -0
- package/dist/entities/transaction.entity.d.ts +17 -0
- package/dist/entities/transaction.entity.js +84 -0
- package/dist/entities/transaction.entity.js.map +1 -0
- package/dist/entities/user.entity.d.ts +26 -0
- package/dist/entities/user.entity.js +103 -0
- package/dist/entities/user.entity.js.map +1 -0
- package/dist/entities/user_suspensions.entity.d.ts +7 -0
- package/dist/entities/user_suspensions.entity.js +42 -0
- package/dist/entities/user_suspensions.entity.js.map +1 -0
- package/dist/entities/wallet.entity.d.ts +17 -0
- package/dist/entities/wallet.entity.js +79 -0
- package/dist/entities/wallet.entity.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/pagination/index.d.ts +2 -0
- package/dist/pagination/index.js +19 -0
- package/dist/pagination/index.js.map +1 -0
- package/dist/pagination/pagination.helper.d.ts +7 -0
- package/dist/pagination/pagination.helper.js +40 -0
- package/dist/pagination/pagination.helper.js.map +1 -0
- package/dist/pagination/pagination.types.d.ts +19 -0
- package/dist/pagination/pagination.types.js +3 -0
- package/dist/pagination/pagination.types.js.map +1 -0
- package/dist/standard-response.d.ts +7 -0
- package/dist/standard-response.js +27 -0
- package/dist/standard-response.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/common.type.d.ts +26 -0
- package/dist/types/common.type.js +26 -0
- package/dist/types/common.type.js.map +1 -0
- package/dist/types/mortgage-fsm.types.d.ts +180 -0
- package/dist/types/mortgage-fsm.types.js +130 -0
- package/dist/types/mortgage-fsm.types.js.map +1 -0
- package/dist/types/policy.types.d.ts +18 -0
- package/dist/types/policy.types.js +3 -0
- package/dist/types/policy.types.js.map +1 -0
- package/dist/types/property.type.d.ts +9 -0
- package/dist/types/property.type.js +15 -0
- package/dist/types/property.type.js.map +1 -0
- package/dist/types/social.enums.d.ts +15 -0
- package/dist/types/social.enums.js +22 -0
- package/dist/types/social.enums.js.map +1 -0
- package/dist/types/tenant.enums.d.ts +13 -0
- package/dist/types/tenant.enums.js +19 -0
- package/dist/types/tenant.enums.js.map +1 -0
- package/dist/types/transaction.type.d.ts +8 -0
- package/dist/types/transaction.type.js +14 -0
- package/dist/types/transaction.type.js.map +1 -0
- package/dist/types/user.enums.d.ts +10 -0
- package/dist/types/user.enums.js +16 -0
- package/dist/types/user.enums.js.map +1 -0
- package/entities/BaseEntity.ts +34 -0
- package/entities/TenantAwareEntity.ts +34 -0
- package/entities/TenantAwareRepository.ts +100 -0
- package/entities/amenity.entity.ts +10 -0
- package/entities/common.entity.ts +46 -0
- package/entities/common.pure.entity.ts +36 -0
- package/entities/index.ts +27 -0
- package/entities/mortgage-document.entity.ts +37 -0
- package/entities/mortgage-downpayment-installment.entity.ts +40 -0
- package/entities/mortgage-downpayment-payment.entity.ts +61 -0
- package/entities/mortgage-downpayment.entity.ts +43 -0
- package/entities/mortgage-step.entity.ts +33 -0
- package/entities/mortgage-type.entity.ts +31 -0
- package/entities/mortgage.entity.ts +89 -0
- package/entities/password_reset_tokens.entity.ts +25 -0
- package/entities/permission.entity.ts +12 -0
- package/entities/property-document.entity.ts +21 -0
- package/entities/property-media.entity.ts +23 -0
- package/entities/property.entity.ts +147 -0
- package/entities/refresh_token.entity.ts +16 -0
- package/entities/role.entity.ts +20 -0
- package/entities/settings.entity.ts +56 -0
- package/entities/social.entity.ts +27 -0
- package/entities/tenant.entity.ts +65 -0
- package/entities/transaction.entity.ts +56 -0
- package/entities/user.entity.ts +89 -0
- package/entities/user_suspensions.entity.ts +24 -0
- package/entities/wallet.entity.ts +54 -0
- package/guard/permission.guard.ts +42 -0
- package/guard/swagger-auth.guard.ts +9 -0
- package/helpers/ArrayHelper.ts +1 -0
- package/helpers/ConstantHelper.ts +101 -0
- package/helpers/CustomNamingStrategy.ts +27 -0
- package/helpers/DateHelper.ts +21 -0
- package/helpers/EmailHelper.ts +38 -0
- package/helpers/FileSystemHelper.ts +101 -0
- package/index.ts +9 -0
- package/middleware/TenantMiddleware.ts +52 -0
- package/package.json +46 -0
- package/pagination/index.ts +2 -0
- package/pagination/pagination.helper.ts +57 -0
- package/pagination/pagination.types.ts +21 -0
- package/standard-response.ts +16 -0
- package/tsconfig.json +33 -0
- package/types/common.type.ts +32 -0
- package/types/mortgage-fsm.types.ts +279 -0
- package/types/policy.types.ts +21 -0
- package/types/property.type.ts +10 -0
- package/types/social.enums.ts +17 -0
- package/types/tenant.enums.ts +14 -0
- package/types/transaction.type.ts +9 -0
- package/types/user.enums.ts +11 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare enum DocumentStatus {
|
|
2
|
+
APPROVED = "APPROVED",
|
|
3
|
+
PENDING = "PENDING",
|
|
4
|
+
DECLINED = "DECLINED"
|
|
5
|
+
}
|
|
6
|
+
export declare enum Status {
|
|
7
|
+
APPROVED = "APPROVED",
|
|
8
|
+
PENDING = "PENDING",
|
|
9
|
+
DECLINED = "DECLINED"
|
|
10
|
+
}
|
|
11
|
+
export interface IDocument {
|
|
12
|
+
url: string;
|
|
13
|
+
name: string;
|
|
14
|
+
description: string;
|
|
15
|
+
}
|
|
16
|
+
export declare class PaginatedData {
|
|
17
|
+
total: number;
|
|
18
|
+
totalPages: number;
|
|
19
|
+
currentPage: number;
|
|
20
|
+
}
|
|
21
|
+
export declare enum Frequency {
|
|
22
|
+
MONTHLY = "MONTHLY",
|
|
23
|
+
YEARLY = "YEARLY",
|
|
24
|
+
ONE_TIME = "ONE_TIME",
|
|
25
|
+
DAILY = "DAILY"
|
|
26
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Frequency = exports.PaginatedData = exports.Status = exports.DocumentStatus = void 0;
|
|
4
|
+
var DocumentStatus;
|
|
5
|
+
(function (DocumentStatus) {
|
|
6
|
+
DocumentStatus["APPROVED"] = "APPROVED";
|
|
7
|
+
DocumentStatus["PENDING"] = "PENDING";
|
|
8
|
+
DocumentStatus["DECLINED"] = "DECLINED";
|
|
9
|
+
})(DocumentStatus || (exports.DocumentStatus = DocumentStatus = {}));
|
|
10
|
+
var Status;
|
|
11
|
+
(function (Status) {
|
|
12
|
+
Status["APPROVED"] = "APPROVED";
|
|
13
|
+
Status["PENDING"] = "PENDING";
|
|
14
|
+
Status["DECLINED"] = "DECLINED";
|
|
15
|
+
})(Status || (exports.Status = Status = {}));
|
|
16
|
+
class PaginatedData {
|
|
17
|
+
}
|
|
18
|
+
exports.PaginatedData = PaginatedData;
|
|
19
|
+
var Frequency;
|
|
20
|
+
(function (Frequency) {
|
|
21
|
+
Frequency["MONTHLY"] = "MONTHLY";
|
|
22
|
+
Frequency["YEARLY"] = "YEARLY";
|
|
23
|
+
Frequency["ONE_TIME"] = "ONE_TIME";
|
|
24
|
+
Frequency["DAILY"] = "DAILY";
|
|
25
|
+
})(Frequency || (exports.Frequency = Frequency = {}));
|
|
26
|
+
//# sourceMappingURL=common.type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.type.js","sourceRoot":"","sources":["../../types/common.type.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,qCAAmB,CAAA;IACnB,uCAAqB,CAAA;AACvB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAED,IAAY,MAIX;AAJD,WAAY,MAAM;IAChB,+BAAqB,CAAA;IACrB,6BAAmB,CAAA;IACnB,+BAAqB,CAAA;AACvB,CAAC,EAJW,MAAM,sBAAN,MAAM,QAIjB;AAQD,MAAa,aAAa;CAMzB;AAND,sCAMC;AAED,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,gCAAmB,CAAA;IACnB,8BAAiB,CAAA;IACjB,kCAAqB,CAAA;IACrB,4BAAe,CAAA;AACjB,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
export declare enum MortgageState {
|
|
2
|
+
DRAFT = "DRAFT",
|
|
3
|
+
SUBMITTED = "SUBMITTED",
|
|
4
|
+
PRE_QUALIFICATION = "PRE_QUALIFICATION",
|
|
5
|
+
DOCUMENT_COLLECTION = "DOCUMENT_COLLECTION",
|
|
6
|
+
UNDERWRITING = "UNDERWRITING",
|
|
7
|
+
APPRAISAL_ORDERED = "APPRAISAL_ORDERED",
|
|
8
|
+
APPRAISAL_REVIEW = "APPRAISAL_REVIEW",
|
|
9
|
+
CONDITIONAL_APPROVAL = "CONDITIONAL_APPROVAL",
|
|
10
|
+
APPROVED = "APPROVED",
|
|
11
|
+
CLOSING_SCHEDULED = "CLOSING_SCHEDULED",
|
|
12
|
+
AWAITING_DOWNPAYMENT = "AWAITING_DOWNPAYMENT",
|
|
13
|
+
DOWNPAYMENT_PARTIAL = "DOWNPAYMENT_PARTIAL",
|
|
14
|
+
DOWNPAYMENT_COMPLETE = "DOWNPAYMENT_COMPLETE",
|
|
15
|
+
ACTIVE = "ACTIVE",
|
|
16
|
+
CURRENT = "CURRENT",
|
|
17
|
+
DELINQUENT_30 = "DELINQUENT_30",
|
|
18
|
+
DELINQUENT_60 = "DELINQUENT_60",
|
|
19
|
+
DELINQUENT_90 = "DELINQUENT_90",
|
|
20
|
+
DELINQUENT_120_PLUS = "DELINQUENT_120_PLUS",
|
|
21
|
+
DEFAULT = "DEFAULT",
|
|
22
|
+
FORBEARANCE = "FORBEARANCE",
|
|
23
|
+
MODIFICATION = "MODIFICATION",
|
|
24
|
+
SHORT_SALE = "SHORT_SALE",
|
|
25
|
+
FORECLOSURE_INITIATED = "FORECLOSURE_INITIATED",
|
|
26
|
+
FORECLOSURE_PENDING = "FORECLOSURE_PENDING",
|
|
27
|
+
FORECLOSED = "FORECLOSED",
|
|
28
|
+
REO = "REO",
|
|
29
|
+
PAID_OFF = "PAID_OFF",
|
|
30
|
+
REFINANCED = "REFINANCED",
|
|
31
|
+
CANCELLED = "CANCELLED",
|
|
32
|
+
REJECTED = "REJECTED",
|
|
33
|
+
WITHDRAWN = "WITHDRAWN",
|
|
34
|
+
SUSPENDED = "SUSPENDED"
|
|
35
|
+
}
|
|
36
|
+
export declare enum MortgageEvent {
|
|
37
|
+
SUBMIT_APPLICATION = "SUBMIT_APPLICATION",
|
|
38
|
+
REQUEST_DOCUMENTS = "REQUEST_DOCUMENTS",
|
|
39
|
+
DOCUMENTS_SUBMITTED = "DOCUMENTS_SUBMITTED",
|
|
40
|
+
START_UNDERWRITING = "START_UNDERWRITING",
|
|
41
|
+
ORDER_APPRAISAL = "ORDER_APPRAISAL",
|
|
42
|
+
APPRAISAL_COMPLETED = "APPRAISAL_COMPLETED",
|
|
43
|
+
APPRAISAL_APPROVED = "APPRAISAL_APPROVED",
|
|
44
|
+
APPRAISAL_REJECTED = "APPRAISAL_REJECTED",
|
|
45
|
+
REQUEST_CONDITIONS = "REQUEST_CONDITIONS",
|
|
46
|
+
CONDITIONS_MET = "CONDITIONS_MET",
|
|
47
|
+
APPROVE = "APPROVE",
|
|
48
|
+
REJECT = "REJECT",
|
|
49
|
+
SCHEDULE_CLOSING = "SCHEDULE_CLOSING",
|
|
50
|
+
REQUEST_DOWNPAYMENT = "REQUEST_DOWNPAYMENT",
|
|
51
|
+
RECEIVE_PARTIAL_DOWNPAYMENT = "RECEIVE_PARTIAL_DOWNPAYMENT",
|
|
52
|
+
RECEIVE_FULL_DOWNPAYMENT = "RECEIVE_FULL_DOWNPAYMENT",
|
|
53
|
+
ACTIVATE = "ACTIVATE",
|
|
54
|
+
DISBURSE_FUNDS = "DISBURSE_FUNDS",
|
|
55
|
+
RECEIVE_PAYMENT = "RECEIVE_PAYMENT",
|
|
56
|
+
MISS_PAYMENT = "MISS_PAYMENT",
|
|
57
|
+
MARK_DELINQUENT = "MARK_DELINQUENT",
|
|
58
|
+
CURE_DELINQUENCY = "CURE_DELINQUENCY",
|
|
59
|
+
DECLARE_DEFAULT = "DECLARE_DEFAULT",
|
|
60
|
+
GRANT_FORBEARANCE = "GRANT_FORBEARANCE",
|
|
61
|
+
APPROVE_MODIFICATION = "APPROVE_MODIFICATION",
|
|
62
|
+
APPROVE_SHORT_SALE = "APPROVE_SHORT_SALE",
|
|
63
|
+
INITIATE_FORECLOSURE = "INITIATE_FORECLOSURE",
|
|
64
|
+
FORECLOSE = "FORECLOSE",
|
|
65
|
+
CONVERT_TO_REO = "CONVERT_TO_REO",
|
|
66
|
+
PAY_OFF = "PAY_OFF",
|
|
67
|
+
REFINANCE = "REFINANCE",
|
|
68
|
+
CANCEL = "CANCEL",
|
|
69
|
+
WITHDRAW = "WITHDRAW",
|
|
70
|
+
SUSPEND = "SUSPEND",
|
|
71
|
+
RESUME = "RESUME"
|
|
72
|
+
}
|
|
73
|
+
export declare enum MortgageAction {
|
|
74
|
+
NOTIFY_BORROWER = "NOTIFY_BORROWER",
|
|
75
|
+
NOTIFY_UNDERWRITER = "NOTIFY_UNDERWRITER",
|
|
76
|
+
NOTIFY_CLOSER = "NOTIFY_CLOSER",
|
|
77
|
+
NOTIFY_COLLECTIONS = "NOTIFY_COLLECTIONS",
|
|
78
|
+
NOTIFY_LEGAL = "NOTIFY_LEGAL",
|
|
79
|
+
SEND_EMAIL = "SEND_EMAIL",
|
|
80
|
+
SEND_SMS = "SEND_SMS",
|
|
81
|
+
REQUEST_DOCUMENTS = "REQUEST_DOCUMENTS",
|
|
82
|
+
GENERATE_AGREEMENT = "GENERATE_AGREEMENT",
|
|
83
|
+
GENERATE_APPROVAL_LETTER = "GENERATE_APPROVAL_LETTER",
|
|
84
|
+
GENERATE_CLOSING_DISCLOSURE = "GENERATE_CLOSING_DISCLOSURE",
|
|
85
|
+
GENERATE_CLOSING_DOCS = "GENERATE_CLOSING_DOCS",
|
|
86
|
+
GENERATE_PROMISSORY_NOTE = "GENERATE_PROMISSORY_NOTE",
|
|
87
|
+
REQUEST_TITLE_INSURANCE = "REQUEST_TITLE_INSURANCE",
|
|
88
|
+
ORDER_APPRAISAL = "ORDER_APPRAISAL",
|
|
89
|
+
REQUEST_INSPECTION = "REQUEST_INSPECTION",
|
|
90
|
+
RUN_CREDIT_CHECK = "RUN_CREDIT_CHECK",
|
|
91
|
+
VERIFY_INCOME = "VERIFY_INCOME",
|
|
92
|
+
VERIFY_EMPLOYMENT = "VERIFY_EMPLOYMENT",
|
|
93
|
+
VERIFY_INSURANCE = "VERIFY_INSURANCE",
|
|
94
|
+
CALCULATE_PAYMENT_SCHEDULE = "CALCULATE_PAYMENT_SCHEDULE",
|
|
95
|
+
SETUP_PAYMENT_SCHEDULE = "SETUP_PAYMENT_SCHEDULE",
|
|
96
|
+
DISBURSE_LOAN_AMOUNT = "DISBURSE_LOAN_AMOUNT",
|
|
97
|
+
DISBURSE_FUNDS = "DISBURSE_FUNDS",
|
|
98
|
+
PROCESS_PAYMENT = "PROCESS_PAYMENT",
|
|
99
|
+
RECORD_PAYMENT = "RECORD_PAYMENT",
|
|
100
|
+
REFUND_PAYMENT = "REFUND_PAYMENT",
|
|
101
|
+
ASSESS_LATE_FEE = "ASSESS_LATE_FEE",
|
|
102
|
+
UPDATE_CREDIT_BUREAU = "UPDATE_CREDIT_BUREAU",
|
|
103
|
+
FREEZE_ACCOUNT = "FREEZE_ACCOUNT",
|
|
104
|
+
ASSIGN_UNDERWRITER = "ASSIGN_UNDERWRITER",
|
|
105
|
+
ORDER_TITLE_SEARCH = "ORDER_TITLE_SEARCH",
|
|
106
|
+
SCHEDULE_INSPECTION = "SCHEDULE_INSPECTION",
|
|
107
|
+
CREATE_ESCROW_ACCOUNT = "CREATE_ESCROW_ACCOUNT",
|
|
108
|
+
SETUP_ESCROW = "SETUP_ESCROW",
|
|
109
|
+
RECORD_LIEN = "RECORD_LIEN",
|
|
110
|
+
RELEASE_LIEN = "RELEASE_LIEN",
|
|
111
|
+
INITIATE_FORECLOSURE = "INITIATE_FORECLOSURE",
|
|
112
|
+
SCHEDULE_AUCTION = "SCHEDULE_AUCTION",
|
|
113
|
+
LOG_AUDIT_TRAIL = "LOG_AUDIT_TRAIL",
|
|
114
|
+
VERIFY_COMPLIANCE = "VERIFY_COMPLIANCE",
|
|
115
|
+
GENERATE_REGULATORY_REPORT = "GENERATE_REGULATORY_REPORT",
|
|
116
|
+
REPORT_TO_REGULATOR = "REPORT_TO_REGULATOR",
|
|
117
|
+
UPDATE_ANALYTICS = "UPDATE_ANALYTICS"
|
|
118
|
+
}
|
|
119
|
+
export interface MortgageFSMContext {
|
|
120
|
+
mortgageId: number;
|
|
121
|
+
borrowerId: number;
|
|
122
|
+
propertyId: number;
|
|
123
|
+
principal: number;
|
|
124
|
+
downPayment: number;
|
|
125
|
+
downPaymentReceived?: number;
|
|
126
|
+
interestRate: number;
|
|
127
|
+
termMonths: number;
|
|
128
|
+
submittedAt?: Date;
|
|
129
|
+
approvedAt?: Date;
|
|
130
|
+
activatedAt?: Date;
|
|
131
|
+
paidOffAt?: Date;
|
|
132
|
+
lastPaymentDate?: Date;
|
|
133
|
+
nextPaymentDate?: Date;
|
|
134
|
+
daysPastDue?: number;
|
|
135
|
+
totalPaid?: number;
|
|
136
|
+
remainingBalance?: number;
|
|
137
|
+
documentsComplete?: boolean;
|
|
138
|
+
appraisalValue?: number;
|
|
139
|
+
appraisalDate?: Date;
|
|
140
|
+
conditions?: string[];
|
|
141
|
+
conditionsMet?: boolean;
|
|
142
|
+
metadata?: Record<string, any>;
|
|
143
|
+
error?: string;
|
|
144
|
+
triggeredBy?: string;
|
|
145
|
+
}
|
|
146
|
+
export interface TransitionGuard {
|
|
147
|
+
name: string;
|
|
148
|
+
check: (context: MortgageFSMContext) => boolean | Promise<boolean>;
|
|
149
|
+
errorMessage?: string;
|
|
150
|
+
}
|
|
151
|
+
export interface TransitionAction {
|
|
152
|
+
name: string;
|
|
153
|
+
execute: (context: MortgageFSMContext) => Promise<void>;
|
|
154
|
+
rollback?: (context: MortgageFSMContext) => Promise<void>;
|
|
155
|
+
}
|
|
156
|
+
export interface StateTransition {
|
|
157
|
+
from: MortgageState | MortgageState[];
|
|
158
|
+
to: MortgageState;
|
|
159
|
+
event: MortgageEvent;
|
|
160
|
+
guards?: TransitionGuard[];
|
|
161
|
+
actions?: TransitionAction[];
|
|
162
|
+
description?: string;
|
|
163
|
+
}
|
|
164
|
+
export interface MortgageStateChangeEvent {
|
|
165
|
+
mortgageId: number;
|
|
166
|
+
fromState: MortgageState;
|
|
167
|
+
toState: MortgageState;
|
|
168
|
+
event: MortgageEvent;
|
|
169
|
+
context: MortgageFSMContext;
|
|
170
|
+
timestamp: Date;
|
|
171
|
+
triggeredBy: string;
|
|
172
|
+
success: boolean;
|
|
173
|
+
error?: string;
|
|
174
|
+
}
|
|
175
|
+
declare const _default: {
|
|
176
|
+
MortgageState: typeof MortgageState;
|
|
177
|
+
MortgageEvent: typeof MortgageEvent;
|
|
178
|
+
MortgageAction: typeof MortgageAction;
|
|
179
|
+
};
|
|
180
|
+
export default _default;
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MortgageAction = exports.MortgageEvent = exports.MortgageState = void 0;
|
|
4
|
+
var MortgageState;
|
|
5
|
+
(function (MortgageState) {
|
|
6
|
+
MortgageState["DRAFT"] = "DRAFT";
|
|
7
|
+
MortgageState["SUBMITTED"] = "SUBMITTED";
|
|
8
|
+
MortgageState["PRE_QUALIFICATION"] = "PRE_QUALIFICATION";
|
|
9
|
+
MortgageState["DOCUMENT_COLLECTION"] = "DOCUMENT_COLLECTION";
|
|
10
|
+
MortgageState["UNDERWRITING"] = "UNDERWRITING";
|
|
11
|
+
MortgageState["APPRAISAL_ORDERED"] = "APPRAISAL_ORDERED";
|
|
12
|
+
MortgageState["APPRAISAL_REVIEW"] = "APPRAISAL_REVIEW";
|
|
13
|
+
MortgageState["CONDITIONAL_APPROVAL"] = "CONDITIONAL_APPROVAL";
|
|
14
|
+
MortgageState["APPROVED"] = "APPROVED";
|
|
15
|
+
MortgageState["CLOSING_SCHEDULED"] = "CLOSING_SCHEDULED";
|
|
16
|
+
MortgageState["AWAITING_DOWNPAYMENT"] = "AWAITING_DOWNPAYMENT";
|
|
17
|
+
MortgageState["DOWNPAYMENT_PARTIAL"] = "DOWNPAYMENT_PARTIAL";
|
|
18
|
+
MortgageState["DOWNPAYMENT_COMPLETE"] = "DOWNPAYMENT_COMPLETE";
|
|
19
|
+
MortgageState["ACTIVE"] = "ACTIVE";
|
|
20
|
+
MortgageState["CURRENT"] = "CURRENT";
|
|
21
|
+
MortgageState["DELINQUENT_30"] = "DELINQUENT_30";
|
|
22
|
+
MortgageState["DELINQUENT_60"] = "DELINQUENT_60";
|
|
23
|
+
MortgageState["DELINQUENT_90"] = "DELINQUENT_90";
|
|
24
|
+
MortgageState["DELINQUENT_120_PLUS"] = "DELINQUENT_120_PLUS";
|
|
25
|
+
MortgageState["DEFAULT"] = "DEFAULT";
|
|
26
|
+
MortgageState["FORBEARANCE"] = "FORBEARANCE";
|
|
27
|
+
MortgageState["MODIFICATION"] = "MODIFICATION";
|
|
28
|
+
MortgageState["SHORT_SALE"] = "SHORT_SALE";
|
|
29
|
+
MortgageState["FORECLOSURE_INITIATED"] = "FORECLOSURE_INITIATED";
|
|
30
|
+
MortgageState["FORECLOSURE_PENDING"] = "FORECLOSURE_PENDING";
|
|
31
|
+
MortgageState["FORECLOSED"] = "FORECLOSED";
|
|
32
|
+
MortgageState["REO"] = "REO";
|
|
33
|
+
MortgageState["PAID_OFF"] = "PAID_OFF";
|
|
34
|
+
MortgageState["REFINANCED"] = "REFINANCED";
|
|
35
|
+
MortgageState["CANCELLED"] = "CANCELLED";
|
|
36
|
+
MortgageState["REJECTED"] = "REJECTED";
|
|
37
|
+
MortgageState["WITHDRAWN"] = "WITHDRAWN";
|
|
38
|
+
MortgageState["SUSPENDED"] = "SUSPENDED";
|
|
39
|
+
})(MortgageState || (exports.MortgageState = MortgageState = {}));
|
|
40
|
+
var MortgageEvent;
|
|
41
|
+
(function (MortgageEvent) {
|
|
42
|
+
MortgageEvent["SUBMIT_APPLICATION"] = "SUBMIT_APPLICATION";
|
|
43
|
+
MortgageEvent["REQUEST_DOCUMENTS"] = "REQUEST_DOCUMENTS";
|
|
44
|
+
MortgageEvent["DOCUMENTS_SUBMITTED"] = "DOCUMENTS_SUBMITTED";
|
|
45
|
+
MortgageEvent["START_UNDERWRITING"] = "START_UNDERWRITING";
|
|
46
|
+
MortgageEvent["ORDER_APPRAISAL"] = "ORDER_APPRAISAL";
|
|
47
|
+
MortgageEvent["APPRAISAL_COMPLETED"] = "APPRAISAL_COMPLETED";
|
|
48
|
+
MortgageEvent["APPRAISAL_APPROVED"] = "APPRAISAL_APPROVED";
|
|
49
|
+
MortgageEvent["APPRAISAL_REJECTED"] = "APPRAISAL_REJECTED";
|
|
50
|
+
MortgageEvent["REQUEST_CONDITIONS"] = "REQUEST_CONDITIONS";
|
|
51
|
+
MortgageEvent["CONDITIONS_MET"] = "CONDITIONS_MET";
|
|
52
|
+
MortgageEvent["APPROVE"] = "APPROVE";
|
|
53
|
+
MortgageEvent["REJECT"] = "REJECT";
|
|
54
|
+
MortgageEvent["SCHEDULE_CLOSING"] = "SCHEDULE_CLOSING";
|
|
55
|
+
MortgageEvent["REQUEST_DOWNPAYMENT"] = "REQUEST_DOWNPAYMENT";
|
|
56
|
+
MortgageEvent["RECEIVE_PARTIAL_DOWNPAYMENT"] = "RECEIVE_PARTIAL_DOWNPAYMENT";
|
|
57
|
+
MortgageEvent["RECEIVE_FULL_DOWNPAYMENT"] = "RECEIVE_FULL_DOWNPAYMENT";
|
|
58
|
+
MortgageEvent["ACTIVATE"] = "ACTIVATE";
|
|
59
|
+
MortgageEvent["DISBURSE_FUNDS"] = "DISBURSE_FUNDS";
|
|
60
|
+
MortgageEvent["RECEIVE_PAYMENT"] = "RECEIVE_PAYMENT";
|
|
61
|
+
MortgageEvent["MISS_PAYMENT"] = "MISS_PAYMENT";
|
|
62
|
+
MortgageEvent["MARK_DELINQUENT"] = "MARK_DELINQUENT";
|
|
63
|
+
MortgageEvent["CURE_DELINQUENCY"] = "CURE_DELINQUENCY";
|
|
64
|
+
MortgageEvent["DECLARE_DEFAULT"] = "DECLARE_DEFAULT";
|
|
65
|
+
MortgageEvent["GRANT_FORBEARANCE"] = "GRANT_FORBEARANCE";
|
|
66
|
+
MortgageEvent["APPROVE_MODIFICATION"] = "APPROVE_MODIFICATION";
|
|
67
|
+
MortgageEvent["APPROVE_SHORT_SALE"] = "APPROVE_SHORT_SALE";
|
|
68
|
+
MortgageEvent["INITIATE_FORECLOSURE"] = "INITIATE_FORECLOSURE";
|
|
69
|
+
MortgageEvent["FORECLOSE"] = "FORECLOSE";
|
|
70
|
+
MortgageEvent["CONVERT_TO_REO"] = "CONVERT_TO_REO";
|
|
71
|
+
MortgageEvent["PAY_OFF"] = "PAY_OFF";
|
|
72
|
+
MortgageEvent["REFINANCE"] = "REFINANCE";
|
|
73
|
+
MortgageEvent["CANCEL"] = "CANCEL";
|
|
74
|
+
MortgageEvent["WITHDRAW"] = "WITHDRAW";
|
|
75
|
+
MortgageEvent["SUSPEND"] = "SUSPEND";
|
|
76
|
+
MortgageEvent["RESUME"] = "RESUME";
|
|
77
|
+
})(MortgageEvent || (exports.MortgageEvent = MortgageEvent = {}));
|
|
78
|
+
var MortgageAction;
|
|
79
|
+
(function (MortgageAction) {
|
|
80
|
+
MortgageAction["NOTIFY_BORROWER"] = "NOTIFY_BORROWER";
|
|
81
|
+
MortgageAction["NOTIFY_UNDERWRITER"] = "NOTIFY_UNDERWRITER";
|
|
82
|
+
MortgageAction["NOTIFY_CLOSER"] = "NOTIFY_CLOSER";
|
|
83
|
+
MortgageAction["NOTIFY_COLLECTIONS"] = "NOTIFY_COLLECTIONS";
|
|
84
|
+
MortgageAction["NOTIFY_LEGAL"] = "NOTIFY_LEGAL";
|
|
85
|
+
MortgageAction["SEND_EMAIL"] = "SEND_EMAIL";
|
|
86
|
+
MortgageAction["SEND_SMS"] = "SEND_SMS";
|
|
87
|
+
MortgageAction["REQUEST_DOCUMENTS"] = "REQUEST_DOCUMENTS";
|
|
88
|
+
MortgageAction["GENERATE_AGREEMENT"] = "GENERATE_AGREEMENT";
|
|
89
|
+
MortgageAction["GENERATE_APPROVAL_LETTER"] = "GENERATE_APPROVAL_LETTER";
|
|
90
|
+
MortgageAction["GENERATE_CLOSING_DISCLOSURE"] = "GENERATE_CLOSING_DISCLOSURE";
|
|
91
|
+
MortgageAction["GENERATE_CLOSING_DOCS"] = "GENERATE_CLOSING_DOCS";
|
|
92
|
+
MortgageAction["GENERATE_PROMISSORY_NOTE"] = "GENERATE_PROMISSORY_NOTE";
|
|
93
|
+
MortgageAction["REQUEST_TITLE_INSURANCE"] = "REQUEST_TITLE_INSURANCE";
|
|
94
|
+
MortgageAction["ORDER_APPRAISAL"] = "ORDER_APPRAISAL";
|
|
95
|
+
MortgageAction["REQUEST_INSPECTION"] = "REQUEST_INSPECTION";
|
|
96
|
+
MortgageAction["RUN_CREDIT_CHECK"] = "RUN_CREDIT_CHECK";
|
|
97
|
+
MortgageAction["VERIFY_INCOME"] = "VERIFY_INCOME";
|
|
98
|
+
MortgageAction["VERIFY_EMPLOYMENT"] = "VERIFY_EMPLOYMENT";
|
|
99
|
+
MortgageAction["VERIFY_INSURANCE"] = "VERIFY_INSURANCE";
|
|
100
|
+
MortgageAction["CALCULATE_PAYMENT_SCHEDULE"] = "CALCULATE_PAYMENT_SCHEDULE";
|
|
101
|
+
MortgageAction["SETUP_PAYMENT_SCHEDULE"] = "SETUP_PAYMENT_SCHEDULE";
|
|
102
|
+
MortgageAction["DISBURSE_LOAN_AMOUNT"] = "DISBURSE_LOAN_AMOUNT";
|
|
103
|
+
MortgageAction["DISBURSE_FUNDS"] = "DISBURSE_FUNDS";
|
|
104
|
+
MortgageAction["PROCESS_PAYMENT"] = "PROCESS_PAYMENT";
|
|
105
|
+
MortgageAction["RECORD_PAYMENT"] = "RECORD_PAYMENT";
|
|
106
|
+
MortgageAction["REFUND_PAYMENT"] = "REFUND_PAYMENT";
|
|
107
|
+
MortgageAction["ASSESS_LATE_FEE"] = "ASSESS_LATE_FEE";
|
|
108
|
+
MortgageAction["UPDATE_CREDIT_BUREAU"] = "UPDATE_CREDIT_BUREAU";
|
|
109
|
+
MortgageAction["FREEZE_ACCOUNT"] = "FREEZE_ACCOUNT";
|
|
110
|
+
MortgageAction["ASSIGN_UNDERWRITER"] = "ASSIGN_UNDERWRITER";
|
|
111
|
+
MortgageAction["ORDER_TITLE_SEARCH"] = "ORDER_TITLE_SEARCH";
|
|
112
|
+
MortgageAction["SCHEDULE_INSPECTION"] = "SCHEDULE_INSPECTION";
|
|
113
|
+
MortgageAction["CREATE_ESCROW_ACCOUNT"] = "CREATE_ESCROW_ACCOUNT";
|
|
114
|
+
MortgageAction["SETUP_ESCROW"] = "SETUP_ESCROW";
|
|
115
|
+
MortgageAction["RECORD_LIEN"] = "RECORD_LIEN";
|
|
116
|
+
MortgageAction["RELEASE_LIEN"] = "RELEASE_LIEN";
|
|
117
|
+
MortgageAction["INITIATE_FORECLOSURE"] = "INITIATE_FORECLOSURE";
|
|
118
|
+
MortgageAction["SCHEDULE_AUCTION"] = "SCHEDULE_AUCTION";
|
|
119
|
+
MortgageAction["LOG_AUDIT_TRAIL"] = "LOG_AUDIT_TRAIL";
|
|
120
|
+
MortgageAction["VERIFY_COMPLIANCE"] = "VERIFY_COMPLIANCE";
|
|
121
|
+
MortgageAction["GENERATE_REGULATORY_REPORT"] = "GENERATE_REGULATORY_REPORT";
|
|
122
|
+
MortgageAction["REPORT_TO_REGULATOR"] = "REPORT_TO_REGULATOR";
|
|
123
|
+
MortgageAction["UPDATE_ANALYTICS"] = "UPDATE_ANALYTICS";
|
|
124
|
+
})(MortgageAction || (exports.MortgageAction = MortgageAction = {}));
|
|
125
|
+
exports.default = {
|
|
126
|
+
MortgageState,
|
|
127
|
+
MortgageEvent,
|
|
128
|
+
MortgageAction,
|
|
129
|
+
};
|
|
130
|
+
//# sourceMappingURL=mortgage-fsm.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mortgage-fsm.types.js","sourceRoot":"","sources":["../../types/mortgage-fsm.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface PolicyResource {
|
|
2
|
+
path: string;
|
|
3
|
+
methods: string[];
|
|
4
|
+
}
|
|
5
|
+
export interface PolicyStatement {
|
|
6
|
+
effect: 'Allow' | 'Deny';
|
|
7
|
+
resources: PolicyResource[];
|
|
8
|
+
}
|
|
9
|
+
export interface RolePolicy {
|
|
10
|
+
version: string;
|
|
11
|
+
statements: PolicyStatement[];
|
|
12
|
+
}
|
|
13
|
+
export interface RolePolicyDocument {
|
|
14
|
+
roleName: string;
|
|
15
|
+
policy: RolePolicy;
|
|
16
|
+
isActive: boolean;
|
|
17
|
+
tenantId?: string;
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.types.js","sourceRoot":"","sources":["../../types/policy.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PropertyType = exports.PropertyStatus = void 0;
|
|
4
|
+
var PropertyStatus;
|
|
5
|
+
(function (PropertyStatus) {
|
|
6
|
+
PropertyStatus["APPROVED"] = "APPROVED";
|
|
7
|
+
PropertyStatus["PENDING"] = "PENDING";
|
|
8
|
+
PropertyStatus["DECLINED"] = "DECLINED";
|
|
9
|
+
})(PropertyStatus || (exports.PropertyStatus = PropertyStatus = {}));
|
|
10
|
+
var PropertyType;
|
|
11
|
+
(function (PropertyType) {
|
|
12
|
+
PropertyType["APARTMENT"] = "APARTMENT";
|
|
13
|
+
PropertyType["HOUSE"] = "HOUSE";
|
|
14
|
+
})(PropertyType || (exports.PropertyType = PropertyType = {}));
|
|
15
|
+
//# sourceMappingURL=property.type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property.type.js","sourceRoot":"","sources":["../../types/property.type.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,uCAAqB,CAAA;IACrB,qCAAmB,CAAA;IACnB,uCAAqB,CAAA;AACzB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAED,IAAY,YAGX;AAHD,WAAY,YAAY;IACpB,uCAAuB,CAAA;IACvB,+BAAe,CAAA;AACnB,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare enum PropertyCategory {
|
|
2
|
+
RENT = "RENT",
|
|
3
|
+
SALE = "SALE"
|
|
4
|
+
}
|
|
5
|
+
export declare enum PropertyType {
|
|
6
|
+
APARTMENT = "APARTMENT",
|
|
7
|
+
HOUSE = "HOUSE"
|
|
8
|
+
}
|
|
9
|
+
export declare enum Currency {
|
|
10
|
+
USD = "USD",
|
|
11
|
+
EUR = "EUR",
|
|
12
|
+
GBP = "GBP",
|
|
13
|
+
JPY = "JPY",
|
|
14
|
+
NGN = "NGN"
|
|
15
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Currency = exports.PropertyType = exports.PropertyCategory = void 0;
|
|
4
|
+
var PropertyCategory;
|
|
5
|
+
(function (PropertyCategory) {
|
|
6
|
+
PropertyCategory["RENT"] = "RENT";
|
|
7
|
+
PropertyCategory["SALE"] = "SALE";
|
|
8
|
+
})(PropertyCategory || (exports.PropertyCategory = PropertyCategory = {}));
|
|
9
|
+
var PropertyType;
|
|
10
|
+
(function (PropertyType) {
|
|
11
|
+
PropertyType["APARTMENT"] = "APARTMENT";
|
|
12
|
+
PropertyType["HOUSE"] = "HOUSE";
|
|
13
|
+
})(PropertyType || (exports.PropertyType = PropertyType = {}));
|
|
14
|
+
var Currency;
|
|
15
|
+
(function (Currency) {
|
|
16
|
+
Currency["USD"] = "USD";
|
|
17
|
+
Currency["EUR"] = "EUR";
|
|
18
|
+
Currency["GBP"] = "GBP";
|
|
19
|
+
Currency["JPY"] = "JPY";
|
|
20
|
+
Currency["NGN"] = "NGN";
|
|
21
|
+
})(Currency || (exports.Currency = Currency = {}));
|
|
22
|
+
//# sourceMappingURL=social.enums.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"social.enums.js","sourceRoot":"","sources":["../../types/social.enums.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,iCAAa,CAAA;IACb,iCAAa,CAAA;AACf,CAAC,EAHW,gBAAgB,gCAAhB,gBAAgB,QAG3B;AAED,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,uCAAuB,CAAA;IACvB,+BAAe,CAAA;AACjB,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AAED,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;AACb,CAAC,EANW,QAAQ,wBAAR,QAAQ,QAMnB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare enum TenantStatus {
|
|
2
|
+
ACTIVE = "active",
|
|
3
|
+
SUSPENDED = "suspended",
|
|
4
|
+
PENDING = "pending",
|
|
5
|
+
TRIAL = "trial",
|
|
6
|
+
CANCELLED = "cancelled"
|
|
7
|
+
}
|
|
8
|
+
export declare enum TenantPlan {
|
|
9
|
+
FREE = "free",
|
|
10
|
+
BASIC = "basic",
|
|
11
|
+
PREMIUM = "premium",
|
|
12
|
+
ENTERPRISE = "enterprise"
|
|
13
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TenantPlan = exports.TenantStatus = void 0;
|
|
4
|
+
var TenantStatus;
|
|
5
|
+
(function (TenantStatus) {
|
|
6
|
+
TenantStatus["ACTIVE"] = "active";
|
|
7
|
+
TenantStatus["SUSPENDED"] = "suspended";
|
|
8
|
+
TenantStatus["PENDING"] = "pending";
|
|
9
|
+
TenantStatus["TRIAL"] = "trial";
|
|
10
|
+
TenantStatus["CANCELLED"] = "cancelled";
|
|
11
|
+
})(TenantStatus || (exports.TenantStatus = TenantStatus = {}));
|
|
12
|
+
var TenantPlan;
|
|
13
|
+
(function (TenantPlan) {
|
|
14
|
+
TenantPlan["FREE"] = "free";
|
|
15
|
+
TenantPlan["BASIC"] = "basic";
|
|
16
|
+
TenantPlan["PREMIUM"] = "premium";
|
|
17
|
+
TenantPlan["ENTERPRISE"] = "enterprise";
|
|
18
|
+
})(TenantPlan || (exports.TenantPlan = TenantPlan = {}));
|
|
19
|
+
//# sourceMappingURL=tenant.enums.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenant.enums.js","sourceRoot":"","sources":["../../types/tenant.enums.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAMX;AAND,WAAY,YAAY;IACpB,iCAAiB,CAAA;IACjB,uCAAuB,CAAA;IACvB,mCAAmB,CAAA;IACnB,+BAAe,CAAA;IACf,uCAAuB,CAAA;AAC3B,CAAC,EANW,YAAY,4BAAZ,YAAY,QAMvB;AAED,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,2BAAa,CAAA;IACb,6BAAe,CAAA;IACf,iCAAmB,CAAA;IACnB,uCAAyB,CAAA;AAC7B,CAAC,EALW,UAAU,0BAAV,UAAU,QAKrB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Provider = exports.TransactionType = void 0;
|
|
4
|
+
var TransactionType;
|
|
5
|
+
(function (TransactionType) {
|
|
6
|
+
TransactionType["DEBIT"] = "debit";
|
|
7
|
+
TransactionType["CREDIT"] = "credit";
|
|
8
|
+
})(TransactionType || (exports.TransactionType = TransactionType = {}));
|
|
9
|
+
var Provider;
|
|
10
|
+
(function (Provider) {
|
|
11
|
+
Provider["BUDPAY"] = "budpay";
|
|
12
|
+
Provider["PAYSTACK"] = "paystack";
|
|
13
|
+
})(Provider || (exports.Provider = Provider = {}));
|
|
14
|
+
//# sourceMappingURL=transaction.type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.type.js","sourceRoot":"","sources":["../../types/transaction.type.ts"],"names":[],"mappings":";;;AAAA,IAAY,eAGX;AAHD,WAAY,eAAe;IACvB,kCAAe,CAAA;IACf,oCAAiB,CAAA;AACrB,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B;AAED,IAAY,QAGX;AAHD,WAAY,QAAQ;IAChB,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;AACzB,CAAC,EAHW,QAAQ,wBAAR,QAAQ,QAGnB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UserStatus = exports.UserRole = void 0;
|
|
4
|
+
var UserRole;
|
|
5
|
+
(function (UserRole) {
|
|
6
|
+
UserRole["ADMIN"] = "admin";
|
|
7
|
+
UserRole["VENDOR"] = "vendor";
|
|
8
|
+
UserRole["USER"] = "user";
|
|
9
|
+
})(UserRole || (exports.UserRole = UserRole = {}));
|
|
10
|
+
var UserStatus;
|
|
11
|
+
(function (UserStatus) {
|
|
12
|
+
UserStatus["ACTIVE"] = "ACTIVE";
|
|
13
|
+
UserStatus["SUSPENDED"] = "SUSPENDED";
|
|
14
|
+
UserStatus["PENDING"] = "PENDING";
|
|
15
|
+
})(UserStatus || (exports.UserStatus = UserStatus = {}));
|
|
16
|
+
//# sourceMappingURL=user.enums.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.enums.js","sourceRoot":"","sources":["../../types/user.enums.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,6BAAiB,CAAA;IACjB,yBAAa,CAAA;AACf,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB;AAED,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,+BAAiB,CAAA;IACjB,qCAAuB,CAAA;IACvB,iCAAmB,CAAA;AACrB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import Tenant from './tenant.entity';
|
|
2
|
+
import { CreateDateColumn, DeleteDateColumn, PrimaryGeneratedColumn, UpdateDateColumn, Column, Index, ManyToOne, JoinColumn } from 'typeorm';
|
|
3
|
+
|
|
4
|
+
export class BaseEntity {
|
|
5
|
+
@PrimaryGeneratedColumn()
|
|
6
|
+
id: number;
|
|
7
|
+
|
|
8
|
+
@CreateDateColumn({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' })
|
|
9
|
+
createdAt: Date;
|
|
10
|
+
|
|
11
|
+
@UpdateDateColumn({
|
|
12
|
+
type: 'timestamp',
|
|
13
|
+
default: () => 'CURRENT_TIMESTAMP',
|
|
14
|
+
onUpdate: 'CURRENT_TIMESTAMP',
|
|
15
|
+
})
|
|
16
|
+
updatedAt: Date;
|
|
17
|
+
|
|
18
|
+
@DeleteDateColumn({ nullable: true, default: null })
|
|
19
|
+
deletedAt: Date;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Tenant-aware version of BaseEntity
|
|
24
|
+
* Use this for entities that need tenant isolation
|
|
25
|
+
*/
|
|
26
|
+
export class TenantAwareBaseEntity extends BaseEntity {
|
|
27
|
+
@ManyToOne(() => Tenant, { onDelete: 'CASCADE' })
|
|
28
|
+
@JoinColumn({ name: 'tenant_id' })
|
|
29
|
+
tenant: Tenant;
|
|
30
|
+
|
|
31
|
+
@Column({ name: 'tenant_id' })
|
|
32
|
+
@Index()
|
|
33
|
+
tenantId: number;
|
|
34
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import Tenant from './tenant.entity';
|
|
2
|
+
import { CreateDateColumn, DeleteDateColumn, PrimaryGeneratedColumn, UpdateDateColumn, Column, Index, ManyToOne, JoinColumn } from 'typeorm';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Base entity with tenant support
|
|
6
|
+
* All entities that need to be isolated by tenant should extend this
|
|
7
|
+
*/
|
|
8
|
+
export class TenantAwareEntity {
|
|
9
|
+
@PrimaryGeneratedColumn()
|
|
10
|
+
id: number;
|
|
11
|
+
|
|
12
|
+
@ManyToOne(() => Tenant, { onDelete: 'CASCADE' })
|
|
13
|
+
@JoinColumn({ name: 'tenant_id' })
|
|
14
|
+
tenant: Tenant;
|
|
15
|
+
|
|
16
|
+
@Column({ name: 'tenant_id' })
|
|
17
|
+
@Index()
|
|
18
|
+
tenantId: number;
|
|
19
|
+
|
|
20
|
+
@CreateDateColumn({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' })
|
|
21
|
+
createdAt: Date;
|
|
22
|
+
|
|
23
|
+
@UpdateDateColumn({
|
|
24
|
+
type: 'timestamp',
|
|
25
|
+
default: () => 'CURRENT_TIMESTAMP',
|
|
26
|
+
onUpdate: 'CURRENT_TIMESTAMP',
|
|
27
|
+
})
|
|
28
|
+
updatedAt: Date;
|
|
29
|
+
|
|
30
|
+
@DeleteDateColumn({ nullable: true, default: null })
|
|
31
|
+
deletedAt: Date;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export default TenantAwareEntity;
|