@tomei/rental 0.17.4-dev.4 → 0.17.4-dev.5

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