@tomei/rental 0.11.4 → 0.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/.husky/commit-msg +0 -0
  2. package/.husky/pre-commit +0 -0
  3. package/dist/index.d.ts +1 -1
  4. package/dist/index.js +17 -17
  5. package/dist/src/components/agreement/agreement.d.ts +17 -17
  6. package/dist/src/components/agreement/agreement.js +49 -49
  7. package/dist/src/components/agreement/agreement.js.map +1 -1
  8. package/dist/src/components/agreement/agreement.repository.d.ts +8 -8
  9. package/dist/src/components/agreement/agreement.repository.js +66 -66
  10. package/dist/src/components/agreement/agreement.repository.js.map +1 -1
  11. package/dist/src/components/booking/booking.d.ts +46 -45
  12. package/dist/src/components/booking/booking.js +313 -271
  13. package/dist/src/components/booking/booking.js.map +1 -1
  14. package/dist/src/components/booking/booking.repository.d.ts +8 -8
  15. package/dist/src/components/booking/booking.repository.js +66 -66
  16. package/dist/src/components/booking/booking.repository.js.map +1 -1
  17. package/dist/src/components/joint-hirer/joint-hirer.d.ts +23 -23
  18. package/dist/src/components/joint-hirer/joint-hirer.js +105 -105
  19. package/dist/src/components/joint-hirer/joint-hirer.js.map +1 -1
  20. package/dist/src/components/joint-hirer/joint-hirer.repository.d.ts +8 -8
  21. package/dist/src/components/joint-hirer/joint-hirer.repository.js +66 -66
  22. package/dist/src/components/joint-hirer/joint-hirer.repository.js.map +1 -1
  23. package/dist/src/components/rental/rental.d.ts +59 -59
  24. package/dist/src/components/rental/rental.js +603 -603
  25. package/dist/src/components/rental/rental.js.map +1 -1
  26. package/dist/src/components/rental/rental.repository.d.ts +8 -8
  27. package/dist/src/components/rental/rental.repository.js +66 -66
  28. package/dist/src/components/rental/rental.repository.js.map +1 -1
  29. package/dist/src/components/rental-price/rental-price.d.ts +18 -18
  30. package/dist/src/components/rental-price/rental-price.js +78 -78
  31. package/dist/src/components/rental-price/rental-price.js.map +1 -1
  32. package/dist/src/components/rental-price/rental-price.repository.d.ts +8 -8
  33. package/dist/src/components/rental-price/rental-price.repository.js +66 -66
  34. package/dist/src/components/rental-price/rental-price.repository.js.map +1 -1
  35. package/dist/src/database.d.ts +4 -4
  36. package/dist/src/database.js +24 -25
  37. package/dist/src/database.js.map +1 -1
  38. package/dist/src/enum/account-type.enum.d.ts +4 -4
  39. package/dist/src/enum/account-type.enum.js +8 -8
  40. package/dist/src/enum/account-type.enum.js.map +1 -1
  41. package/dist/src/enum/aggrement-status.enum.d.ts +5 -5
  42. package/dist/src/enum/aggrement-status.enum.js +9 -9
  43. package/dist/src/enum/aggrement-status.enum.js.map +1 -1
  44. package/dist/src/enum/booking.enum.d.ts +5 -5
  45. package/dist/src/enum/booking.enum.js +9 -9
  46. package/dist/src/enum/booking.enum.js.map +1 -1
  47. package/dist/src/enum/index.d.ts +5 -5
  48. package/dist/src/enum/index.js +11 -11
  49. package/dist/src/enum/rental-status.enum.d.ts +9 -9
  50. package/dist/src/enum/rental-status.enum.js +13 -13
  51. package/dist/src/enum/rental-status.enum.js.map +1 -1
  52. package/dist/src/index.d.ts +15 -15
  53. package/dist/src/index.js +42 -42
  54. package/dist/src/interfaces/agreement-attr.interface.d.ts +7 -7
  55. package/dist/src/interfaces/agreement-attr.interface.js +2 -2
  56. package/dist/src/interfaces/booking-attr.interface.d.ts +18 -18
  57. package/dist/src/interfaces/booking-attr.interface.js +2 -2
  58. package/dist/src/interfaces/booking-find-all-search-attr.interface.d.ts +12 -12
  59. package/dist/src/interfaces/booking-find-all-search-attr.interface.js +2 -2
  60. package/dist/src/interfaces/index.d.ts +7 -7
  61. package/dist/src/interfaces/index.js +2 -2
  62. package/dist/src/interfaces/joint-hirer-attr.interface.d.ts +10 -10
  63. package/dist/src/interfaces/joint-hirer-attr.interface.js +2 -2
  64. package/dist/src/interfaces/rental-attr.interface.d.ts +24 -24
  65. package/dist/src/interfaces/rental-attr.interface.js +2 -2
  66. package/dist/src/interfaces/rental-find-all-search-attr.interface.d.ts +10 -10
  67. package/dist/src/interfaces/rental-find-all-search-attr.interface.js +2 -2
  68. package/dist/src/interfaces/rental-price-attr.interface.d.ts +7 -7
  69. package/dist/src/interfaces/rental-price-attr.interface.js +2 -2
  70. package/dist/src/models/agreement.entity.d.ts +10 -10
  71. package/dist/src/models/agreement.entity.js +59 -59
  72. package/dist/src/models/agreement.entity.js.map +1 -1
  73. package/dist/src/models/booking.entity.d.ts +21 -21
  74. package/dist/src/models/booking.entity.js +127 -127
  75. package/dist/src/models/booking.entity.js.map +1 -1
  76. package/dist/src/models/index.d.ts +6 -6
  77. package/dist/src/models/index.js +13 -13
  78. package/dist/src/models/joint-hirer.entity.d.ts +13 -13
  79. package/dist/src/models/joint-hirer.entity.js +78 -78
  80. package/dist/src/models/joint-hirer.entity.js.map +1 -1
  81. package/dist/src/models/rental-price.entity.d.ts +8 -8
  82. package/dist/src/models/rental-price.entity.js +58 -58
  83. package/dist/src/models/rental-price.entity.js.map +1 -1
  84. package/dist/src/models/rental.entity.d.ts +29 -29
  85. package/dist/src/models/rental.entity.js +159 -159
  86. package/dist/src/models/rental.entity.js.map +1 -1
  87. package/dist/tsconfig.tsbuildinfo +1 -1
  88. package/eslint.config.mjs +37 -0
  89. package/migrations/booking-table-migration.js +1 -1
  90. package/migrations/joint-hirer-table-migration.js +1 -1
  91. package/migrations/rental-aggrement-table-migration.js +1 -1
  92. package/migrations/rental-price-table-migration.js +1 -1
  93. package/migrations/rental-table-migrations.js +1 -1
  94. package/package.json +33 -30
  95. package/src/components/booking/booking.ts +94 -1
  96. package/src/components/joint-hirer/joint-hirer.ts +1 -1
  97. package/src/components/rental/rental.ts +7 -10
  98. package/.eslintignore +0 -1
@@ -1,272 +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.ADD;
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
- }
270
- exports.Booking = Booking;
271
- Booking._Repo = new booking_repository_1.BookingRepository();
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();
272
314
  //# sourceMappingURL=booking.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"booking.js","sourceRoot":"","sources":["../../../../src/components/booking/booking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"booking.js","sourceRoot":"","sources":["../../../../src/components/booking/booking.ts"],"names":[],"mappings":"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"}
@@ -1,8 +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
- }
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
+ }