@tomei/rental 0.17.4 → 0.17.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 (295) hide show
  1. package/.commitlintrc.json +23 -23
  2. package/.gitlab-ci.yml +16 -16
  3. package/.husky/commit-msg +9 -9
  4. package/.husky/pre-commit +7 -7
  5. package/.prettierrc +4 -4
  6. package/Jenkinsfile +51 -51
  7. package/README.md +8 -8
  8. package/dist/ClassMappings/ItemClassMap.d.ts +4 -0
  9. package/dist/ClassMappings/ItemClassMap.js +8 -0
  10. package/dist/ClassMappings/ItemClassMap.js.map +1 -0
  11. package/dist/ClassMappings/index.d.ts +2 -0
  12. package/dist/ClassMappings/index.js +6 -0
  13. package/dist/ClassMappings/index.js.map +1 -0
  14. package/dist/components/agreement/agreement.d.ts +27 -0
  15. package/dist/components/agreement/agreement.js +120 -0
  16. package/dist/components/agreement/agreement.js.map +1 -0
  17. package/dist/components/agreement/agreement.repository.d.ts +8 -0
  18. package/dist/components/agreement/agreement.repository.js +52 -0
  19. package/dist/components/agreement/agreement.repository.js.map +1 -0
  20. package/dist/components/agreement-history/agreement-history.d.ts +17 -0
  21. package/dist/components/agreement-history/agreement-history.js +40 -0
  22. package/dist/components/agreement-history/agreement-history.js.map +1 -0
  23. package/dist/components/agreement-history/agreement-history.repository.d.ts +8 -0
  24. package/dist/components/agreement-history/agreement-history.repository.js +52 -0
  25. package/dist/components/agreement-history/agreement-history.repository.js.map +1 -0
  26. package/dist/components/agreement-signature/agreement-signature.d.ts +27 -0
  27. package/dist/components/agreement-signature/agreement-signature.js +99 -0
  28. package/dist/components/agreement-signature/agreement-signature.js.map +1 -0
  29. package/dist/components/agreement-signature/agreement-signature.repository.d.ts +8 -0
  30. package/dist/components/agreement-signature/agreement-signature.repository.js +53 -0
  31. package/dist/components/agreement-signature/agreement-signature.repository.js.map +1 -0
  32. package/dist/components/booking/booking.d.ts +46 -0
  33. package/dist/components/booking/booking.js +289 -0
  34. package/dist/components/booking/booking.js.map +1 -0
  35. package/dist/components/booking/booking.repository.d.ts +8 -0
  36. package/dist/components/booking/booking.repository.js +52 -0
  37. package/dist/components/booking/booking.repository.js.map +1 -0
  38. package/dist/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.d.ts +32 -0
  39. package/dist/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.js +106 -0
  40. package/dist/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.js.map +1 -0
  41. package/dist/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.repository.d.ts +9 -0
  42. package/dist/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.repository.js +62 -0
  43. package/dist/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.repository.js.map +1 -0
  44. package/dist/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.d.ts +22 -0
  45. package/dist/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.js +89 -0
  46. package/dist/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.js.map +1 -0
  47. package/dist/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.repository.d.ts +9 -0
  48. package/dist/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.repository.js +63 -0
  49. package/dist/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.repository.js.map +1 -0
  50. package/dist/components/hirer-change-request-signature/hirer-change-request-signature.d.ts +30 -0
  51. package/dist/components/hirer-change-request-signature/hirer-change-request-signature.js +208 -0
  52. package/dist/components/hirer-change-request-signature/hirer-change-request-signature.js.map +1 -0
  53. package/dist/components/hirer-change-request-signature/hirer-change-request-signature.repository.d.ts +9 -0
  54. package/dist/components/hirer-change-request-signature/hirer-change-request-signature.repository.js +63 -0
  55. package/dist/components/hirer-change-request-signature/hirer-change-request-signature.repository.js.map +1 -0
  56. package/dist/components/joint-hirer/joint-hirer.d.ts +26 -0
  57. package/dist/components/joint-hirer/joint-hirer.js +137 -0
  58. package/dist/components/joint-hirer/joint-hirer.js.map +1 -0
  59. package/dist/components/joint-hirer/joint-hirer.repository.d.ts +8 -0
  60. package/dist/components/joint-hirer/joint-hirer.repository.js +52 -0
  61. package/dist/components/joint-hirer/joint-hirer.repository.js.map +1 -0
  62. package/dist/components/rental/rental.d.ts +72 -0
  63. package/dist/components/rental/rental.js +844 -0
  64. package/dist/components/rental/rental.js.map +1 -0
  65. package/dist/components/rental/rental.repository.d.ts +8 -0
  66. package/dist/components/rental/rental.repository.js +52 -0
  67. package/dist/components/rental/rental.repository.js.map +1 -0
  68. package/dist/components/rental-hirer-change-request/rental-hirer-change-request.d.ts +71 -0
  69. package/dist/components/rental-hirer-change-request/rental-hirer-change-request.js +531 -0
  70. package/dist/components/rental-hirer-change-request/rental-hirer-change-request.js.map +1 -0
  71. package/dist/components/rental-hirer-change-request/rental-hirer-change-request.repository.d.ts +9 -0
  72. package/dist/components/rental-hirer-change-request/rental-hirer-change-request.repository.js +62 -0
  73. package/dist/components/rental-hirer-change-request/rental-hirer-change-request.repository.js.map +1 -0
  74. package/dist/components/rental-price/rental-price.d.ts +18 -0
  75. package/dist/components/rental-price/rental-price.js +66 -0
  76. package/dist/components/rental-price/rental-price.js.map +1 -0
  77. package/dist/components/rental-price/rental-price.repository.d.ts +8 -0
  78. package/dist/components/rental-price/rental-price.repository.js +52 -0
  79. package/dist/components/rental-price/rental-price.repository.js.map +1 -0
  80. package/dist/database.d.ts +4 -0
  81. package/dist/database.js +37 -0
  82. package/dist/database.js.map +1 -0
  83. package/dist/enum/account-type.enum.d.ts +4 -0
  84. package/dist/enum/account-type.enum.js +9 -0
  85. package/dist/enum/account-type.enum.js.map +1 -0
  86. package/dist/enum/aggrement-status.enum.d.ts +5 -0
  87. package/dist/enum/aggrement-status.enum.js +10 -0
  88. package/dist/enum/aggrement-status.enum.js.map +1 -0
  89. package/dist/enum/agreement-signature-status.enum.d.ts +4 -0
  90. package/dist/enum/agreement-signature-status.enum.js +9 -0
  91. package/dist/enum/agreement-signature-status.enum.js.map +1 -0
  92. package/dist/enum/agreement-signature-verification-method.enum.d.ts +4 -0
  93. package/dist/enum/agreement-signature-verification-method.enum.js +9 -0
  94. package/dist/enum/agreement-signature-verification-method.enum.js.map +1 -0
  95. package/dist/enum/booking.enum.d.ts +5 -0
  96. package/dist/enum/booking.enum.js +10 -0
  97. package/dist/enum/booking.enum.js.map +1 -0
  98. package/dist/enum/hirer-type.enum.d.ts +4 -0
  99. package/dist/enum/hirer-type.enum.js +9 -0
  100. package/dist/enum/hirer-type.enum.js.map +1 -0
  101. package/dist/enum/index.d.ts +11 -0
  102. package/dist/enum/index.js +24 -0
  103. package/dist/enum/index.js.map +1 -0
  104. package/dist/enum/rental-hirer-change-request-hirer-role.d.ts +4 -0
  105. package/dist/enum/rental-hirer-change-request-hirer-role.js +9 -0
  106. package/dist/enum/rental-hirer-change-request-hirer-role.js.map +1 -0
  107. package/dist/enum/rental-hirer-change-request-status.d.ts +7 -0
  108. package/dist/enum/rental-hirer-change-request-status.js +12 -0
  109. package/dist/enum/rental-hirer-change-request-status.js.map +1 -0
  110. package/dist/enum/rental-hirer-change-request-type.d.ts +4 -0
  111. package/dist/enum/rental-hirer-change-request-type.js +9 -0
  112. package/dist/enum/rental-hirer-change-request-type.js.map +1 -0
  113. package/dist/enum/rental-status.enum.d.ts +9 -0
  114. package/dist/enum/rental-status.enum.js +14 -0
  115. package/dist/enum/rental-status.enum.js.map +1 -0
  116. package/dist/interfaces/agreemeent-signature-attr.interface.d.ts +14 -0
  117. package/dist/interfaces/agreemeent-signature-attr.interface.js +3 -0
  118. package/dist/interfaces/agreemeent-signature-attr.interface.js.map +1 -0
  119. package/dist/interfaces/agreement-attr.interface.d.ts +7 -0
  120. package/dist/interfaces/agreement-attr.interface.js +3 -0
  121. package/dist/interfaces/agreement-attr.interface.js.map +1 -0
  122. package/dist/interfaces/agreement-history-attr.interface.d.ts +7 -0
  123. package/dist/interfaces/agreement-history-attr.interface.js +3 -0
  124. package/dist/interfaces/agreement-history-attr.interface.js.map +1 -0
  125. package/dist/interfaces/booking-attr.interface.d.ts +18 -0
  126. package/dist/interfaces/booking-attr.interface.js +3 -0
  127. package/dist/interfaces/booking-attr.interface.js.map +1 -0
  128. package/dist/interfaces/booking-find-all-search-attr.interface.d.ts +12 -0
  129. package/dist/interfaces/booking-find-all-search-attr.interface.js +3 -0
  130. package/dist/interfaces/booking-find-all-search-attr.interface.js.map +1 -0
  131. package/dist/interfaces/hirer-change-request-new-hirer-attr.interface.d.ts +15 -0
  132. package/dist/interfaces/hirer-change-request-new-hirer-attr.interface.js +3 -0
  133. package/dist/interfaces/hirer-change-request-new-hirer-attr.interface.js.map +1 -0
  134. package/dist/interfaces/hirer-change-request-remove-hirer-attr.interface.d.ts +5 -0
  135. package/dist/interfaces/hirer-change-request-remove-hirer-attr.interface.js +3 -0
  136. package/dist/interfaces/hirer-change-request-remove-hirer-attr.interface.js.map +1 -0
  137. package/dist/interfaces/hirer-change-request-signature-attr.interface.d.ts +14 -0
  138. package/dist/interfaces/hirer-change-request-signature-attr.interface.js +3 -0
  139. package/dist/interfaces/hirer-change-request-signature-attr.interface.js.map +1 -0
  140. package/dist/interfaces/index.d.ts +14 -0
  141. package/dist/interfaces/index.js +3 -0
  142. package/dist/interfaces/index.js.map +1 -0
  143. package/dist/interfaces/joint-hirer-attr.interface.d.ts +11 -0
  144. package/dist/interfaces/joint-hirer-attr.interface.js +3 -0
  145. package/dist/interfaces/joint-hirer-attr.interface.js.map +1 -0
  146. package/dist/interfaces/rental-attr.interface.d.ts +24 -0
  147. package/dist/interfaces/rental-attr.interface.js +3 -0
  148. package/dist/interfaces/rental-attr.interface.js.map +1 -0
  149. package/dist/interfaces/rental-find-all-search-attr.interface.d.ts +10 -0
  150. package/dist/interfaces/rental-find-all-search-attr.interface.js +3 -0
  151. package/dist/interfaces/rental-find-all-search-attr.interface.js.map +1 -0
  152. package/dist/interfaces/rental-hirer-change-request.attr.interface.d.ts +16 -0
  153. package/dist/interfaces/rental-hirer-change-request.attr.interface.js +3 -0
  154. package/dist/interfaces/rental-hirer-change-request.attr.interface.js.map +1 -0
  155. package/dist/interfaces/rental-hirer-change-request.update.interface.d.ts +4 -0
  156. package/dist/interfaces/rental-hirer-change-request.update.interface.js +3 -0
  157. package/dist/interfaces/rental-hirer-change-request.update.interface.js.map +1 -0
  158. package/dist/interfaces/rental-price-attr.interface.d.ts +7 -0
  159. package/dist/interfaces/rental-price-attr.interface.js +3 -0
  160. package/dist/interfaces/rental-price-attr.interface.js.map +1 -0
  161. package/dist/interfaces/response-hirer-signature-attr.interface.d.ts +14 -0
  162. package/dist/interfaces/response-hirer-signature-attr.interface.js +3 -0
  163. package/dist/interfaces/response-hirer-signature-attr.interface.js.map +1 -0
  164. package/dist/models/agreement-history.entity.d.ts +10 -0
  165. package/dist/models/agreement-history.entity.js +65 -0
  166. package/dist/models/agreement-history.entity.js.map +1 -0
  167. package/dist/models/agreement-signature.entity.d.ts +22 -0
  168. package/dist/models/agreement-signature.entity.js +123 -0
  169. package/dist/models/agreement-signature.entity.js.map +1 -0
  170. package/dist/models/agreement.entity.d.ts +14 -0
  171. package/dist/models/agreement.entity.js +70 -0
  172. package/dist/models/agreement.entity.js.map +1 -0
  173. package/dist/models/booking.entity.d.ts +21 -0
  174. package/dist/models/booking.entity.js +128 -0
  175. package/dist/models/booking.entity.js.map +1 -0
  176. package/dist/models/hirer-change-request-new-hirer.entity.d.ts +19 -0
  177. package/dist/models/hirer-change-request-new-hirer.entity.js +121 -0
  178. package/dist/models/hirer-change-request-new-hirer.entity.js.map +1 -0
  179. package/dist/models/hirer-change-request-remove-hirer.entity.d.ts +11 -0
  180. package/dist/models/hirer-change-request-remove-hirer.entity.js +57 -0
  181. package/dist/models/hirer-change-request-remove-hirer.entity.js.map +1 -0
  182. package/dist/models/hirer-change-request-signature.entity.d.ts +18 -0
  183. package/dist/models/hirer-change-request-signature.entity.js +101 -0
  184. package/dist/models/hirer-change-request-signature.entity.js.map +1 -0
  185. package/dist/models/index.d.ts +12 -0
  186. package/dist/models/index.js +26 -0
  187. package/dist/models/index.js.map +1 -0
  188. package/dist/models/joint-hirer.entity.d.ts +14 -0
  189. package/dist/models/joint-hirer.entity.js +91 -0
  190. package/dist/models/joint-hirer.entity.js.map +1 -0
  191. package/dist/models/rental-hirer-change-request.entity.d.ts +22 -0
  192. package/dist/models/rental-hirer-change-request.entity.js +108 -0
  193. package/dist/models/rental-hirer-change-request.entity.js.map +1 -0
  194. package/dist/models/rental-price.entity.d.ts +8 -0
  195. package/dist/models/rental-price.entity.js +59 -0
  196. package/dist/models/rental-price.entity.js.map +1 -0
  197. package/dist/models/rental.entity.d.ts +29 -0
  198. package/dist/models/rental.entity.js +160 -0
  199. package/dist/models/rental.entity.js.map +1 -0
  200. package/dist/src/components/agreement/agreement.js +9 -9
  201. package/dist/src/components/rental/rental.d.ts +2 -1
  202. package/dist/src/components/rental/rental.js +19 -16
  203. package/dist/src/components/rental/rental.js.map +1 -1
  204. package/dist/src/enum/agreement-signature-verification-method.enum.d.ts +4 -0
  205. package/dist/src/enum/agreement-signature-verification-method.enum.js +9 -0
  206. package/dist/src/enum/agreement-signature-verification-method.enum.js.map +1 -0
  207. package/dist/src/enum/index.d.ts +2 -1
  208. package/dist/src/enum/index.js +3 -1
  209. package/dist/src/enum/index.js.map +1 -1
  210. package/dist/src/models/agreement-signature.entity.d.ts +4 -0
  211. package/dist/src/models/agreement-signature.entity.js +22 -0
  212. package/dist/src/models/agreement-signature.entity.js.map +1 -1
  213. package/dist/tsconfig.build.tsbuildinfo +1 -0
  214. package/dist/tsconfig.tsbuildinfo +1 -1
  215. package/eslint.config.mjs +58 -58
  216. package/jest.config.js +10 -10
  217. package/migrations/20250529092130-add-status-to-joint-hirer.js +19 -19
  218. package/migrations/agreement-signature-table-migration.js +76 -64
  219. package/migrations/booking-table-migration.js +79 -79
  220. package/migrations/hirer-change-request-new-hirer-migration.js +72 -72
  221. package/migrations/hirer-change-request-remove-hirer-migration.js +39 -39
  222. package/migrations/hirer-change-request-signature-migration.js +65 -65
  223. package/migrations/joint-hirer-table-migration.js +52 -52
  224. package/migrations/rental-aggreement-history-migration.js +41 -41
  225. package/migrations/rental-aggrement-table-migration.js +30 -30
  226. package/migrations/rental-hirer-change-request-migrations.js +64 -64
  227. package/migrations/rental-price-table-migration.js +32 -32
  228. package/migrations/rental-table-migrations.js +96 -96
  229. package/package.json +80 -80
  230. package/sonar-project.properties +12 -12
  231. package/src/ClassMappings/ItemClassMap.ts +7 -7
  232. package/src/ClassMappings/index.ts +3 -3
  233. package/src/components/agreement/agreement.repository.ts +54 -54
  234. package/src/components/agreement/agreement.ts +187 -187
  235. package/src/components/agreement-history/agreement-history.repository.ts +54 -54
  236. package/src/components/agreement-history/agreement-history.ts +57 -57
  237. package/src/components/agreement-signature/agreement-signature.repository.ts +55 -55
  238. package/src/components/agreement-signature/agreement-signature.ts +143 -143
  239. package/src/components/booking/booking.repository.ts +51 -51
  240. package/src/components/booking/booking.ts +492 -492
  241. package/src/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.repository.ts +64 -64
  242. package/src/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.ts +153 -153
  243. package/src/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.repository.ts +65 -65
  244. package/src/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.ts +134 -134
  245. package/src/components/hirer-change-request-signature/hirer-change-request-signature.repository.ts +65 -65
  246. package/src/components/hirer-change-request-signature/hirer-change-request-signature.ts +272 -272
  247. package/src/components/joint-hirer/joint-hirer.repository.ts +54 -54
  248. package/src/components/joint-hirer/joint-hirer.ts +252 -252
  249. package/src/components/rental/rental.repository.ts +51 -51
  250. package/src/components/rental/rental.ts +1466 -1460
  251. package/src/components/rental-hirer-change-request/rental-hirer-change-request.repository.ts +64 -64
  252. package/src/components/rental-hirer-change-request/rental-hirer-change-request.ts +907 -907
  253. package/src/components/rental-price/rental-price.repository.ts +54 -54
  254. package/src/components/rental-price/rental-price.ts +100 -100
  255. package/src/database.ts +39 -39
  256. package/src/enum/account-type.enum.ts +4 -4
  257. package/src/enum/agreement-signature-status.enum.ts +4 -4
  258. package/src/enum/agreement-signature-verification-method.enum.ts +4 -0
  259. package/src/enum/booking.enum.ts +5 -5
  260. package/src/enum/hirer-type.enum.ts +4 -4
  261. package/src/enum/index.ts +23 -21
  262. package/src/enum/rental-hirer-change-request-hirer-role.ts +4 -4
  263. package/src/enum/rental-hirer-change-request-status.ts +7 -7
  264. package/src/enum/rental-hirer-change-request-type.ts +4 -4
  265. package/src/enum/rental-status.enum.ts +39 -39
  266. package/src/index.ts +54 -54
  267. package/src/interfaces/agreemeent-signature-attr.interface.ts +15 -15
  268. package/src/interfaces/agreement-attr.interface.ts +7 -7
  269. package/src/interfaces/agreement-history-attr.interface.ts +7 -7
  270. package/src/interfaces/booking-attr.interface.ts +19 -19
  271. package/src/interfaces/booking-find-all-search-attr.interface.ts +12 -12
  272. package/src/interfaces/hirer-change-request-new-hirer-attr.interface.ts +15 -15
  273. package/src/interfaces/hirer-change-request-remove-hirer-attr.interface.ts +5 -5
  274. package/src/interfaces/hirer-change-request-signature-attr.interface.ts +15 -15
  275. package/src/interfaces/index.ts +29 -29
  276. package/src/interfaces/joint-hirer-attr.interface.ts +11 -11
  277. package/src/interfaces/rental-attr.interface.ts +25 -25
  278. package/src/interfaces/rental-find-all-search-attr.interface.ts +11 -11
  279. package/src/interfaces/rental-hirer-change-request.attr.interface.ts +17 -17
  280. package/src/interfaces/rental-hirer-change-request.update.interface.ts +4 -4
  281. package/src/interfaces/rental-price-attr.interface.ts +7 -7
  282. package/src/interfaces/response-hirer-signature-attr.interface.ts +15 -15
  283. package/src/models/agreement-history.entity.ts +51 -51
  284. package/src/models/agreement-signature.entity.ts +105 -86
  285. package/src/models/agreement.entity.ts +47 -47
  286. package/src/models/booking.entity.ts +105 -105
  287. package/src/models/hirer-change-request-new-hirer.entity.ts +102 -102
  288. package/src/models/hirer-change-request-remove-hirer.entity.ts +47 -47
  289. package/src/models/hirer-change-request-signature.entity.ts +86 -86
  290. package/src/models/index.ts +25 -25
  291. package/src/models/joint-hirer.entity.ts +70 -70
  292. package/src/models/rental-price.entity.ts +38 -38
  293. package/src/models/rental.entity.ts +133 -133
  294. package/tsconfig.build.json +5 -5
  295. package/tsconfig.json +24 -24
