@tomei/rental 0.17.1 → 0.17.3-dev.2

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.
Files changed (140) hide show
  1. package/.husky/commit-msg +0 -6
  2. package/dist/src/components/agreement-signature/hirer-signature.d.ts +27 -0
  3. package/dist/src/components/agreement-signature/hirer-signature.js +112 -0
  4. package/dist/src/components/agreement-signature/hirer-signature.js.map +1 -0
  5. package/dist/src/components/agreement-signature/hirer-signature.repository.d.ts +8 -0
  6. package/dist/src/components/agreement-signature/hirer-signature.repository.js +67 -0
  7. package/dist/src/components/agreement-signature/hirer-signature.repository.js.map +1 -0
  8. package/dist/src/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.d.ts +32 -0
  9. package/dist/src/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.js +121 -0
  10. package/dist/src/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.js.map +1 -0
  11. package/dist/src/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.repository.d.ts +9 -0
  12. package/dist/src/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.repository.js +79 -0
  13. package/dist/src/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.repository.js.map +1 -0
  14. package/dist/src/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.d.ts +22 -0
  15. package/dist/src/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.js +104 -0
  16. package/dist/src/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.js.map +1 -0
  17. package/dist/src/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.repository.d.ts +9 -0
  18. package/dist/src/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.repository.js +80 -0
  19. package/dist/src/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.repository.js.map +1 -0
  20. package/dist/src/components/hirer-change-request-signature/hirer-change-request-signature.d.ts +30 -0
  21. package/dist/src/components/hirer-change-request-signature/hirer-change-request-signature.js +225 -0
  22. package/dist/src/components/hirer-change-request-signature/hirer-change-request-signature.js.map +1 -0
  23. package/dist/src/components/hirer-change-request-signature/hirer-change-request-signature.repository.d.ts +9 -0
  24. package/dist/src/components/hirer-change-request-signature/hirer-change-request-signature.repository.js +80 -0
  25. package/dist/src/components/hirer-change-request-signature/hirer-change-request-signature.repository.js.map +1 -0
  26. package/dist/src/components/hirer-signature/hirer-signature.d.ts +27 -0
  27. package/dist/src/components/hirer-signature/hirer-signature.js +112 -0
  28. package/dist/src/components/hirer-signature/hirer-signature.js.map +1 -0
  29. package/dist/src/components/hirer-signature/hirer-signature.repository.d.ts +8 -0
  30. package/dist/src/components/hirer-signature/hirer-signature.repository.js +67 -0
  31. package/dist/src/components/hirer-signature/hirer-signature.repository.js.map +1 -0
  32. package/dist/src/components/joint-hirer/joint-hirer.d.ts +3 -0
  33. package/dist/src/components/joint-hirer/joint-hirer.js +46 -0
  34. package/dist/src/components/joint-hirer/joint-hirer.js.map +1 -1
  35. package/dist/src/components/rental/rental.d.ts +1 -0
  36. package/dist/src/components/rental/rental.js +28 -0
  37. package/dist/src/components/rental/rental.js.map +1 -1
  38. package/dist/src/components/rental-hirer-change-request/rental-hirer-change-request.d.ts +70 -0
  39. package/dist/src/components/rental-hirer-change-request/rental-hirer-change-request.js +570 -0
  40. package/dist/src/components/rental-hirer-change-request/rental-hirer-change-request.js.map +1 -0
  41. package/dist/src/components/rental-hirer-change-request/rental-hirer-change-request.repository.d.ts +9 -0
  42. package/dist/src/components/rental-hirer-change-request/rental-hirer-change-request.repository.js +79 -0
  43. package/dist/src/components/rental-hirer-change-request/rental-hirer-change-request.repository.js.map +1 -0
  44. package/dist/src/database.js +8 -0
  45. package/dist/src/database.js.map +1 -1
  46. package/dist/src/enum/hirer-signature-status.enum.d.ts +4 -0
  47. package/dist/src/enum/hirer-signature-status.enum.js +9 -0
  48. package/dist/src/enum/hirer-signature-status.enum.js.map +1 -0
  49. package/dist/src/enum/index.d.ts +4 -1
  50. package/dist/src/enum/index.js +7 -1
  51. package/dist/src/enum/index.js.map +1 -1
  52. package/dist/src/enum/rental-hirer-change-request-hirer-role.d.ts +4 -0
  53. package/dist/src/enum/rental-hirer-change-request-hirer-role.js +9 -0
  54. package/dist/src/enum/rental-hirer-change-request-hirer-role.js.map +1 -0
  55. package/dist/src/enum/rental-hirer-change-request-status.d.ts +7 -0
  56. package/dist/src/enum/rental-hirer-change-request-status.js +12 -0
  57. package/dist/src/enum/rental-hirer-change-request-status.js.map +1 -0
  58. package/dist/src/enum/rental-hirer-change-request-type.d.ts +4 -0
  59. package/dist/src/enum/rental-hirer-change-request-type.js +9 -0
  60. package/dist/src/enum/rental-hirer-change-request-type.js.map +1 -0
  61. package/dist/src/index.d.ts +9 -1
  62. package/dist/src/index.js +17 -1
  63. package/dist/src/index.js.map +1 -1
  64. package/dist/src/interfaces/hirer-change-request-new-hirer-attr.interface.d.ts +15 -0
  65. package/dist/src/interfaces/hirer-change-request-new-hirer-attr.interface.js +3 -0
  66. package/dist/src/interfaces/hirer-change-request-new-hirer-attr.interface.js.map +1 -0
  67. package/dist/src/interfaces/hirer-change-request-remove-hirer-attr.interface.d.ts +5 -0
  68. package/dist/src/interfaces/hirer-change-request-remove-hirer-attr.interface.js +3 -0
  69. package/dist/src/interfaces/hirer-change-request-remove-hirer-attr.interface.js.map +1 -0
  70. package/dist/src/interfaces/hirer-change-request-signature-attr.interface.d.ts +14 -0
  71. package/dist/src/interfaces/hirer-change-request-signature-attr.interface.js +3 -0
  72. package/dist/src/interfaces/hirer-change-request-signature-attr.interface.js.map +1 -0
  73. package/dist/src/interfaces/hirer-signature-attr.interface.d.ts +14 -0
  74. package/dist/src/interfaces/hirer-signature-attr.interface.js +3 -0
  75. package/dist/src/interfaces/hirer-signature-attr.interface.js.map +1 -0
  76. package/dist/src/interfaces/index.d.ts +6 -1
  77. package/dist/src/interfaces/joint-hirer-attr.interface.d.ts +1 -0
  78. package/dist/src/interfaces/rental-hirer-change-request.attr.interface.d.ts +16 -0
  79. package/dist/src/interfaces/rental-hirer-change-request.attr.interface.js +3 -0
  80. package/dist/src/interfaces/rental-hirer-change-request.attr.interface.js.map +1 -0
  81. package/dist/src/interfaces/rental-hirer-change-request.update.interface.d.ts +4 -0
  82. package/dist/src/interfaces/rental-hirer-change-request.update.interface.js +3 -0
  83. package/dist/src/interfaces/rental-hirer-change-request.update.interface.js.map +1 -0
  84. package/dist/src/models/hirer-change-request-new-hirer.entity.d.ts +19 -0
  85. package/dist/src/models/hirer-change-request-new-hirer.entity.js +121 -0
  86. package/dist/src/models/hirer-change-request-new-hirer.entity.js.map +1 -0
  87. package/dist/src/models/hirer-change-request-remove-hirer.entity.d.ts +11 -0
  88. package/dist/src/models/hirer-change-request-remove-hirer.entity.js +57 -0
  89. package/dist/src/models/hirer-change-request-remove-hirer.entity.js.map +1 -0
  90. package/dist/src/models/hirer-change-request-signature.entity.d.ts +18 -0
  91. package/dist/src/models/hirer-change-request-signature.entity.js +101 -0
  92. package/dist/src/models/hirer-change-request-signature.entity.js.map +1 -0
  93. package/dist/src/models/hirer-signature.entity.d.ts +16 -0
  94. package/dist/src/models/hirer-signature.entity.js +100 -0
  95. package/dist/src/models/hirer-signature.entity.js.map +1 -0
  96. package/dist/src/models/index.d.ts +5 -1
  97. package/dist/src/models/index.js +9 -1
  98. package/dist/src/models/index.js.map +1 -1
  99. package/dist/src/models/joint-hirer.entity.d.ts +1 -0
  100. package/dist/src/models/joint-hirer.entity.js +12 -0
  101. package/dist/src/models/joint-hirer.entity.js.map +1 -1
  102. package/dist/src/models/rental-hirer-change-request.entity.d.ts +22 -0
  103. package/dist/src/models/rental-hirer-change-request.entity.js +108 -0
  104. package/dist/src/models/rental-hirer-change-request.entity.js.map +1 -0
  105. package/dist/tsconfig.tsbuildinfo +1 -1
  106. package/migrations/20250529092130-add-status-to-joint-hirer.js +19 -0
  107. package/migrations/hirer-change-request-new-hirer-migration.js +72 -0
  108. package/migrations/hirer-change-request-remove-hirer-migration.js +39 -0
  109. package/migrations/hirer-change-request-signature-migration.js +65 -0
  110. package/migrations/rental-hirer-change-request-migrations.js +64 -0
  111. package/package.json +3 -3
  112. package/src/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.repository.ts +64 -0
  113. package/src/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.ts +153 -0
  114. package/src/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.repository.ts +65 -0
  115. package/src/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.ts +134 -0
  116. package/src/components/hirer-change-request-signature/hirer-change-request-signature.repository.ts +65 -0
  117. package/src/components/hirer-change-request-signature/hirer-change-request-signature.ts +272 -0
  118. package/src/components/joint-hirer/joint-hirer.ts +52 -0
  119. package/src/components/rental/rental.ts +32 -0
  120. package/src/components/rental-hirer-change-request/rental-hirer-change-request.repository.ts +64 -0
  121. package/src/components/rental-hirer-change-request/rental-hirer-change-request.ts +919 -0
  122. package/src/database.ts +8 -0
  123. package/src/enum/index.ts +6 -0
  124. package/src/enum/rental-hirer-change-request-hirer-role.ts +4 -0
  125. package/src/enum/rental-hirer-change-request-status.ts +7 -0
  126. package/src/enum/rental-hirer-change-request-type.ts +4 -0
  127. package/src/index.ts +16 -0
  128. package/src/interfaces/hirer-change-request-new-hirer-attr.interface.ts +15 -0
  129. package/src/interfaces/hirer-change-request-remove-hirer-attr.interface.ts +5 -0
  130. package/src/interfaces/hirer-change-request-signature-attr.interface.ts +15 -0
  131. package/src/interfaces/index.ts +10 -0
  132. package/src/interfaces/joint-hirer-attr.interface.ts +1 -0
  133. package/src/interfaces/rental-hirer-change-request.attr.interface.ts +17 -0
  134. package/src/interfaces/rental-hirer-change-request.update.interface.ts +4 -0
  135. package/src/models/hirer-change-request-new-hirer.entity.ts +102 -0
  136. package/src/models/hirer-change-request-remove-hirer.entity.ts +47 -0
  137. package/src/models/hirer-change-request-signature.entity.ts +86 -0
  138. package/src/models/index.ts +8 -0
  139. package/src/models/joint-hirer.entity.ts +7 -0
  140. package/src/models/rental-hirer-change-request.entity.ts +93 -0
