@tomei/rental 0.12.3 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) 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/components/agreement/agreement.d.ts +22 -0
  5. package/dist/src/components/agreement/agreement.js +89 -0
  6. package/dist/src/components/agreement/agreement.js.map +1 -0
  7. package/dist/src/components/agreement/agreement.repository.d.ts +8 -0
  8. package/dist/src/components/agreement/agreement.repository.js +67 -0
  9. package/dist/src/components/agreement/agreement.repository.js.map +1 -0
  10. package/dist/src/components/booking/booking.d.ts +46 -0
  11. package/dist/src/components/booking/booking.js +314 -0
  12. package/dist/src/components/booking/booking.js.map +1 -0
  13. package/dist/src/components/booking/booking.repository.d.ts +8 -0
  14. package/dist/src/components/booking/booking.repository.js +67 -0
  15. package/dist/src/components/booking/booking.repository.js.map +1 -0
  16. package/dist/src/components/hirer-signature/hirer-signature.d.ts +27 -0
  17. package/dist/src/components/hirer-signature/hirer-signature.js +112 -0
  18. package/dist/src/components/hirer-signature/hirer-signature.js.map +1 -0
  19. package/dist/src/components/hirer-signature/hirer-signature.repository.d.ts +8 -0
  20. package/dist/src/components/hirer-signature/hirer-signature.repository.js +67 -0
  21. package/dist/src/components/hirer-signature/hirer-signature.repository.js.map +1 -0
  22. package/dist/src/components/joint-hirer/joint-hirer.d.ts +23 -0
  23. package/dist/src/components/joint-hirer/joint-hirer.js +106 -0
  24. package/dist/src/components/joint-hirer/joint-hirer.js.map +1 -0
  25. package/dist/src/components/joint-hirer/joint-hirer.repository.d.ts +8 -0
  26. package/dist/src/components/joint-hirer/joint-hirer.repository.js +67 -0
  27. package/dist/src/components/joint-hirer/joint-hirer.repository.js.map +1 -0
  28. package/dist/src/components/rental/rental.d.ts +61 -0
  29. package/dist/src/components/rental/rental.js +687 -0
  30. package/dist/src/components/rental/rental.js.map +1 -0
  31. package/dist/src/components/rental/rental.repository.d.ts +8 -0
  32. package/dist/src/components/rental/rental.repository.js +67 -0
  33. package/dist/src/components/rental/rental.repository.js.map +1 -0
  34. package/dist/src/components/rental-price/rental-price.d.ts +18 -0
  35. package/dist/src/components/rental-price/rental-price.js +79 -0
  36. package/dist/src/components/rental-price/rental-price.js.map +1 -0
  37. package/dist/src/components/rental-price/rental-price.repository.d.ts +8 -0
  38. package/dist/src/components/rental-price/rental-price.repository.js +67 -0
  39. package/dist/src/components/rental-price/rental-price.repository.js.map +1 -0
  40. package/dist/src/database.d.ts +4 -0
  41. package/dist/src/database.js +27 -0
  42. package/dist/src/database.js.map +1 -0
  43. package/dist/src/enum/account-type.enum.d.ts +4 -0
  44. package/dist/src/enum/account-type.enum.js +9 -0
  45. package/dist/src/enum/account-type.enum.js.map +1 -0
  46. package/dist/src/enum/aggrement-status.enum.d.ts +5 -0
  47. package/dist/src/enum/aggrement-status.enum.js +10 -0
  48. package/dist/src/enum/aggrement-status.enum.js.map +1 -0
  49. package/dist/src/enum/booking.enum.d.ts +5 -0
  50. package/dist/src/enum/booking.enum.js +10 -0
  51. package/dist/src/enum/booking.enum.js.map +1 -0
  52. package/dist/src/enum/hirer-signature-status.enum.d.ts +4 -0
  53. package/dist/src/enum/hirer-signature-status.enum.js +9 -0
  54. package/dist/src/enum/hirer-signature-status.enum.js.map +1 -0
  55. package/dist/src/enum/hirer-type.enum.d.ts +4 -0
  56. package/dist/src/enum/hirer-type.enum.js +9 -0
  57. package/dist/src/enum/hirer-type.enum.js.map +1 -0
  58. package/dist/src/enum/index.d.ts +7 -0
  59. package/dist/src/enum/index.js +16 -0
  60. package/dist/src/enum/index.js.map +1 -0
  61. package/dist/src/enum/rental-status.enum.d.ts +9 -0
  62. package/dist/src/enum/rental-status.enum.js +14 -0
  63. package/dist/src/enum/rental-status.enum.js.map +1 -0
  64. package/dist/src/index.d.ts +17 -0
  65. package/dist/src/index.js +47 -0
  66. package/dist/src/index.js.map +1 -0
  67. package/dist/src/interfaces/agreement-attr.interface.d.ts +7 -0
  68. package/dist/src/interfaces/agreement-attr.interface.js +3 -0
  69. package/dist/src/interfaces/agreement-attr.interface.js.map +1 -0
  70. package/dist/src/interfaces/booking-attr.interface.d.ts +18 -0
  71. package/dist/src/interfaces/booking-attr.interface.js +3 -0
  72. package/dist/src/interfaces/booking-attr.interface.js.map +1 -0
  73. package/dist/src/interfaces/booking-find-all-search-attr.interface.d.ts +12 -0
  74. package/dist/src/interfaces/booking-find-all-search-attr.interface.js +3 -0
  75. package/dist/src/interfaces/booking-find-all-search-attr.interface.js.map +1 -0
  76. package/dist/src/interfaces/hirer-signature-attr.interface.d.ts +14 -0
  77. package/dist/src/interfaces/hirer-signature-attr.interface.js +3 -0
  78. package/dist/src/interfaces/hirer-signature-attr.interface.js.map +1 -0
  79. package/dist/src/interfaces/index.d.ts +9 -0
  80. package/dist/src/interfaces/index.js +3 -0
  81. package/dist/src/interfaces/index.js.map +1 -0
  82. package/dist/src/interfaces/joint-hirer-attr.interface.d.ts +10 -0
  83. package/dist/src/interfaces/joint-hirer-attr.interface.js +3 -0
  84. package/dist/src/interfaces/joint-hirer-attr.interface.js.map +1 -0
  85. package/dist/src/interfaces/rental-attr.interface.d.ts +24 -0
  86. package/dist/src/interfaces/rental-attr.interface.js +3 -0
  87. package/dist/src/interfaces/rental-attr.interface.js.map +1 -0
  88. package/dist/src/interfaces/rental-find-all-search-attr.interface.d.ts +10 -0
  89. package/dist/src/interfaces/rental-find-all-search-attr.interface.js +3 -0
  90. package/dist/src/interfaces/rental-find-all-search-attr.interface.js.map +1 -0
  91. package/dist/src/interfaces/rental-price-attr.interface.d.ts +7 -0
  92. package/dist/src/interfaces/rental-price-attr.interface.js +3 -0
  93. package/dist/src/interfaces/rental-price-attr.interface.js.map +1 -0
  94. package/dist/src/interfaces/response-hirer-signature-attr.interface.d.ts +15 -0
  95. package/dist/src/interfaces/response-hirer-signature-attr.interface.js +3 -0
  96. package/dist/src/interfaces/response-hirer-signature-attr.interface.js.map +1 -0
  97. package/dist/src/models/agreement.entity.d.ts +12 -0
  98. package/dist/src/models/agreement.entity.js +65 -0
  99. package/dist/src/models/agreement.entity.js.map +1 -0
  100. package/dist/src/models/booking.entity.d.ts +21 -0
  101. package/dist/src/models/booking.entity.js +128 -0
  102. package/dist/src/models/booking.entity.js.map +1 -0
  103. package/dist/src/models/hirer-signature.entity.d.ts +16 -0
  104. package/dist/src/models/hirer-signature.entity.js +100 -0
  105. package/dist/src/models/hirer-signature.entity.js.map +1 -0
  106. package/dist/src/models/index.d.ts +7 -0
  107. package/dist/src/models/index.js +16 -0
  108. package/dist/src/models/index.js.map +1 -0
  109. package/dist/src/models/joint-hirer.entity.d.ts +13 -0
  110. package/dist/src/models/joint-hirer.entity.js +79 -0
  111. package/dist/src/models/joint-hirer.entity.js.map +1 -0
  112. package/dist/src/models/rental-price.entity.d.ts +8 -0
  113. package/dist/src/models/rental-price.entity.js +59 -0
  114. package/dist/src/models/rental-price.entity.js.map +1 -0
  115. package/dist/src/models/rental.entity.d.ts +29 -0
  116. package/dist/src/models/rental.entity.js +160 -0
  117. package/dist/src/models/rental.entity.js.map +1 -0
  118. package/dist/tsconfig.tsbuildinfo +1 -0
  119. package/eslint.config.mjs +22 -1
  120. package/migrations/booking-table-migration.js +1 -1
  121. package/migrations/hirer-signature-table-migration.js +64 -0
  122. package/migrations/joint-hirer-table-migration.js +1 -1
  123. package/migrations/rental-aggrement-table-migration.js +1 -1
  124. package/migrations/rental-price-table-migration.js +1 -1
  125. package/migrations/rental-table-migrations.js +1 -1
  126. package/package.json +7 -10
  127. package/src/components/agreement/agreement.ts +70 -2
  128. package/src/components/hirer-signature/hirer-signature.repository.ts +54 -0
  129. package/src/components/hirer-signature/hirer-signature.ts +140 -0
  130. package/src/components/rental/rental.ts +111 -1
  131. package/src/database.ts +2 -0
  132. package/src/enum/hirer-signature-status.enum.ts +4 -0
  133. package/src/enum/hirer-type.enum.ts +4 -0
  134. package/src/enum/index.ts +4 -0
  135. package/src/index.ts +4 -0
  136. package/src/interfaces/hirer-signature-attr.interface.ts +15 -0
  137. package/src/interfaces/index.ts +4 -0
  138. package/src/interfaces/response-hirer-signature-attr.interface.ts +16 -0
  139. package/src/models/agreement.entity.ts +4 -0
  140. package/src/models/hirer-signature.entity.ts +81 -0
  141. package/src/models/index.ts +2 -0
  142. package/tsconfig.json +1 -0
  143. package/.eslintrc +0 -16
  144. package/.eslintrc.js +0 -35
  145. package/tomei-rental-0.9.4.tgz +0 -0