@@ -0,0 +1,27 @@
1
+ import { ObjectBase } from '@tomei/general';
2
+ import { AgreementSignatureRepository } from './agreement-signature.repository';
3
+ import { IAgreementSignatureAttr } from '../../interfaces/agreemeent-signature-attr.interface';
4
+ import { LoginUser } from '@tomei/sso';
5
+ import { AgreementSignatureStatusEnum } from '../../enum/agreement-signature-status.enum';
6
+ export declare class AgreementSignature extends ObjectBase implements IAgreementSignatureAttr {
7
+ ObjectId: string;
8
+ ObjectName: string;
9
+ ObjectType: string;
10
+ TableName: string;
11
+ AgreementNo: string;
12
+ Party: string;
13
+ PartyId: string;
14
+ PartyType: string;
15
+ SignatureStatus: AgreementSignatureStatusEnum;
16
+ SignedAt: Date;
17
+ CreatedById: string;
18
+ CreatedAt: Date;
19
+ UpdatedById: string;
20
+ UpdatedAt: Date;
21
+ get SignatureId(): string;
22
+ set SignatureId(value: string);
23
+ protected static _Repository: AgreementSignatureRepository;
24
+ protected constructor(AgreementSignatureAttr?: IAgreementSignatureAttr);
25
+ static init(AgreementSignatureId?: string, dbTransaction?: any): Promise<AgreementSignature>;
26
+ create(loginUser: LoginUser, dbTransaction?: any): Promise<this>;
27
+ }
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AgreementSignature = void 0;
4
+ const general_1 = require("@tomei/general");
5
+ const agreement_signature_repository_1 = require("./agreement-signature.repository");
6
+ const config_1 = require("@tomei/config");
7
+ const activity_history_1 = require("@tomei/activity-history");
8
+ class AgreementSignature extends general_1.ObjectBase {
9
+ get SignatureId() {
10
+ return this.ObjectId;
11
+ }
12
+ set SignatureId(value) {
13
+ this.ObjectId = value;
14
+ }
15
+ constructor(AgreementSignatureAttr) {
16
+ super();
17
+ this.ObjectType = 'AgreementSignature';
18
+ this.TableName = 'rental_AgreementSignature';
19
+ if (AgreementSignatureAttr) {
20
+ this.SignatureId = AgreementSignatureAttr.SignatureId;
21
+ this.AgreementNo = AgreementSignatureAttr.AgreementNo;
22
+ this.Party = AgreementSignatureAttr.Party;
23
+ this.PartyId = AgreementSignatureAttr.PartyId;
24
+ this.PartyType = AgreementSignatureAttr.PartyType;
25
+ this.SignatureStatus = AgreementSignatureAttr.SignatureStatus;
26
+ this.SignedAt = AgreementSignatureAttr.SignedAt;
27
+ this.CreatedById = AgreementSignatureAttr.CreatedById;
28
+ this.CreatedAt = AgreementSignatureAttr.CreatedAt;
29
+ this.UpdatedById = AgreementSignatureAttr.UpdatedById;
30
+ this.UpdatedAt = AgreementSignatureAttr.UpdatedAt;
31
+ }
32
+ }
33
+ static async init(AgreementSignatureId, dbTransaction) {
34
+ try {
35
+ if (AgreementSignatureId) {
36
+ const hs = await AgreementSignature._Repository.findByPk(AgreementSignatureId, dbTransaction);
37
+ if (hs) {
38
+ return new AgreementSignature(hs.get({ plain: true }));
39
+ }
40
+ else {
41
+ throw new general_1.ClassError('AgreementSignature', 'AgreementSignatureErrMsg01', 'AgreementSignature not found');
42
+ }
43
+ }
44
+ return new AgreementSignature();
45
+ }
46
+ catch (error) {
47
+ throw error;
48
+ }
49
+ }
50
+ async create(loginUser, dbTransaction) {
51
+ try {
52
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
53
+ const isPrivileged = await loginUser.checkPrivileges(systemCode, 'AgreementSignature - Create');
54
+ if (!isPrivileged) {
55
+ throw new general_1.ClassError('AgreementSignature', 'AgreementSignatureErrMsg00', "You do not have 'AgreementSignature - Create' privilege.");
56
+ }
57
+ if (!this.AgreementNo || !this.PartyId || !this.PartyType) {
58
+ throw new general_1.ClassError('AgreementSignature', 'AgreementSignatureErrMsg03', 'AgreementNo, PartyId and PartyType are required.');
59
+ }
60
+ this.ObjectId = this.createId();
61
+ this.CreatedById = loginUser.ObjectId;
62
+ this.CreatedAt = new Date();
63
+ this.UpdatedById = loginUser.ObjectId;
64
+ this.UpdatedAt = new Date();
65
+ const entityValueAfter = {
66
+ SignatureId: this.SignatureId,
67
+ AgreementNo: this.AgreementNo,
68
+ Party: this.Party,
69
+ PartyId: this.PartyId,
70
+ PartyType: this.PartyType,
71
+ SignatureStatus: this.SignatureStatus,
72
+ SignedAt: this.SignedAt,
73
+ CreatedById: this.CreatedById,
74
+ CreatedAt: this.CreatedAt,
75
+ UpdatedById: this.UpdatedById,
76
+ UpdatedAt: this.UpdatedAt,
77
+ };
78
+ await AgreementSignature._Repository.create(entityValueAfter, {
79
+ transaction: dbTransaction,
80
+ });
81
+ const activity = new activity_history_1.Activity();
82
+ activity.ObjectId = this.createId();
83
+ activity.Action = activity_history_1.ActionEnum.CREATE;
84
+ activity.Description = 'Add Joint Hirer Signature';
85
+ activity.EntityId = this.ObjectId;
86
+ activity.EntityType = this.ObjectType;
87
+ activity.EntityValueBefore = JSON.stringify({});
88
+ activity.EntityValueAfter = JSON.stringify(entityValueAfter);
89
+ await activity.create(loginUser.ObjectId, dbTransaction);
90
+ return this;
91
+ }
92
+ catch (error) {
93
+ throw error;
94
+ }
95
+ }
96
+ }
97
+ exports.AgreementSignature = AgreementSignature;
98
+ AgreementSignature._Repository = new agreement_signature_repository_1.AgreementSignatureRepository();
99
+ //# sourceMappingURL=agreement-signature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agreement-signature.js","sourceRoot":"","sources":["../../../src/components/agreement-signature/agreement-signature.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { RepositoryBase, IRepositoryBase } from '@tomei/general';
2
+ import { AgreementSignatureModel } from '../../models/agreement-signature.entity';
3
+ export declare class AgreementSignatureRepository extends RepositoryBase<AgreementSignatureModel> implements IRepositoryBase<AgreementSignatureModel> {
4
+ constructor();
5
+ findByPk(id: string, transaction?: any): Promise<AgreementSignatureModel | null>;
6
+ delete(partyId: string, dbTransaction?: any): Promise<void>;
7
+ findAndCountAll(options?: any): Promise<any>;
8
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AgreementSignatureRepository = void 0;
4
+ const general_1 = require("@tomei/general");
5
+ const agreement_signature_entity_1 = require("../../models/agreement-signature.entity");
6
+ class AgreementSignatureRepository extends general_1.RepositoryBase {
7
+ constructor() {
8
+ super(agreement_signature_entity_1.AgreementSignatureModel);
9
+ }
10
+ async findByPk(id, transaction) {
11
+ try {
12
+ const result = await agreement_signature_entity_1.AgreementSignatureModel.findByPk(id, {
13
+ transaction: transaction,
14
+ });
15
+ return result;
16
+ }
17
+ catch (error) {
18
+ throw new Error(`An Error occured when fetching : ${error.message}`);
19
+ }
20
+ }
21
+ async delete(partyId, dbTransaction) {
22
+ try {
23
+ const options = {
24
+ where: {
25
+ PartyId: partyId,
26
+ },
27
+ transaction: dbTransaction,
28
+ };
29
+ await agreement_signature_entity_1.AgreementSignatureModel.destroy(options);
30
+ }
31
+ catch (error) {
32
+ throw new Error(`An Error occured when delete : ${error.message}`);
33
+ }
34
+ }
35
+ async findAndCountAll(options) {
36
+ try {
37
+ let AgreementSignature;
38
+ if (options) {
39
+ AgreementSignature =
40
+ await agreement_signature_entity_1.AgreementSignatureModel.findAndCountAll(options);
41
+ }
42
+ else {
43
+ AgreementSignature = await agreement_signature_entity_1.AgreementSignatureModel.findAndCountAll();
44
+ }
45
+ return AgreementSignature;
46
+ }
47
+ catch (error) {
48
+ throw new Error(`An Error occured when retriving : ${error.message}`);
49
+ }
50
+ }
51
+ }
52
+ exports.AgreementSignatureRepository = AgreementSignatureRepository;
53
+ //# sourceMappingURL=agreement-signature.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agreement-signature.repository.js","sourceRoot":"","sources":["../../../src/components/agreement-signature/agreement-signature.repository.ts"],"names":[],"mappings":";;;AAAA,4CAAiE;AACjE,wFAAkF;AAElF,MAAa,4BACX,SAAQ,wBAAuC;IAG/C;QACE,KAAK,CAAC,oDAAuB,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,EAAU,EACV,WAAiB;QAEjB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,oDAAuB,CAAC,QAAQ,CAAC,EAAE,EAAE;gBACxD,WAAW,EAAE,WAAW;aACzB,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,aAAmB;QAC/C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG;gBACd,KAAK,EAAE;oBACL,OAAO,EAAE,OAAO;iBACjB;gBACD,WAAW,EAAE,aAAa;aAC3B,CAAC;YACF,MAAM,oDAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAa;QACjC,IAAI,CAAC;YACH,IAAI,kBAAuB,CAAC;YAC5B,IAAI,OAAO,EAAE,CAAC;gBACZ,kBAAkB;oBAChB,MAAM,oDAAuB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,kBAAkB,GAAG,MAAM,oDAAuB,CAAC,eAAe,EAAE,CAAC;YACvE,CAAC;YACD,OAAO,kBAAkB,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,qCAAqC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;CACF;AAnDD,oEAmDC"}
@@ -0,0 +1,46 @@
1
+ import { ObjectBase } from '@tomei/general';
2
+ import { BookingStatusEnum } from '../../enum/booking.enum';
3
+ import { IBookingAttr } from '../../interfaces/booking-attr.interface';
4
+ import { BookingRepository } from './booking.repository';
5
+ import { LoginUser } from '@tomei/sso';
6
+ import { RentalPrice } from '../rental-price/rental-price';
7
+ import { WhereOptions } from 'sequelize';
8
+ import { IBookingFindAllSearchAttr } from '../../interfaces/booking-find-all-search-attr.interface';
9
+ export declare class Booking extends ObjectBase {
10
+ ObjectId: string;
11
+ ObjectName: string;
12
+ ObjectType: string;
13
+ TableName: string;
14
+ CustomerId: string;
15
+ CustomerType: string;
16
+ ItemId: string;
17
+ ItemType: string;
18
+ PriceId: string;
19
+ protected _ScheduledStartDateTime: Date;
20
+ protected _ScheduledEndDateTime: Date;
21
+ BookingFee: number;
22
+ Status: BookingStatusEnum;
23
+ CancelRemarks: string;
24
+ protected _CreatedById: string;
25
+ protected _CreatedAt: Date;
26
+ protected _UpdatedById: string;
27
+ protected _UpdatedAt: Date;
28
+ protected static _Repo: BookingRepository;
29
+ get BookingNo(): string;
30
+ set BookingNo(value: string);
31
+ get CreatedById(): string;
32
+ get CreatedAt(): Date;
33
+ get UpdatedById(): string;
34
+ get UpdatedAt(): Date;
35
+ get ScheduledStartDateTime(): Date;
36
+ get ScheduledEndDateTime(): Date;
37
+ setScheduledStartDateTime(datetime: Date): Promise<void>;
38
+ setScheduledEndDateTime(datetime: Date): Promise<void>;
39
+ protected constructor(bookingAttr?: IBookingAttr);
40
+ static init(dbTransaction?: any, bookingNo?: string): Promise<Booking>;
41
+ create(dbTransaction: any, loginUser: LoginUser, rentalPrice: RentalPrice): Promise<this>;
42
+ static isBookingItemAvailable(dbTransaction: any, itemId: string, itemType: string, startDateTime: Date, endDateTime: Date): Promise<boolean>;
43
+ static findAll(dbTransaction: any, page?: number, row?: number, search?: IBookingFindAllSearchAttr): Promise<any>;
44
+ static findOne(loginUser: LoginUser, dbTransaction: any, searchOptions: WhereOptions): Promise<Booking>;
45
+ static updateLeadToCustomer(loginUser: LoginUser, dbTransaction: any, LeadId: string, CustomerId: string): Promise<void>;
46
+ }
@@ -0,0 +1,289 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Booking = void 0;
4
+ const general_1 = require("@tomei/general");
5
+ const booking_repository_1 = require("./booking.repository");
6
+ const luxon_1 = require("luxon");
7
+ const config_1 = require("@tomei/config");
8
+ const sequelize_1 = require("sequelize");
9
+ const rental_1 = require("../rental/rental");
10
+ const activity_history_1 = require("@tomei/activity-history");
11
+ class Booking extends general_1.ObjectBase {
12
+ get BookingNo() {
13
+ return this.ObjectId;
14
+ }
15
+ set BookingNo(value) {
16
+ this.ObjectId = value;
17
+ }
18
+ get CreatedById() {
19
+ return this._CreatedById;
20
+ }
21
+ get CreatedAt() {
22
+ return this._CreatedAt;
23
+ }
24
+ get UpdatedById() {
25
+ return this._UpdatedById;
26
+ }
27
+ get UpdatedAt() {
28
+ return this._UpdatedAt;
29
+ }
30
+ get ScheduledStartDateTime() {
31
+ return this._ScheduledStartDateTime;
32
+ }
33
+ get ScheduledEndDateTime() {
34
+ return this._ScheduledEndDateTime;
35
+ }
36
+ async setScheduledStartDateTime(datetime) {
37
+ const dateTime = luxon_1.DateTime.fromJSDate(datetime);
38
+ const currentDateTime = luxon_1.DateTime.now();
39
+ if (dateTime <= currentDateTime) {
40
+ throw new general_1.ClassError('Booking', 'BookingErrMsg01', 'Booking must be for future date time.');
41
+ }
42
+ this._ScheduledStartDateTime = datetime;
43
+ }
44
+ async setScheduledEndDateTime(datetime) {
45
+ const dateTime = luxon_1.DateTime.fromJSDate(datetime);
46
+ const currentDateTime = luxon_1.DateTime.now();
47
+ if (dateTime <= currentDateTime) {
48
+ throw new general_1.ClassError('Booking', 'BookingErrMsg01', 'Booking must be for future date time.');
49
+ }
50
+ if (!this._ScheduledStartDateTime) {
51
+ throw new general_1.ClassError('Booking', 'BookingErrMsg01', 'Booking start date time must be set before setting end date time.');
52
+ }
53
+ const startDateTime = luxon_1.DateTime.fromJSDate(this._ScheduledStartDateTime);
54
+ if (dateTime <= startDateTime) {
55
+ throw new general_1.ClassError('Booking', 'BookingErrMsg03', 'Booking end date time must be more than start date time.');
56
+ }
57
+ this._ScheduledEndDateTime = datetime;
58
+ }
59
+ constructor(bookingAttr) {
60
+ super();
61
+ this.ObjectType = 'Booking';
62
+ this.TableName = 'booking_Booking';
63
+ if (bookingAttr) {
64
+ this.ObjectId = bookingAttr.BookingNo;
65
+ this.CustomerId = bookingAttr.CustomerId;
66
+ this.CustomerType = bookingAttr.CustomerType;
67
+ this.ItemId = bookingAttr.ItemId;
68
+ this.ItemType = bookingAttr.ItemType;
69
+ this.PriceId = bookingAttr.PriceId;
70
+ this._ScheduledStartDateTime = bookingAttr.ScheduledStartDateTime;
71
+ this._ScheduledEndDateTime = bookingAttr.ScheduledEndDateTime;
72
+ this.BookingFee = bookingAttr.BookingFee;
73
+ this.Status = bookingAttr.Status;
74
+ this.CancelRemarks = bookingAttr.CancelRemarks;
75
+ this._CreatedById = bookingAttr.CreatedById;
76
+ this._CreatedAt = bookingAttr.CreatedAt;
77
+ this._UpdatedById = bookingAttr.UpdatedById;
78
+ this._UpdatedAt = bookingAttr.UpdatedAt;
79
+ }
80
+ }
81
+ static async init(dbTransaction, bookingNo) {
82
+ try {
83
+ if (bookingNo) {
84
+ const booking = await Booking._Repo.findOne({
85
+ where: {
86
+ BookingNo: bookingNo,
87
+ },
88
+ transaction: dbTransaction,
89
+ });
90
+ if (booking) {
91
+ return new Booking(booking.get({ plain: true }));
92
+ }
93
+ else {
94
+ throw new Error('Booking not found');
95
+ }
96
+ }
97
+ return new Booking();
98
+ }
99
+ catch (error) {
100
+ throw error;
101
+ }
102
+ }
103
+ async create(dbTransaction, loginUser, rentalPrice) {
104
+ try {
105
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
106
+ const isPrivileged = await loginUser.checkPrivileges(systemCode, 'Booking - Create');
107
+ if (!isPrivileged) {
108
+ throw new general_1.ClassError('Booking', 'BookingErrMsg02', "You do not have 'Booking - Create' privilege.");
109
+ }
110
+ const isRentalAvailable = await rental_1.Rental.isItemAvailable(this.ItemId, this.ItemType, this._ScheduledStartDateTime, this._ScheduledEndDateTime, dbTransaction);
111
+ const isBookingAvailable = await Booking.isBookingItemAvailable(dbTransaction, this.ItemId, this.ItemType, this._ScheduledStartDateTime, this._ScheduledEndDateTime);
112
+ if (!isRentalAvailable || !isBookingAvailable) {
113
+ throw new general_1.ClassError('Booking', 'BookingErrMsg02', 'Booking is not available for the item on the chosen date.');
114
+ }
115
+ const rp = await rentalPrice.create(loginUser, dbTransaction);
116
+ this.BookingNo = this.createId();
117
+ this.PriceId = rp.PriceId;
118
+ this._CreatedById = loginUser.ObjectId;
119
+ this._CreatedAt = luxon_1.DateTime.now().toJSDate();
120
+ this._UpdatedById = loginUser.ObjectId;
121
+ this._UpdatedAt = luxon_1.DateTime.now().toJSDate();
122
+ const data = {
123
+ BookingNo: this.BookingNo,
124
+ CustomerId: this.CustomerId,
125
+ CustomerType: this.CustomerType,
126
+ ItemId: this.ItemId,
127
+ ItemType: this.ItemType,
128
+ PriceId: this.PriceId,
129
+ ScheduledStartDateTime: this._ScheduledStartDateTime,
130
+ ScheduledEndDateTime: this._ScheduledEndDateTime,
131
+ BookingFee: this.BookingFee,
132
+ Status: this.Status,
133
+ CancelRemarks: this.CancelRemarks,
134
+ CreatedById: this._CreatedById,
135
+ CreatedAt: this._CreatedAt,
136
+ UpdatedById: this._UpdatedById,
137
+ UpdatedAt: this._UpdatedAt,
138
+ };
139
+ await Booking._Repo.create(data, {
140
+ transaction: dbTransaction,
141
+ });
142
+ const activity = new activity_history_1.Activity();
143
+ activity.ActivityId = activity.createId();
144
+ activity.Action = activity_history_1.ActionEnum.CREATE;
145
+ activity.Description = 'Add Booking';
146
+ activity.EntityId = this.BookingNo;
147
+ activity.EntityType = this.ObjectType;
148
+ activity.EntityValueBefore = JSON.stringify({});
149
+ activity.EntityValueAfter = JSON.stringify(data);
150
+ await activity.create(loginUser.ObjectId, dbTransaction);
151
+ return this;
152
+ }
153
+ catch (error) {
154
+ throw error;
155
+ }
156
+ }
157
+ static async isBookingItemAvailable(dbTransaction, itemId, itemType, startDateTime, endDateTime) {
158
+ try {
159
+ const booking = await Booking._Repo.findOne({
160
+ where: {
161
+ ItemId: itemId,
162
+ ItemType: itemType,
163
+ [sequelize_1.Op.and]: [
164
+ {
165
+ ScheduledStartDateTime: {
166
+ [sequelize_1.Op.lte]: endDateTime,
167
+ },
168
+ },
169
+ {
170
+ ScheduledEndDateTime: {
171
+ [sequelize_1.Op.gte]: startDateTime,
172
+ },
173
+ },
174
+ ],
175
+ },
176
+ transaction: dbTransaction,
177
+ });
178
+ if (booking) {
179
+ return false;
180
+ }
181
+ return true;
182
+ }
183
+ catch (error) {
184
+ throw error;
185
+ }
186
+ }
187
+ static async findAll(dbTransaction, page, row, search) {
188
+ try {
189
+ const queryObj = {};
190
+ let options = {
191
+ transaction: dbTransaction,
192
+ order: [['CreatedAt', 'DESC']],
193
+ };
194
+ if (page && row) {
195
+ options = Object.assign(Object.assign({}, options), { limit: row, offset: row * (page - 1) });
196
+ }
197
+ if (search) {
198
+ Object.entries(search).forEach(([key, value]) => {
199
+ if (key === 'ScheduledStartDateTime') {
200
+ queryObj[key] = {
201
+ [sequelize_1.Op.gte]: value,
202
+ };
203
+ }
204
+ else if (key === 'ScheduledEndDateTime') {
205
+ queryObj[key] = {
206
+ [sequelize_1.Op.lte]: value,
207
+ };
208
+ }
209
+ else {
210
+ queryObj[key] = {
211
+ [sequelize_1.Op.substring]: value,
212
+ };
213
+ }
214
+ });
215
+ options = Object.assign(Object.assign({}, options), { where: queryObj });
216
+ }
217
+ return await Booking._Repo.findAndCountAll(options);
218
+ }
219
+ catch (err) {
220
+ throw err;
221
+ }
222
+ }
223
+ static async findOne(loginUser, dbTransaction, searchOptions) {
224
+ try {
225
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
226
+ const isPrivileged = await loginUser.checkPrivileges(systemCode, 'BOOKING_VIEW');
227
+ if (!isPrivileged) {
228
+ throw new general_1.ClassError('Booking', 'BookingErrMsg3', "You do not have 'BOOKING_VIEW' privilege.");
229
+ }
230
+ const record = await Booking._Repo.findOne({
231
+ where: searchOptions,
232
+ transaction: dbTransaction,
233
+ });
234
+ if (record) {
235
+ const booking = await Booking.init(dbTransaction, record.BookingNo);
236
+ return booking;
237
+ }
238
+ else {
239
+ return null;
240
+ }
241
+ }
242
+ catch (error) {
243
+ throw error;
244
+ }
245
+ }
246
+ static async updateLeadToCustomer(loginUser, dbTransaction, LeadId, CustomerId) {
247
+ try {
248
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
249
+ const isPrivileged = await loginUser.checkPrivileges(systemCode, 'BOOKING_UPDATE');
250
+ if (!isPrivileged) {
251
+ throw new general_1.ClassError('Booking', 'BookingErrMsg02', "You do not have 'BOOKING_UPDATE' privilege");
252
+ }
253
+ if (!LeadId || !CustomerId) {
254
+ throw new general_1.ClassError('Booking', 'BookingErrMsg02', 'LeadId and CustomerId cannot be null or invalid');
255
+ }
256
+ const bookings = await Booking._Repo.findAll({
257
+ where: {
258
+ [sequelize_1.Op.and]: [{ CustomerId: LeadId }, { CustomerType: 'Lead' }],
259
+ },
260
+ transaction: dbTransaction,
261
+ });
262
+ for (const booking of bookings) {
263
+ const EntityValueBefore = Object.assign({}, booking.get({ plain: true }));
264
+ booking.CustomerId = CustomerId;
265
+ booking.CustomerType = 'Customer';
266
+ booking.UpdatedById = loginUser.ObjectId;
267
+ booking.UpdatedAt = luxon_1.DateTime.now().toJSDate();
268
+ await booking.save({
269
+ transaction: dbTransaction,
270
+ });
271
+ const activity = new activity_history_1.Activity();
272
+ activity.ActivityId = activity.createId();
273
+ activity.Action = activity_history_1.ActionEnum.UPDATE;
274
+ activity.Description = 'Update Lead to Customer';
275
+ activity.EntityType = 'Booking';
276
+ activity.EntityId = booking.BookingNo;
277
+ activity.EntityValueBefore = JSON.stringify(EntityValueBefore);
278
+ activity.EntityValueAfter = JSON.stringify(booking.get({ plain: true }));
279
+ await activity.create(loginUser.ObjectId, dbTransaction);
280
+ }
281
+ }
282
+ catch (error) {
283
+ throw error;
284
+ }
285
+ }
286
+ }
287
+ exports.Booking = Booking;
288
+ Booking._Repo = new booking_repository_1.BookingRepository();
289
+ //# sourceMappingURL=booking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"booking.js","sourceRoot":"","sources":["../../../src/components/booking/booking.ts"],"names":[],"mappings":";;;AAAA,4CAAwD;AAGxD,6DAAyD;AACzD,iCAAiC;AAGjC,0CAAkD;AAClD,yCAAoD;AACpD,6CAA0C;AAC1C,8DAA+D;AAG/D,MAAa,OAAQ,SAAQ,oBAAU;IAsBrC,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,SAAS,CAAC,KAAa;QACzB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,sBAAsB;QACxB,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,QAAc;QAC5C,MAAM,QAAQ,GAAG,gBAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,eAAe,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC;QACvC,IAAI,QAAQ,IAAI,eAAe,EAAE,CAAC;YAChC,MAAM,IAAI,oBAAU,CAClB,SAAS,EACT,iBAAiB,EACjB,uCAAuC,CACxC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,uBAAuB,GAAG,QAAQ,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,QAAc;QAC1C,MAAM,QAAQ,GAAG,gBAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,eAAe,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC;QACvC,IAAI,QAAQ,IAAI,eAAe,EAAE,CAAC;YAChC,MAAM,IAAI,oBAAU,CAClB,SAAS,EACT,iBAAiB,EACjB,uCAAuC,CACxC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAClC,MAAM,IAAI,oBAAU,CAClB,SAAS,EACT,iBAAiB,EACjB,mEAAmE,CACpE,CAAC;QACJ,CAAC;QAED,MAAM,aAAa,GAAG,gBAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACxE,IAAI,QAAQ,IAAI,aAAa,EAAE,CAAC;YAC9B,MAAM,IAAI,oBAAU,CAClB,SAAS,EACT,iBAAiB,EACjB,0DAA0D,CAC3D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC;IACxC,CAAC;IAED,YAAsB,WAA0B;QAC9C,KAAK,EAAE,CAAC;QAhGV,eAAU,GAAW,SAAS,CAAC;QAC/B,cAAS,GAAG,iBAAiB,CAAC;QAgG5B,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;YACzC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;YACrC,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;YACnC,IAAI,CAAC,uBAAuB,GAAG,WAAW,CAAC,sBAAsB,CAAC;YAClE,IAAI,CAAC,qBAAqB,GAAG,WAAW,CAAC,oBAAoB,CAAC;YAC9D,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;YACzC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;YACjC,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC;YAC/C,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,WAAW,CAAC;YAC5C,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC;YACxC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,WAAW,CAAC;YAC5C,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC;QAC1C,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,aAAmB,EAAE,SAAkB;QAC9D,IAAI,CAAC;YACH,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;oBAC1C,KAAK,EAAE;wBACL,SAAS,EAAE,SAAS;qBACrB;oBACD,WAAW,EAAE,aAAa;iBAC3B,CAAC,CAAC;gBAEH,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACnD,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;YACD,OAAO,IAAI,OAAO,EAAE,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,MAAM,CACjB,aAAkB,EAClB,SAAoB,EACpB,WAAwB;QAGxB,IAAI,CAAC;YAEH,MAAM,UAAU,GACd,0BAAiB,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;YAC3D,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,eAAe,CAClD,UAAU,EACV,kBAAkB,CACnB,CAAC;YAEF,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,oBAAU,CAClB,SAAS,EACT,iBAAiB,EACjB,+CAA+C,CAChD,CAAC;YACJ,CAAC;YAID,MAAM,iBAAiB,GAAG,MAAM,eAAM,CAAC,eAAe,CACpD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,uBAAuB,EAC5B,IAAI,CAAC,qBAAqB,EAC1B,aAAa,CACd,CAAC;YAEF,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,sBAAsB,CAC7D,aAAa,EACb,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,uBAAuB,EAC5B,IAAI,CAAC,qBAAqB,CAC3B,CAAC;YAEF,IAAI,CAAC,iBAAiB,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC9C,MAAM,IAAI,oBAAU,CAClB,SAAS,EACT,iBAAiB,EACjB,2DAA2D,CAC5D,CAAC;YACJ,CAAC;YAGD,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAG9D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;YAC1B,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC;YACvC,IAAI,CAAC,UAAU,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC5C,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC;YACvC,IAAI,CAAC,UAAU,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;YAG5C,MAAM,IAAI,GAAiB;gBACzB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,sBAAsB,EAAE,IAAI,CAAC,uBAAuB;gBACpD,oBAAoB,EAAE,IAAI,CAAC,qBAAqB;gBAChD,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,WAAW,EAAE,IAAI,CAAC,YAAY;gBAC9B,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,WAAW,EAAE,IAAI,CAAC,YAAY;gBAC9B,SAAS,EAAE,IAAI,CAAC,UAAU;aAC3B,CAAC;YAEF,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;gBAC/B,WAAW,EAAE,aAAa;aAC3B,CAAC,CAAC;YAGH,MAAM,QAAQ,GAAG,IAAI,2BAAQ,EAAE,CAAC;YAChC,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC1C,QAAQ,CAAC,MAAM,GAAG,6BAAU,CAAC,MAAM,CAAC;YACpC,QAAQ,CAAC,WAAW,GAAG,aAAa,CAAC;YACrC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;YACnC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACtC,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAChD,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAEjD,MAAM,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAEzD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,sBAAsB,CACxC,aAAkB,EAClB,MAAc,EACd,QAAgB,EAChB,aAAmB,EACnB,WAAiB;QAGjB,IAAI,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;gBAC1C,KAAK,EAAE;oBACL,MAAM,EAAE,MAAM;oBACd,QAAQ,EAAE,QAAQ;oBAClB,CAAC,cAAE,CAAC,GAAG,CAAC,EAAE;wBACR;4BACE,sBAAsB,EAAE;gCACtB,CAAC,cAAE,CAAC,GAAG,CAAC,EAAE,WAAW;6BACtB;yBACF;wBACD;4BACE,oBAAoB,EAAE;gCACpB,CAAC,cAAE,CAAC,GAAG,CAAC,EAAE,aAAa;6BACxB;yBACF;qBACF;iBACF;gBACD,WAAW,EAAE,aAAa;aAC3B,CAAC,CAAC;YAGH,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,OAAO,CACzB,aAAkB,EAClB,IAAa,EACb,GAAY,EACZ,MAAkC;QAElC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAQ,EAAE,CAAC;YAEzB,IAAI,OAAO,GAAQ;gBACjB,WAAW,EAAE,aAAa;gBAC1B,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;aAC/B,CAAC;YAEF,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;gBAChB,OAAO,mCACF,OAAO,KACV,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GACzB,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;oBAC9C,IAAI,GAAG,KAAK,wBAAwB,EAAE,CAAC;wBACrC,QAAQ,CAAC,GAAG,CAAC,GAAG;4BACd,CAAC,cAAE,CAAC,GAAG,CAAC,EAAE,KAAK;yBAChB,CAAC;oBACJ,CAAC;yBAAM,IAAI,GAAG,KAAK,sBAAsB,EAAE,CAAC;wBAC1C,QAAQ,CAAC,GAAG,CAAC,GAAG;4BACd,CAAC,cAAE,CAAC,GAAG,CAAC,EAAE,KAAK;yBAChB,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,GAAG,CAAC,GAAG;4BACd,CAAC,cAAE,CAAC,SAAS,CAAC,EAAE,KAAK;yBACtB,CAAC;oBACJ,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,OAAO,mCACF,OAAO,KACV,KAAK,EAAE,QAAQ,GAChB,CAAC;YACJ,CAAC;YAED,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,OAAO,CACzB,SAAoB,EACpB,aAAkB,EAClB,aAA2B;QAG3B,IAAI,CAAC;YAMH,MAAM,UAAU,GACd,0BAAiB,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;YAC3D,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,eAAe,CAClD,UAAU,EACV,cAAc,CACf,CAAC;YAEF,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,oBAAU,CAClB,SAAS,EACT,gBAAgB,EAChB,2CAA2C,CAC5C,CAAC;YACJ,CAAC;YAOD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;gBACzC,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,aAAa;aAC3B,CAAC,CAAC;YAOH,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;gBACpE,OAAO,OAAO,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,oBAAoB,CACtC,SAAoB,EACpB,aAAkB,EAClB,MAAc,EACd,UAAkB;QAGlB,IAAI,CAAC;YAKH,MAAM,UAAU,GACd,0BAAiB,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;YAC3D,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,eAAe,CAClD,UAAU,EACV,gBAAgB,CACjB,CAAC;YACF,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,oBAAU,CAClB,SAAS,EACT,iBAAiB,EACjB,4CAA4C,CAC7C,CAAC;YACJ,CAAC;YAGD,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC3B,MAAM,IAAI,oBAAU,CAClB,SAAS,EACT,iBAAiB,EACjB,iDAAiD,CAClD,CAAC;YACJ,CAAC;YAQD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;gBAC3C,KAAK,EAAE;oBACL,CAAC,cAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;iBAC7D;gBACD,WAAW,EAAE,aAAa;aAC3B,CAAC,CAAC;YAGH,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAI/B,MAAM,iBAAiB,qBAClB,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAChC,CAAC;gBACF,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;gBAChC,OAAO,CAAC,YAAY,GAAG,UAAU,CAAC;gBAClC,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC;gBACzC,OAAO,CAAC,SAAS,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAC9C,MAAM,OAAO,CAAC,IAAI,CAAC;oBACjB,WAAW,EAAE,aAAa;iBAC3B,CAAC,CAAC;gBAWH,MAAM,QAAQ,GAAG,IAAI,2BAAQ,EAAE,CAAC;gBAChC,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAC1C,QAAQ,CAAC,MAAM,GAAG,6BAAU,CAAC,MAAM,CAAC;gBACpC,QAAQ,CAAC,WAAW,GAAG,yBAAyB,CAAC;gBACjD,QAAQ,CAAC,UAAU,GAAG,SAAS,CAAC;gBAChC,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;gBACtC,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;gBAC/D,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CACxC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAC7B,CAAC;gBAIF,MAAM,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;;AA7dH,0BA8dC;AA1ckB,aAAK,GAAG,IAAI,sCAAiB,EAAE,AAA1B,CAA2B"}
@@ -0,0 +1,8 @@
1
+ import { RepositoryBase, IRepositoryBase } from '@tomei/general';
2
+ import { BookingModel } from '../../models/booking.entity';
3
+ export declare class BookingRepository extends RepositoryBase<BookingModel> implements IRepositoryBase<BookingModel> {
4
+ constructor();
5
+ findByPk(id: string, transaction?: any): Promise<BookingModel | null>;
6
+ delete(BookingNo: string, dbTransaction?: any): Promise<void>;
7
+ findAndCountAll(options?: any): Promise<any>;
8
+ }
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BookingRepository = void 0;
4
+ const general_1 = require("@tomei/general");
5
+ const booking_entity_1 = require("../../models/booking.entity");
6
+ class BookingRepository extends general_1.RepositoryBase {
7
+ constructor() {
8
+ super(booking_entity_1.BookingModel);
9
+ }
10
+ async findByPk(id, transaction) {
11
+ try {
12
+ const result = await booking_entity_1.BookingModel.findByPk(id, {
13
+ transaction: transaction,
14
+ });
15
+ return result;
16
+ }
17
+ catch (error) {
18
+ throw new Error(`An Error occured when fetching : ${error.message}`);
19
+ }
20
+ }
21
+ async delete(BookingNo, dbTransaction) {
22
+ try {
23
+ const options = {
24
+ where: {
25
+ BookingNo: BookingNo,
26
+ },
27
+ transaction: dbTransaction,
28
+ };
29
+ await booking_entity_1.BookingModel.destroy(options);
30
+ }
31
+ catch (error) {
32
+ throw new Error(`An Error occured when delete : ${error.message}`);
33
+ }
34
+ }
35
+ async findAndCountAll(options) {
36
+ try {
37
+ let Bookings;
38
+ if (options) {
39
+ Bookings = await booking_entity_1.BookingModel.findAndCountAll(options);
40
+ }
41
+ else {
42
+ Bookings = await booking_entity_1.BookingModel.findAndCountAll();
43
+ }
44
+ return Bookings;
45
+ }
46
+ catch (error) {
47
+ throw new Error(`An Error occured when retriving : ${error.message}`);
48
+ }
49
+ }
50
+ }
51
+ exports.BookingRepository = BookingRepository;
52
+ //# sourceMappingURL=booking.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"booking.repository.js","sourceRoot":"","sources":["../../../src/components/booking/booking.repository.ts"],"names":[],"mappings":";;;AAAA,4CAAiE;AACjE,gEAA2D;AAE3D,MAAa,iBACX,SAAQ,wBAA4B;IAGpC;QACE,KAAK,CAAC,6BAAY,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAU,EAAE,WAAiB;QAC1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,6BAAY,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAC7C,WAAW,EAAE,WAAW;aACzB,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,aAAmB;QACjD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG;gBACd,KAAK,EAAE;oBACL,SAAS,EAAE,SAAS;iBACrB;gBACD,WAAW,EAAE,aAAa;aAC3B,CAAC;YACF,MAAM,6BAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAa;QACjC,IAAI,CAAC;YACH,IAAI,QAAa,CAAC;YAClB,IAAI,OAAO,EAAE,CAAC;gBACZ,QAAQ,GAAG,MAAM,6BAAY,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,MAAM,6BAAY,CAAC,eAAe,EAAE,CAAC;YAClD,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,qCAAqC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;CACF;AA/CD,8CA+CC"}
@@ -0,0 +1,32 @@
1
+ import { ObjectBase } from '@tomei/general';
2
+ import { IHirerChangeRequestNewHirerAttr } from '../../interfaces/hirer-change-request-new-hirer-attr.interface';
3
+ import { HirerChangeRequestNewHirerRepository } from './hirer-change-request-new-hirer.repository';
4
+ import { LoginUser } from '@tomei/sso';
5
+ export declare class HirerChangeRequestNewHirer extends ObjectBase implements IHirerChangeRequestNewHirerAttr {
6
+ ObjectId: string;
7
+ ObjectName: string;
8
+ ObjectType: string;
9
+ TableName: string;
10
+ RequestId: string;
11
+ FullName: string;
12
+ Email: string;
13
+ IdType: string;
14
+ IdNo: string;
15
+ ContactNo: string;
16
+ Relationship: string;
17
+ Address: string;
18
+ City: string;
19
+ State: string;
20
+ Postcode: string;
21
+ Country: string;
22
+ get NewHirerId(): string;
23
+ set NewHirerId(value: string);
24
+ protected static _Repository: HirerChangeRequestNewHirerRepository;
25
+ protected constructor(attr?: IHirerChangeRequestNewHirerAttr);
26
+ static init(newHirerId?: string, dbTransaction?: any): Promise<HirerChangeRequestNewHirer>;
27
+ static findAll(search: {
28
+ RequestId?: string;
29
+ }, dbTransaction?: any): Promise<HirerChangeRequestNewHirer[]>;
30
+ toJSON(): IHirerChangeRequestNewHirerAttr;
31
+ create(loginUser: LoginUser, dbTransaction?: any): Promise<void>;
32
+ }