@@ -0,0 +1,570 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RentalHirerChangeRequest = void 0;
13
+ const general_1 = require("@tomei/general");
14
+ const rental_hirer_change_request_repository_1 = require("./rental-hirer-change-request.repository");
15
+ const config_1 = require("@tomei/config");
16
+ const activity_history_1 = require("@tomei/activity-history");
17
+ const rental_hirer_change_request_type_1 = require("../../enum/rental-hirer-change-request-type");
18
+ const rental_hirer_change_request_status_1 = require("../../enum/rental-hirer-change-request-status");
19
+ const rental_1 = require("../rental/rental");
20
+ const enum_1 = require("../../enum");
21
+ const sequelize_1 = require("sequelize");
22
+ const joint_hirer_repository_1 = require("../../components/joint-hirer/joint-hirer.repository");
23
+ const hirer_change_request_signature_repository_1 = require("../hirer-change-request-signature/hirer-change-request-signature.repository");
24
+ const hirer_change_request_signature_1 = require("../hirer-change-request-signature/hirer-change-request-signature");
25
+ const hirer_change_request_new_hirer_1 = require("../hirer-change-request-new-hirer/hirer-change-request-new-hirer");
26
+ const hirer_change_request_remove_hirer_1 = require("../hirer-change-request-remove-hirer/hirer-change-request-remove-hirer");
27
+ const joint_hirer_1 = require("../joint-hirer/joint-hirer");
28
+ class RentalHirerChangeRequest extends general_1.ObjectBase {
29
+ get RequestId() {
30
+ return this.ObjectId;
31
+ }
32
+ set RequestId(value) {
33
+ this.ObjectId = value;
34
+ }
35
+ constructor(hirerChangeRequestAttr) {
36
+ super();
37
+ this.ObjectType = 'RentalHirerChangeRequest';
38
+ this.TableName = 'rental_HirerChangeRequest';
39
+ this.Signatures = [];
40
+ this.Rental = null;
41
+ if (hirerChangeRequestAttr) {
42
+ this.RequestId = hirerChangeRequestAttr.RequestId;
43
+ this.RentalId = hirerChangeRequestAttr.RentalId;
44
+ this.Type = hirerChangeRequestAttr.Type;
45
+ this.Status = hirerChangeRequestAttr.Status;
46
+ this.RequestedAt = hirerChangeRequestAttr.RequestedAt;
47
+ this.RequestedById = hirerChangeRequestAttr.RequestedById;
48
+ this.RequestingHirerId = hirerChangeRequestAttr.RequestingHirerId;
49
+ this.RequestingHirerType = hirerChangeRequestAttr.RequestingHirerType;
50
+ this.CancelRemarks = hirerChangeRequestAttr.CancelRemarks;
51
+ this.UpdatedAt = hirerChangeRequestAttr.UpdatedAt;
52
+ this.UpdatedById = hirerChangeRequestAttr.UpdatedById;
53
+ }
54
+ }
55
+ toJSON() {
56
+ return {
57
+ RequestId: this.RequestId,
58
+ RentalId: this.RentalId,
59
+ Type: this.Type,
60
+ Status: this.Status,
61
+ RequestedAt: this.RequestedAt,
62
+ RequestedById: this.RequestedById,
63
+ RequestingHirerId: this.RequestingHirerId,
64
+ RequestingHirerType: this.RequestingHirerType,
65
+ CancelRemarks: this.CancelRemarks,
66
+ UpdatedAt: this.UpdatedAt,
67
+ UpdatedById: this.UpdatedById,
68
+ };
69
+ }
70
+ static init(requestId, dbTransaction) {
71
+ return __awaiter(this, void 0, void 0, function* () {
72
+ try {
73
+ if (requestId) {
74
+ const hirerChangeReq = yield RentalHirerChangeRequest._Repository.findByPk(requestId, dbTransaction);
75
+ if (hirerChangeReq) {
76
+ return new RentalHirerChangeRequest(hirerChangeReq.get({ plain: true }));
77
+ }
78
+ else {
79
+ throw new general_1.ClassError('HirerChangeRequest', 'HirerChangeRequestErrMsg00', 'HirerChangeRequest not found');
80
+ }
81
+ }
82
+ return new RentalHirerChangeRequest();
83
+ }
84
+ catch (error) {
85
+ console.error('Error initializing RentalHirerChangeRequest:', error);
86
+ throw error;
87
+ }
88
+ });
89
+ }
90
+ checkForDuplicate(dbTransaction) {
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ try {
93
+ if (!this.RentalId) {
94
+ throw new general_1.ClassError('HirerChangeRequest', 'HirerChangeRequestErrMsg08', 'RentalId is required to check for duplicate requests.');
95
+ }
96
+ const isDuplicate = yield RentalHirerChangeRequest._Repository.findAll({
97
+ where: {
98
+ RentalId: this.RentalId,
99
+ Type: this.Type,
100
+ Status: {
101
+ [sequelize_1.Op.notIn]: [
102
+ rental_hirer_change_request_status_1.HirerChangeRequestStatusEnum.COMPLETED,
103
+ rental_hirer_change_request_status_1.HirerChangeRequestStatusEnum.CANCELLED,
104
+ ],
105
+ },
106
+ },
107
+ transaction: dbTransaction,
108
+ });
109
+ if (isDuplicate.length > 0) {
110
+ throw new general_1.ClassError('HirerChangeRequest', 'HirerChangeRequestErrMsg04', 'Duplicate record detected.');
111
+ }
112
+ }
113
+ catch (error) {
114
+ throw error;
115
+ }
116
+ });
117
+ }
118
+ getSignatures(dbTransaction) {
119
+ return __awaiter(this, void 0, void 0, function* () {
120
+ try {
121
+ if (this.Signatures.length > 0) {
122
+ return this.Signatures;
123
+ }
124
+ const hirers = yield RentalHirerChangeRequest._HirerSignatureRepository.findAll({
125
+ where: {
126
+ RequestId: this.RequestId,
127
+ },
128
+ transaction: dbTransaction,
129
+ });
130
+ this.Signatures = yield Promise.all(hirers.map((hirer) => __awaiter(this, void 0, void 0, function* () {
131
+ return yield hirer_change_request_signature_1.HirerChangeRequestSignature.init(hirer.SignatureId, dbTransaction);
132
+ })));
133
+ return this.Signatures;
134
+ }
135
+ catch (error) {
136
+ throw error;
137
+ }
138
+ });
139
+ }
140
+ checkIsAllSigned(dbTransaction) {
141
+ return __awaiter(this, void 0, void 0, function* () {
142
+ try {
143
+ const listUpdatedHirer = yield this.getSignatures(dbTransaction);
144
+ if (listUpdatedHirer.length > 0) {
145
+ return listUpdatedHirer.every((record) => record.SignedAt !== null);
146
+ }
147
+ else {
148
+ return false;
149
+ }
150
+ }
151
+ catch (error) {
152
+ throw error;
153
+ }
154
+ });
155
+ }
156
+ create(loginUser, dbTransaction) {
157
+ return __awaiter(this, void 0, void 0, function* () {
158
+ try {
159
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
160
+ const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'HIRER_CHANGE_REQUEST');
161
+ if (!isPrivileged) {
162
+ throw new general_1.ClassError('HirerChangeRequest', 'HirerChangeRequestErrMsg01', "You do not have 'HIRER_CHANGE_REQUEST' privilege.");
163
+ }
164
+ if (!this.RentalId || !this.RequestingHirerId) {
165
+ throw new general_1.ClassError('HirerChangeRequest', 'HirerChangeRequestErrMsg02', 'RentalId and RequestingHirerId are required.');
166
+ }
167
+ const rental = yield rental_1.Rental.init(dbTransaction, this.RentalId);
168
+ if (rental.AccountType !== enum_1.RentalAccountTypeEnum.JOINT) {
169
+ throw new general_1.ClassError('HirerChangeRequest', 'HirerChangeRequestErrMsg03', 'Only Rental with Joint Account Type Allowed.');
170
+ }
171
+ const jointHirers = yield rental.getJointHirers(dbTransaction);
172
+ if (this.Type === rental_hirer_change_request_type_1.HirerChangeRequestTypeEnum.ADD) {
173
+ const maxJointHirer = config_1.ComponentConfig.getComponentConfigValue('@tomei/rental', 'maxJointHirerLength');
174
+ if ((jointHirers === null || jointHirers === void 0 ? void 0 : jointHirers.length) >= maxJointHirer) {
175
+ throw new general_1.ClassError('HirerChangeRequest', 'HirerChangeRequestErrMsg05', 'Joint Hirer exceed max joint hirer length.');
176
+ }
177
+ }
178
+ if (this.Type == rental_hirer_change_request_type_1.HirerChangeRequestTypeEnum.REMOVE &&
179
+ (jointHirers === null || jointHirers === void 0 ? void 0 : jointHirers.length) <= 1) {
180
+ throw new general_1.ClassError('HirerChangeRequest', 'HirerChangeRequestErrMsg05', 'Cannot remove the last joint hirer.');
181
+ }
182
+ yield this.checkForDuplicate(dbTransaction);
183
+ this.ObjectId = this.createId();
184
+ this.RequestedById = loginUser.ObjectId;
185
+ this.RequestedAt = new Date();
186
+ this.UpdatedById = loginUser.ObjectId;
187
+ this.UpdatedAt = new Date();
188
+ this.Status = rental_hirer_change_request_status_1.HirerChangeRequestStatusEnum.PENDINGSIGNATURES;
189
+ this.RequestingHirerType =
190
+ rental.CustomerId === this.RequestingHirerId
191
+ ? enum_1.HirerChangeRequestHirerRoleEnum.MAIN
192
+ : enum_1.HirerChangeRequestHirerRoleEnum.JOINT;
193
+ const entityValueAfter = {
194
+ RequestId: this.RequestId,
195
+ RentalId: this.RentalId,
196
+ Type: this.Type,
197
+ Status: this.Status,
198
+ RequestedById: this.RequestedById,
199
+ RequestedAt: this.RequestedAt,
200
+ RequestingHirerId: this.RequestingHirerId,
201
+ RequestingHirerType: this.RequestingHirerType,
202
+ CancelRemarks: this.CancelRemarks,
203
+ UpdatedById: this.UpdatedById,
204
+ UpdatedAt: this.UpdatedAt,
205
+ };
206
+ yield RentalHirerChangeRequest._Repository.create(entityValueAfter, {
207
+ transaction: dbTransaction,
208
+ });
209
+ yield this.generateSignatures(loginUser, dbTransaction);
210
+ const activity = new activity_history_1.Activity();
211
+ activity.ObjectId = this._createId();
212
+ activity.Action = activity_history_1.ActionEnum.CREATE;
213
+ activity.Description =
214
+ this.Type === rental_hirer_change_request_type_1.HirerChangeRequestTypeEnum.ADD
215
+ ? 'Add New Hirer'
216
+ : 'Remove Hirer';
217
+ activity.EntityId = this.ObjectId;
218
+ activity.EntityType = this.ObjectType;
219
+ activity.EntityValueBefore = JSON.stringify({});
220
+ activity.EntityValueAfter = JSON.stringify(entityValueAfter);
221
+ yield activity.create(loginUser.ObjectId, dbTransaction);
222
+ return this;
223
+ }
224
+ catch (error) {
225
+ throw error;
226
+ }
227
+ });
228
+ }
229
+ update(loginUser, dbTransaction, params) {
230
+ return __awaiter(this, void 0, void 0, function* () {
231
+ try {
232
+ if (!this.RequestId) {
233
+ throw new general_1.ClassError('HirerChangeRequest', 'HirerChangeRequestErrMsg06', 'RequestId are required.');
234
+ }
235
+ const entityValueBefore = {
236
+ RequestId: this.RequestId,
237
+ RentalId: this.RentalId,
238
+ Type: this.Type,
239
+ Status: this.Status,
240
+ RequestedById: this.RequestedById,
241
+ RequestedAt: this.RequestedAt,
242
+ RequestingHirerId: this.RequestingHirerId,
243
+ RequestingHirerType: this.RequestingHirerType,
244
+ CancelRemarks: this.CancelRemarks,
245
+ UpdatedById: this.UpdatedById,
246
+ UpdatedAt: this.UpdatedAt,
247
+ };
248
+ let { jointHirerId, customerId } = params;
249
+ if (!customerId && !jointHirerId) {
250
+ throw new general_1.ClassError('HirerChangeRequest', 'HirerChangeRequestErrMsg07', 'At least one of customerId or jointHirerId must be provided.');
251
+ }
252
+ const listHirer = yield this.getSignatures(dbTransaction);
253
+ if ((listHirer === null || listHirer === void 0 ? void 0 : listHirer.length) > 0) {
254
+ let foundHirer = listHirer === null || listHirer === void 0 ? void 0 : listHirer.find((record) => {
255
+ record.CustomerId === customerId;
256
+ });
257
+ let hirer = yield hirer_change_request_signature_1.HirerChangeRequestSignature.init(foundHirer.SignatureId, dbTransaction);
258
+ yield hirer.update(loginUser, dbTransaction);
259
+ }
260
+ const isSigned = yield this.checkIsAllSigned(dbTransaction);
261
+ if (isSigned) {
262
+ if (this.Type === rental_hirer_change_request_type_1.HirerChangeRequestTypeEnum.ADD) {
263
+ this.Status = rental_hirer_change_request_status_1.HirerChangeRequestStatusEnum.AWAITINGNEWHIRER;
264
+ }
265
+ else if (this.Type === rental_hirer_change_request_type_1.HirerChangeRequestTypeEnum.REMOVE) {
266
+ yield RentalHirerChangeRequest._JointHirerRepository.update({ Status: 'Inactive' }, {
267
+ where: {
268
+ HirerId: this.RequestId,
269
+ },
270
+ transaction: dbTransaction,
271
+ });
272
+ this.Status = rental_hirer_change_request_status_1.HirerChangeRequestStatusEnum.COMPLETED;
273
+ }
274
+ }
275
+ const entityValueAfter = {
276
+ RequestId: this.RequestId,
277
+ RentalId: this.RentalId,
278
+ Type: this.Type,
279
+ Status: this.Status,
280
+ RequestedById: this.RequestedById,
281
+ RequestedAt: this.RequestedAt,
282
+ RequestingHirerId: this.RequestingHirerId,
283
+ RequestingHirerType: this.RequestingHirerType,
284
+ CancelRemarks: this.CancelRemarks,
285
+ UpdatedById: this.UpdatedById,
286
+ UpdatedAt: this.UpdatedAt,
287
+ };
288
+ yield RentalHirerChangeRequest._Repository.update(entityValueAfter, {
289
+ where: {
290
+ RequestId: this.RequestId,
291
+ },
292
+ transaction: dbTransaction,
293
+ });
294
+ const activity = new activity_history_1.Activity();
295
+ activity.ObjectId = this._createId();
296
+ activity.Action = activity_history_1.ActionEnum.UPDATE;
297
+ activity.Description = 'Update Hirer Change Request';
298
+ activity.EntityId = this.ObjectId;
299
+ activity.EntityType = this.ObjectType;
300
+ activity.EntityValueBefore = JSON.stringify(entityValueBefore);
301
+ activity.EntityValueAfter = JSON.stringify(entityValueAfter);
302
+ yield activity.create(loginUser.ObjectId, dbTransaction);
303
+ return this;
304
+ }
305
+ catch (error) {
306
+ throw error;
307
+ }
308
+ });
309
+ }
310
+ generateSignatures(loginUser, dbTransaction) {
311
+ return __awaiter(this, void 0, void 0, function* () {
312
+ try {
313
+ if (!this.RentalId) {
314
+ throw new general_1.ClassError('HirerChangeRequest', 'HirerChangeRequestErrMsg09', 'RentalId is required to create signatures.');
315
+ }
316
+ if (!this.Rental) {
317
+ this.Rental = yield rental_1.Rental.init(dbTransaction, this.RentalId);
318
+ }
319
+ const jointHirers = yield this.Rental.getJointHirers(dbTransaction);
320
+ const mainSignature = yield hirer_change_request_signature_1.HirerChangeRequestSignature.init();
321
+ mainSignature.RequestId = this.RequestId;
322
+ mainSignature.CustomerId = this.Rental.CustomerId;
323
+ mainSignature.HirerType = enum_1.HirerChangeRequestHirerRoleEnum.MAIN;
324
+ mainSignature.Method = 'Upload';
325
+ const jointSignaturePromises = jointHirers.map((jointHirer) => __awaiter(this, void 0, void 0, function* () {
326
+ const signature = yield hirer_change_request_signature_1.HirerChangeRequestSignature.init();
327
+ signature.RequestId = this.RequestId;
328
+ signature.JointHirerId = jointHirer.HirerId;
329
+ signature.HirerType = enum_1.HirerChangeRequestHirerRoleEnum.JOINT;
330
+ signature.Method = 'Upload';
331
+ return signature;
332
+ }));
333
+ const jointSignatures = yield Promise.all(jointSignaturePromises);
334
+ yield Promise.all([
335
+ mainSignature.create(loginUser, dbTransaction),
336
+ ...jointSignatures.map((sig) => sig.create(loginUser, dbTransaction)),
337
+ ]);
338
+ this.Signatures = [mainSignature, ...jointSignatures];
339
+ }
340
+ catch (error) {
341
+ console.error('Error creating signatures:', error);
342
+ throw error;
343
+ }
344
+ });
345
+ }
346
+ createAddRequest(newHirer, loginUser, dbTransaction) {
347
+ return __awaiter(this, void 0, void 0, function* () {
348
+ try {
349
+ if (!newHirer.FullName ||
350
+ !newHirer.NRIC ||
351
+ !newHirer.ContactNo ||
352
+ !newHirer.Address ||
353
+ !newHirer.City ||
354
+ !newHirer.State ||
355
+ !newHirer.Postcode ||
356
+ !newHirer.Country) {
357
+ throw new general_1.ClassError('HirerChangeRequest', 'HirerChangeRequestErrMsg10', 'FullName, NRIC, and ContactNo are required.');
358
+ }
359
+ this.Type = rental_hirer_change_request_type_1.HirerChangeRequestTypeEnum.ADD;
360
+ yield this.create(loginUser, dbTransaction);
361
+ const nh = yield hirer_change_request_new_hirer_1.HirerChangeRequestNewHirer.init();
362
+ nh.RequestId = this.RequestId;
363
+ nh.FullName = newHirer.FullName;
364
+ nh.Email = newHirer.Email;
365
+ nh.IdType = 'NRIC';
366
+ nh.IdNo = newHirer.NRIC;
367
+ nh.ContactNo = newHirer.ContactNo;
368
+ nh.Relationship = newHirer.Relationship;
369
+ nh.Address = newHirer.Address;
370
+ nh.City = newHirer.City;
371
+ nh.State = newHirer.State;
372
+ nh.Postcode = newHirer.Postcode;
373
+ nh.Country = newHirer.Country;
374
+ yield nh.create(loginUser, dbTransaction);
375
+ return {
376
+ hirerChangeRequest: this,
377
+ NewHirer: nh,
378
+ };
379
+ }
380
+ catch (error) {
381
+ console.error('Error creating add request:', error);
382
+ throw error;
383
+ }
384
+ });
385
+ }
386
+ createRemoveRequest(loginUser, dbTransaction, targetHirerId) {
387
+ return __awaiter(this, void 0, void 0, function* () {
388
+ try {
389
+ yield joint_hirer_1.JointHirer.init(targetHirerId, dbTransaction);
390
+ this.Type = rental_hirer_change_request_type_1.HirerChangeRequestTypeEnum.REMOVE;
391
+ yield this.create(loginUser, dbTransaction);
392
+ const removeHirer = yield hirer_change_request_remove_hirer_1.HirerChangeRequestRemoveHirer.init();
393
+ removeHirer.RemoveHirerId = this.createId();
394
+ removeHirer.RequestId = this.RequestId;
395
+ removeHirer.TargetHirerId = targetHirerId;
396
+ yield removeHirer.create(loginUser, dbTransaction);
397
+ return {
398
+ hirerChangeRequest: this,
399
+ RemoveHirer: removeHirer,
400
+ };
401
+ }
402
+ catch (error) {
403
+ console.error('Error creating remove request:', error);
404
+ throw error;
405
+ }
406
+ });
407
+ }
408
+ static findAll(loginUser, dbTransaction, rentalId) {
409
+ return __awaiter(this, void 0, void 0, function* () {
410
+ try {
411
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
412
+ const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'HIRER_CHANGE_REQUEST');
413
+ if (!isPrivileged) {
414
+ throw new general_1.ClassError('HirerChangeRequest', 'HirerChangeRequestErrMsg01', "You do not have 'HIRER_CHANGE_REQUEST' privilege.");
415
+ }
416
+ if (!rentalId) {
417
+ throw new general_1.ClassError('HirerChangeRequest', 'HirerChangeRequestErrMsg12', 'rentalId is required.');
418
+ }
419
+ yield rental_1.Rental.init(dbTransaction, rentalId);
420
+ const records = yield RentalHirerChangeRequest._Repository.findAll({
421
+ where: { RentalId: rentalId },
422
+ transaction: dbTransaction,
423
+ });
424
+ const result = (records || []).map((rec) => new RentalHirerChangeRequest(rec.get({ plain: true })));
425
+ return result;
426
+ }
427
+ catch (error) {
428
+ console.error('Error finding all RentalHirerChangeRequest:', error);
429
+ throw error;
430
+ }
431
+ });
432
+ }
433
+ getNewHirer(dbTransaction) {
434
+ return __awaiter(this, void 0, void 0, function* () {
435
+ try {
436
+ if (!this.RequestId) {
437
+ throw new general_1.ClassError('HirerChangeRequest', 'HirerChangeRequestErrMsg13', 'RequestId is required to get new hirer.');
438
+ }
439
+ const newHirerRecords = yield hirer_change_request_new_hirer_1.HirerChangeRequestNewHirer.findAll({
440
+ RequestId: this.RequestId,
441
+ }, dbTransaction);
442
+ return newHirerRecords[0] || null;
443
+ }
444
+ catch (error) {
445
+ console.error('Error getting new hirer:', error);
446
+ throw error;
447
+ }
448
+ });
449
+ }
450
+ getRemoveHirer(dbTransaction) {
451
+ return __awaiter(this, void 0, void 0, function* () {
452
+ try {
453
+ if (!this.RequestId) {
454
+ throw new general_1.ClassError('HirerChangeRequest', 'HirerChangeRequestErrMsg13', 'RequestId is required to get remove hirer.');
455
+ }
456
+ const removeHirerRecords = yield hirer_change_request_remove_hirer_1.HirerChangeRequestRemoveHirer.findAll({
457
+ RequestId: this.RequestId,
458
+ }, dbTransaction);
459
+ return removeHirerRecords[0] || null;
460
+ }
461
+ catch (error) {
462
+ console.error('Error getting remove hirer:', error);
463
+ throw error;
464
+ }
465
+ });
466
+ }
467
+ sign(loginUser, dbTransaction, signatureId) {
468
+ return __awaiter(this, void 0, void 0, function* () {
469
+ try {
470
+ if (!this.RequestId) {
471
+ throw new general_1.ClassError('HirerChangeRequest', 'HirerChangeRequestErrMsg13', 'RequestId is required to sign signature.');
472
+ }
473
+ const hcrSignature = yield hirer_change_request_signature_1.HirerChangeRequestSignature.init(signatureId, dbTransaction);
474
+ yield hcrSignature.markSigned(loginUser, dbTransaction);
475
+ return hcrSignature;
476
+ }
477
+ catch (error) {
478
+ throw error;
479
+ }
480
+ });
481
+ }
482
+ complete(loginUser, dbTransaction, customerId, customerType) {
483
+ return __awaiter(this, void 0, void 0, function* () {
484
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
485
+ const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'HIRER_CHANGE_REQUEST');
486
+ if (!isPrivileged) {
487
+ throw new general_1.ClassError('HirerChangeRequest', 'HirerChangeRequestErrMsg01', "You do not have 'HIRER_CHANGE_REQUEST' privilege.");
488
+ }
489
+ if (!this.RequestId) {
490
+ throw new general_1.ClassError('HirerChangeRequest', 'HirerChangeRequestErrMsg06', 'RequestId is required.');
491
+ }
492
+ const signatures = yield this.getSignatures(dbTransaction);
493
+ if (!signatures.length || !signatures.every((sig) => sig.SignedAt)) {
494
+ throw new general_1.ClassError('HirerChangeRequest', 'HirerChangeRequestErrMsg14', 'All signatures must be signed before completing the request.');
495
+ }
496
+ if (this.Type === rental_hirer_change_request_type_1.HirerChangeRequestTypeEnum.ADD) {
497
+ if (!customerId || !customerType) {
498
+ throw new general_1.ClassError('HirerChangeRequest', 'HirerChangeRequestErrMsg15', 'CustomerId and CustomerType are required for new hirer.');
499
+ }
500
+ const jointHirer = yield joint_hirer_1.JointHirer.init();
501
+ jointHirer.RentalId = this.RentalId;
502
+ jointHirer.CustomerId = customerId;
503
+ jointHirer.CustomerType = customerType;
504
+ yield jointHirer.create(loginUser, dbTransaction);
505
+ }
506
+ else if (this.Type === rental_hirer_change_request_type_1.HirerChangeRequestTypeEnum.REMOVE) {
507
+ const removeHirer = yield hirer_change_request_remove_hirer_1.HirerChangeRequestRemoveHirer.init(this.RequestId, dbTransaction);
508
+ const jointHirer = yield joint_hirer_1.JointHirer.init(removeHirer.TargetHirerId, dbTransaction);
509
+ yield jointHirer.remove(loginUser, dbTransaction);
510
+ }
511
+ const now = new Date();
512
+ const entityValueBefore = this.toJSON();
513
+ this.Status = rental_hirer_change_request_status_1.HirerChangeRequestStatusEnum.COMPLETED;
514
+ this.UpdatedAt = new Date();
515
+ this.UpdatedById = loginUser.ObjectId;
516
+ const entityValueAfter = this.toJSON();
517
+ yield RentalHirerChangeRequest._Repository.update(entityValueAfter, {
518
+ where: { RequestId: this.RequestId },
519
+ transaction: dbTransaction,
520
+ });
521
+ const activity = new activity_history_1.Activity();
522
+ activity.ObjectId = this._createId();
523
+ activity.Action = activity_history_1.ActionEnum.UPDATE;
524
+ activity.Description = `Mark request as completed.`;
525
+ activity.EntityId = this.RequestId;
526
+ activity.EntityType = this.ObjectType;
527
+ activity.EntityValueBefore = JSON.stringify(entityValueBefore);
528
+ activity.EntityValueAfter = JSON.stringify(entityValueAfter);
529
+ yield activity.create(loginUser.ObjectId, dbTransaction);
530
+ return this;
531
+ });
532
+ }
533
+ cancel(loginUser, dbTransaction, cancelRemarks) {
534
+ return __awaiter(this, void 0, void 0, function* () {
535
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
536
+ const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'HIRER_CHANGE_REQUEST');
537
+ if (!isPrivileged) {
538
+ throw new general_1.ClassError('HirerChangeRequest', 'HirerChangeRequestErrMsg01', "You do not have 'HIRER_CHANGE_REQUEST' privilege.");
539
+ }
540
+ if (!this.RequestId) {
541
+ throw new general_1.ClassError('HirerChangeRequest', 'HirerChangeRequestErrMsg06', 'RequestId is required.');
542
+ }
543
+ const entityValueBefore = this.toJSON();
544
+ this.Status = rental_hirer_change_request_status_1.HirerChangeRequestStatusEnum.CANCELLED;
545
+ this.CancelRemarks = cancelRemarks;
546
+ this.UpdatedAt = new Date();
547
+ this.UpdatedById = loginUser.ObjectId;
548
+ const entityValueAfter = this.toJSON();
549
+ yield RentalHirerChangeRequest._Repository.update(entityValueAfter, {
550
+ where: { RequestId: this.RequestId },
551
+ transaction: dbTransaction,
552
+ });
553
+ const activity = new activity_history_1.Activity();
554
+ activity.ObjectId = this._createId();
555
+ activity.Action = activity_history_1.ActionEnum.UPDATE;
556
+ activity.Description = `Cancel hirer change request.`;
557
+ activity.EntityId = this.RequestId;
558
+ activity.EntityType = this.ObjectType;
559
+ activity.EntityValueBefore = JSON.stringify(entityValueBefore);
560
+ activity.EntityValueAfter = JSON.stringify(entityValueAfter);
561
+ yield activity.create(loginUser.ObjectId, dbTransaction);
562
+ return this;
563
+ });
564
+ }
565
+ }
566
+ exports.RentalHirerChangeRequest = RentalHirerChangeRequest;
567
+ RentalHirerChangeRequest._Repository = new rental_hirer_change_request_repository_1.RentalHirerChangeRequestRepository();
568
+ RentalHirerChangeRequest._HirerSignatureRepository = new hirer_change_request_signature_repository_1.HirerChangeRequestSignatureRepository();
569
+ RentalHirerChangeRequest._JointHirerRepository = new joint_hirer_repository_1.JointHirerRepository();
570
+ //# sourceMappingURL=rental-hirer-change-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rental-hirer-change-request.js","sourceRoot":"","sources":["../../../../src/components/rental-hirer-change-request/rental-hirer-change-request.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { RepositoryBase, IRepositoryBase } from '@tomei/general';
2
+ import { RentalHirerChangeRequestModel } from '../../models/rental-hirer-change-request.entity';
3
+ export declare class RentalHirerChangeRequestRepository extends RepositoryBase<RentalHirerChangeRequestModel> implements IRepositoryBase<RentalHirerChangeRequestModel> {
4
+ constructor();
5
+ findByPk(id: string, transaction?: any): Promise<RentalHirerChangeRequestModel | null>;
6
+ delete(requestId: string, dbTransaction?: any): Promise<void>;
7
+ findAndCountAll(options?: any): Promise<any>;
8
+ findAll(options: any): Promise<RentalHirerChangeRequestModel[]>;
9
+ }