@@ -0,0 +1 @@
1
+ export * from './src';
package/dist/index.js ADDED
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./src"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAqB"}
@@ -0,0 +1,22 @@
1
+ import { ObjectBase } from '@tomei/general';
2
+ import { AggrementStatusEnum } from '../../enum/aggrement-status.enum';
3
+ import { IAgreementAttr } from '../../interfaces/agreement-attr.interface';
4
+ import { LoginUser } from '@tomei/sso';
5
+ import { HirerSignatureRepository } from '../hirer-signature/hirer-signature.repository';
6
+ import { IResponseHirerSignature } from '../../interfaces/response-hirer-signature-attr.interface';
7
+ export declare class Agreement extends ObjectBase {
8
+ ObjectId: string;
9
+ ObjectName: string;
10
+ ObjectType: string;
11
+ TableName: string;
12
+ Status: AggrementStatusEnum;
13
+ DateSigned: Date;
14
+ MediaId: string;
15
+ private static _Repo;
16
+ protected static _HirerSignatureRepo: HirerSignatureRepository;
17
+ get AgreementNo(): string;
18
+ set AgreementNo(value: string);
19
+ protected constructor(agreementAttr?: IAgreementAttr);
20
+ static init(agreementNo?: string, dbTransaction?: any): Promise<Agreement>;
21
+ static getSignatureList(loginUser: LoginUser, agreementNo: string, dbTransaction: any): Promise<IResponseHirerSignature[]>;
22
+ }
@@ -0,0 +1,89 @@
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.Agreement = void 0;
13
+ const general_1 = require("@tomei/general");
14
+ const agreement_repository_1 = require("./agreement.repository");
15
+ const config_1 = require("@tomei/config");
16
+ const hirer_signature_repository_1 = require("../hirer-signature/hirer-signature.repository");
17
+ const rentalDb = require("../../database");
18
+ const sequelize_1 = require("sequelize");
19
+ class Agreement extends general_1.ObjectBase {
20
+ get AgreementNo() {
21
+ return this.ObjectId;
22
+ }
23
+ set AgreementNo(value) {
24
+ this.ObjectId = value;
25
+ }
26
+ constructor(agreementAttr) {
27
+ super();
28
+ this.ObjectType = 'Agreement';
29
+ this.TableName = 'rental_Agreement';
30
+ if (agreementAttr) {
31
+ this.ObjectId = agreementAttr.AgreementNo;
32
+ this.Status = agreementAttr.Status;
33
+ this.DateSigned = agreementAttr.DateSigned;
34
+ this.MediaId = agreementAttr.MediaId;
35
+ }
36
+ }
37
+ static init(agreementNo, dbTransaction) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ try {
40
+ if (agreementNo) {
41
+ const agreement = yield this._Repo.findByPk(agreementNo, dbTransaction);
42
+ return new Agreement(agreement === null || agreement === void 0 ? void 0 : agreement.get({ plain: true }));
43
+ }
44
+ return new Agreement();
45
+ }
46
+ catch (error) {
47
+ throw error;
48
+ }
49
+ });
50
+ }
51
+ static getSignatureList(loginUser, agreementNo, dbTransaction) {
52
+ return __awaiter(this, void 0, void 0, function* () {
53
+ try {
54
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
55
+ const isPrivileged = loginUser.checkPrivileges(systemCode, 'AGREEMENT_SIGNATURE_LIST');
56
+ if (!isPrivileged) {
57
+ throw new general_1.ClassError('Agreement', 'AgreementErrMsg01', "You do not have 'AGREEMENT_SIGNATURE_LIST' privilege.");
58
+ }
59
+ if (!agreementNo) {
60
+ throw new general_1.ClassError('AgreementNo', 'AgreementNoErrMsg01', 'AgreementNo is missing');
61
+ }
62
+ const query = `
63
+ SELECT
64
+ hs.*,
65
+ c.FullName
66
+ FROM
67
+ rental_HirerSignature hs
68
+ LEFT JOIN
69
+ sdb_Customer c ON hs.CustomerId = c.CustomerId
70
+ WHERE
71
+ hs.AgreementNo = '${agreementNo}'
72
+ `;
73
+ const db = rentalDb.getConnection();
74
+ const signatures = yield db.query(query, {
75
+ type: sequelize_1.QueryTypes.SELECT,
76
+ transaction: dbTransaction,
77
+ });
78
+ return signatures;
79
+ }
80
+ catch (error) {
81
+ throw error;
82
+ }
83
+ });
84
+ }
85
+ }
86
+ exports.Agreement = Agreement;
87
+ Agreement._Repo = new agreement_repository_1.AgreementRepository();
88
+ Agreement._HirerSignatureRepo = new hirer_signature_repository_1.HirerSignatureRepository();
89
+ //# sourceMappingURL=agreement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agreement.js","sourceRoot":"","sources":["../../../../src/components/agreement/agreement.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAwD;AAGxD,iEAA6D;AAC7D,0CAAkD;AAElD,8FAAyF;AACzF,2CAA2C;AAC3C,yCAAuC;AAGvC,MAAa,SAAU,SAAQ,oBAAU;IAYvC,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,WAAW,CAAC,KAAa;QAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,YAAsB,aAA8B;QAClD,KAAK,EAAE,CAAC;QAlBV,eAAU,GAAW,WAAW,CAAC;QACjC,cAAS,GAAG,kBAAkB,CAAC;QAkB7B,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC;YAC1C,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;YACnC,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;YAC3C,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,MAAM,CAAO,IAAI,CACtB,WAAoB,EACpB,aAAmB;;YAEnB,IAAI,CAAC;gBACH,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;oBACxE,OAAO,IAAI,SAAS,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxD,CAAC;gBACD,OAAO,IAAI,SAAS,EAAE,CAAC;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KAAA;IAEM,MAAM,CAAO,gBAAgB,CAClC,SAAoB,EACpB,WAAmB,EACnB,aAAkB;;YAElB,IAAI,CAAC;gBAKH,MAAM,UAAU,GACd,0BAAiB,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;gBAC3D,MAAM,YAAY,GAAG,SAAS,CAAC,eAAe,CAC5C,UAAU,EACV,0BAA0B,CAC3B,CAAC;gBAEF,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,MAAM,IAAI,oBAAU,CAClB,WAAW,EACX,mBAAmB,EACnB,uDAAuD,CACxD,CAAC;gBACJ,CAAC;gBAID,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,MAAM,IAAI,oBAAU,CAClB,aAAa,EACb,qBAAqB,EACrB,wBAAwB,CACzB,CAAC;gBACJ,CAAC;gBAGD,MAAM,KAAK,GAAG;;;;;;;;;8BASU,WAAW;OAClC,CAAC;gBAEF,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;gBACpC,MAAM,UAAU,GAA8B,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE;oBAClE,IAAI,EAAE,sBAAU,CAAC,MAAM;oBACvB,WAAW,EAAE,aAAa;iBAC3B,CAAC,CAAC;gBAGH,OAAO,UAAU,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KAAA;;AAxGH,8BAyGC;AAhGgB,eAAK,GAAG,IAAI,0CAAmB,EAAE,AAA5B,CAA6B;AAChC,6BAAmB,GAAG,IAAI,qDAAwB,EAAE,AAAjC,CAAkC"}
@@ -0,0 +1,8 @@
1
+ import { RepositoryBase, IRepositoryBase } from '@tomei/general';
2
+ import { AgreementModel } from '../../models/agreement.entity';
3
+ export declare class AgreementRepository extends RepositoryBase<AgreementModel> implements IRepositoryBase<AgreementModel> {
4
+ constructor();
5
+ findByPk(id: string, transaction?: any): Promise<AgreementModel | null>;
6
+ delete(AgreementNo: string, dbTransaction?: any): Promise<void>;
7
+ findAndCountAll(options?: any): Promise<any>;
8
+ }
@@ -0,0 +1,67 @@
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.AgreementRepository = void 0;
13
+ const general_1 = require("@tomei/general");
14
+ const agreement_entity_1 = require("../../models/agreement.entity");
15
+ class AgreementRepository extends general_1.RepositoryBase {
16
+ constructor() {
17
+ super(agreement_entity_1.AgreementModel);
18
+ }
19
+ findByPk(id, transaction) {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ try {
22
+ const result = yield agreement_entity_1.AgreementModel.findByPk(id, {
23
+ transaction: transaction,
24
+ });
25
+ return result;
26
+ }
27
+ catch (error) {
28
+ throw new Error(`An Error occured when fetching : ${error.message}`);
29
+ }
30
+ });
31
+ }
32
+ delete(AgreementNo, dbTransaction) {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ try {
35
+ const options = {
36
+ where: {
37
+ AgreementNo,
38
+ },
39
+ transaction: dbTransaction,
40
+ };
41
+ yield agreement_entity_1.AgreementModel.destroy(options);
42
+ }
43
+ catch (error) {
44
+ throw new Error(`An Error occured when delete : ${error.message}`);
45
+ }
46
+ });
47
+ }
48
+ findAndCountAll(options) {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ try {
51
+ let Agreements;
52
+ if (options) {
53
+ Agreements = yield agreement_entity_1.AgreementModel.findAndCountAll(options);
54
+ }
55
+ else {
56
+ Agreements = yield agreement_entity_1.AgreementModel.findAndCountAll();
57
+ }
58
+ return Agreements;
59
+ }
60
+ catch (error) {
61
+ throw new Error(`An Error occured when retriving : ${error.message}`);
62
+ }
63
+ });
64
+ }
65
+ }
66
+ exports.AgreementRepository = AgreementRepository;
67
+ //# sourceMappingURL=agreement.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agreement.repository.js","sourceRoot":"","sources":["../../../../src/components/agreement/agreement.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAiE;AACjE,oEAA+D;AAE/D,MAAa,mBACX,SAAQ,wBAA8B;IAGtC;QACE,KAAK,CAAC,iCAAc,CAAC,CAAC;IACxB,CAAC;IAEK,QAAQ,CACZ,EAAU,EACV,WAAiB;;YAEjB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,iCAAc,CAAC,QAAQ,CAAC,EAAE,EAAE;oBAC/C,WAAW,EAAE,WAAW;iBACzB,CAAC,CAAC;gBAEH,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;KAAA;IAEK,MAAM,CAAC,WAAmB,EAAE,aAAmB;;YACnD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG;oBACd,KAAK,EAAE;wBACL,WAAW;qBACZ;oBACD,WAAW,EAAE,aAAa;iBAC3B,CAAC;gBACF,MAAM,iCAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;KAAA;IAEK,eAAe,CAAC,OAAa;;YACjC,IAAI,CAAC;gBACH,IAAI,UAAe,CAAC;gBACpB,IAAI,OAAO,EAAE,CAAC;oBACZ,UAAU,GAAG,MAAM,iCAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC7D,CAAC;qBAAM,CAAC;oBACN,UAAU,GAAG,MAAM,iCAAc,CAAC,eAAe,EAAE,CAAC;gBACtD,CAAC;gBACD,OAAO,UAAU,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,qCAAqC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;KAAA;CACF;AAlDD,kDAkDC"}
@@ -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,314 @@
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.Booking = void 0;
13
+ const general_1 = require("@tomei/general");
14
+ const booking_repository_1 = require("./booking.repository");
15
+ const luxon_1 = require("luxon");
16
+ const config_1 = require("@tomei/config");
17
+ const sequelize_1 = require("sequelize");
18
+ const rental_1 = require("../rental/rental");
19
+ const activity_history_1 = require("@tomei/activity-history");
20
+ class Booking extends general_1.ObjectBase {
21
+ get BookingNo() {
22
+ return this.ObjectId;
23
+ }
24
+ set BookingNo(value) {
25
+ this.ObjectId = value;
26
+ }
27
+ get CreatedById() {
28
+ return this._CreatedById;
29
+ }
30
+ get CreatedAt() {
31
+ return this._CreatedAt;
32
+ }
33
+ get UpdatedById() {
34
+ return this._UpdatedById;
35
+ }
36
+ get UpdatedAt() {
37
+ return this._UpdatedAt;
38
+ }
39
+ get ScheduledStartDateTime() {
40
+ return this._ScheduledStartDateTime;
41
+ }
42
+ get ScheduledEndDateTime() {
43
+ return this._ScheduledEndDateTime;
44
+ }
45
+ setScheduledStartDateTime(datetime) {
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ const dateTime = luxon_1.DateTime.fromJSDate(datetime);
48
+ const currentDateTime = luxon_1.DateTime.now();
49
+ if (dateTime <= currentDateTime) {
50
+ throw new general_1.ClassError('Booking', 'BookingErrMsg01', 'Booking must be for future date time.');
51
+ }
52
+ this._ScheduledStartDateTime = datetime;
53
+ });
54
+ }
55
+ setScheduledEndDateTime(datetime) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ const dateTime = luxon_1.DateTime.fromJSDate(datetime);
58
+ const currentDateTime = luxon_1.DateTime.now();
59
+ if (dateTime <= currentDateTime) {
60
+ throw new general_1.ClassError('Booking', 'BookingErrMsg01', 'Booking must be for future date time.');
61
+ }
62
+ if (!this._ScheduledStartDateTime) {
63
+ throw new general_1.ClassError('Booking', 'BookingErrMsg01', 'Booking start date time must be set before setting end date time.');
64
+ }
65
+ const startDateTime = luxon_1.DateTime.fromJSDate(this._ScheduledStartDateTime);
66
+ if (dateTime <= startDateTime) {
67
+ throw new general_1.ClassError('Booking', 'BookingErrMsg03', 'Booking end date time must be more than start date time.');
68
+ }
69
+ this._ScheduledEndDateTime = datetime;
70
+ });
71
+ }
72
+ constructor(bookingAttr) {
73
+ super();
74
+ this.ObjectType = 'Booking';
75
+ this.TableName = 'booking_Booking';
76
+ if (bookingAttr) {
77
+ this.ObjectId = bookingAttr.BookingNo;
78
+ this.CustomerId = bookingAttr.CustomerId;
79
+ this.CustomerType = bookingAttr.CustomerType;
80
+ this.ItemId = bookingAttr.ItemId;
81
+ this.ItemType = bookingAttr.ItemType;
82
+ this.PriceId = bookingAttr.PriceId;
83
+ this._ScheduledStartDateTime = bookingAttr.ScheduledStartDateTime;
84
+ this._ScheduledEndDateTime = bookingAttr.ScheduledEndDateTime;
85
+ this.BookingFee = bookingAttr.BookingFee;
86
+ this.Status = bookingAttr.Status;
87
+ this.CancelRemarks = bookingAttr.CancelRemarks;
88
+ this._CreatedById = bookingAttr.CreatedById;
89
+ this._CreatedAt = bookingAttr.CreatedAt;
90
+ this._UpdatedById = bookingAttr.UpdatedById;
91
+ this._UpdatedAt = bookingAttr.UpdatedAt;
92
+ }
93
+ }
94
+ static init(dbTransaction, bookingNo) {
95
+ return __awaiter(this, void 0, void 0, function* () {
96
+ try {
97
+ if (bookingNo) {
98
+ const booking = yield Booking._Repo.findOne({
99
+ where: {
100
+ BookingNo: bookingNo,
101
+ },
102
+ transaction: dbTransaction,
103
+ });
104
+ if (booking) {
105
+ return new Booking(booking.get({ plain: true }));
106
+ }
107
+ else {
108
+ throw new Error('Booking not found');
109
+ }
110
+ }
111
+ return new Booking();
112
+ }
113
+ catch (error) {
114
+ throw error;
115
+ }
116
+ });
117
+ }
118
+ create(dbTransaction, loginUser, rentalPrice) {
119
+ return __awaiter(this, void 0, void 0, function* () {
120
+ try {
121
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
122
+ const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'Booking - Create');
123
+ if (!isPrivileged) {
124
+ throw new general_1.ClassError('Booking', 'BookingErrMsg02', "You do not have 'Booking - Create' privilege.");
125
+ }
126
+ const isRentalAvailable = yield rental_1.Rental.isItemAvailable(this.ItemId, this.ItemType, this._ScheduledStartDateTime, this._ScheduledEndDateTime, dbTransaction);
127
+ const isBookingAvailable = yield Booking.isBookingItemAvailable(dbTransaction, this.ItemId, this.ItemType, this._ScheduledStartDateTime, this._ScheduledEndDateTime);
128
+ if (!isRentalAvailable || !isBookingAvailable) {
129
+ throw new general_1.ClassError('Booking', 'BookingErrMsg02', 'Booking is not available for the item on the chosen date.');
130
+ }
131
+ const rp = yield rentalPrice.create(loginUser, dbTransaction);
132
+ this.BookingNo = this.createId();
133
+ this.PriceId = rp.PriceId;
134
+ this._CreatedById = loginUser.ObjectId;
135
+ this._CreatedAt = luxon_1.DateTime.now().toJSDate();
136
+ this._UpdatedById = loginUser.ObjectId;
137
+ this._UpdatedAt = luxon_1.DateTime.now().toJSDate();
138
+ const data = {
139
+ BookingNo: this.BookingNo,
140
+ CustomerId: this.CustomerId,
141
+ CustomerType: this.CustomerType,
142
+ ItemId: this.ItemId,
143
+ ItemType: this.ItemType,
144
+ PriceId: this.PriceId,
145
+ ScheduledStartDateTime: this._ScheduledStartDateTime,
146
+ ScheduledEndDateTime: this._ScheduledEndDateTime,
147
+ BookingFee: this.BookingFee,
148
+ Status: this.Status,
149
+ CancelRemarks: this.CancelRemarks,
150
+ CreatedById: this._CreatedById,
151
+ CreatedAt: this._CreatedAt,
152
+ UpdatedById: this._UpdatedById,
153
+ UpdatedAt: this._UpdatedAt,
154
+ };
155
+ yield Booking._Repo.create(data, {
156
+ transaction: dbTransaction,
157
+ });
158
+ const activity = new activity_history_1.Activity();
159
+ activity.ActivityId = activity.createId();
160
+ activity.Action = activity_history_1.ActionEnum.CREATE;
161
+ activity.Description = 'Add Booking';
162
+ activity.EntityId = this.BookingNo;
163
+ activity.EntityType = this.ObjectType;
164
+ activity.EntityValueBefore = JSON.stringify({});
165
+ activity.EntityValueAfter = JSON.stringify(data);
166
+ yield activity.create(loginUser.ObjectId, dbTransaction);
167
+ return this;
168
+ }
169
+ catch (error) {
170
+ throw error;
171
+ }
172
+ });
173
+ }
174
+ static isBookingItemAvailable(dbTransaction, itemId, itemType, startDateTime, endDateTime) {
175
+ return __awaiter(this, void 0, void 0, function* () {
176
+ try {
177
+ const booking = yield Booking._Repo.findOne({
178
+ where: {
179
+ ItemId: itemId,
180
+ ItemType: itemType,
181
+ [sequelize_1.Op.and]: [
182
+ {
183
+ ScheduledStartDateTime: {
184
+ [sequelize_1.Op.lte]: endDateTime,
185
+ },
186
+ },
187
+ {
188
+ ScheduledEndDateTime: {
189
+ [sequelize_1.Op.gte]: startDateTime,
190
+ },
191
+ },
192
+ ],
193
+ },
194
+ transaction: dbTransaction,
195
+ });
196
+ if (booking) {
197
+ return false;
198
+ }
199
+ return true;
200
+ }
201
+ catch (error) {
202
+ throw error;
203
+ }
204
+ });
205
+ }
206
+ static findAll(dbTransaction, page, row, search) {
207
+ return __awaiter(this, void 0, void 0, function* () {
208
+ try {
209
+ const queryObj = {};
210
+ let options = {
211
+ transaction: dbTransaction,
212
+ order: [['CreatedAt', 'DESC']],
213
+ };
214
+ if (page && row) {
215
+ options = Object.assign(Object.assign({}, options), { limit: row, offset: row * (page - 1) });
216
+ }
217
+ if (search) {
218
+ Object.entries(search).forEach(([key, value]) => {
219
+ if (key === 'ScheduledStartDateTime') {
220
+ queryObj[key] = {
221
+ [sequelize_1.Op.gte]: value,
222
+ };
223
+ }
224
+ else if (key === 'ScheduledEndDateTime') {
225
+ queryObj[key] = {
226
+ [sequelize_1.Op.lte]: value,
227
+ };
228
+ }
229
+ else {
230
+ queryObj[key] = {
231
+ [sequelize_1.Op.substring]: value,
232
+ };
233
+ }
234
+ });
235
+ options = Object.assign(Object.assign({}, options), { where: queryObj });
236
+ }
237
+ return yield Booking._Repo.findAndCountAll(options);
238
+ }
239
+ catch (err) {
240
+ throw err;
241
+ }
242
+ });
243
+ }
244
+ static findOne(loginUser, dbTransaction, searchOptions) {
245
+ return __awaiter(this, void 0, void 0, function* () {
246
+ try {
247
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
248
+ const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'BOOKING_VIEW');
249
+ if (!isPrivileged) {
250
+ throw new general_1.ClassError('Booking', 'BookingErrMsg3', "You do not have 'BOOKING_VIEW' privilege.");
251
+ }
252
+ const record = yield Booking._Repo.findOne({
253
+ where: searchOptions,
254
+ transaction: dbTransaction,
255
+ });
256
+ if (record) {
257
+ const booking = yield Booking.init(dbTransaction, record.BookingNo);
258
+ return booking;
259
+ }
260
+ else {
261
+ return null;
262
+ }
263
+ }
264
+ catch (error) {
265
+ throw error;
266
+ }
267
+ });
268
+ }
269
+ static updateLeadToCustomer(loginUser, dbTransaction, LeadId, CustomerId) {
270
+ return __awaiter(this, void 0, void 0, function* () {
271
+ try {
272
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
273
+ const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'BOOKING_UPDATE');
274
+ if (!isPrivileged) {
275
+ throw new general_1.ClassError('Booking', 'BookingErrMsg02', "You do not have 'BOOKING_UPDATE' privilege");
276
+ }
277
+ if (!LeadId || !CustomerId) {
278
+ throw new general_1.ClassError('Booking', 'BookingErrMsg02', 'LeadId and CustomerId cannot be null or invalid');
279
+ }
280
+ const bookings = yield Booking._Repo.findAll({
281
+ where: {
282
+ [sequelize_1.Op.and]: [{ CustomerId: LeadId }, { CustomerType: 'Lead' }],
283
+ },
284
+ transaction: dbTransaction,
285
+ });
286
+ for (const booking of bookings) {
287
+ const EntityValueBefore = Object.assign({}, booking.get({ plain: true }));
288
+ booking.CustomerId = CustomerId;
289
+ booking.CustomerType = 'Customer';
290
+ booking.UpdatedById = loginUser.ObjectId;
291
+ booking.UpdatedAt = luxon_1.DateTime.now().toJSDate();
292
+ yield booking.save({
293
+ transaction: dbTransaction,
294
+ });
295
+ const activity = new activity_history_1.Activity();
296
+ activity.ActivityId = activity.createId();
297
+ activity.Action = activity_history_1.ActionEnum.UPDATE;
298
+ activity.Description = 'Update Lead to Customer';
299
+ activity.EntityType = 'Booking';
300
+ activity.EntityId = booking.BookingNo;
301
+ activity.EntityValueBefore = JSON.stringify(EntityValueBefore);
302
+ activity.EntityValueAfter = JSON.stringify(booking.get({ plain: true }));
303
+ yield activity.create(loginUser.ObjectId, dbTransaction);
304
+ }
305
+ }
306
+ catch (error) {
307
+ throw error;
308
+ }
309
+ });
310
+ }
311
+ }
312
+ exports.Booking = Booking;
313
+ Booking._Repo = new booking_repository_1.BookingRepository();
314
+ //# sourceMappingURL=booking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"booking.js","sourceRoot":"","sources":["../../../../src/components/booking/booking.ts"],"names":[],"mappings":"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"}
@@ -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
+ }