@tomei/rental 0.4.4 → 0.5.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 (46) hide show
  1. package/.gitlab-ci.yml +16 -0
  2. package/dist/src/components/booking/booking.d.ts +38 -0
  3. package/dist/src/components/booking/booking.js +200 -0
  4. package/dist/src/components/booking/booking.js.map +1 -0
  5. package/dist/src/components/booking/booking.repository.d.ts +8 -0
  6. package/dist/src/components/booking/booking.repository.js +67 -0
  7. package/dist/src/components/booking/booking.repository.js.map +1 -0
  8. package/dist/src/components/rental/rental.d.ts +1 -1
  9. package/dist/src/components/rental/rental.js +6 -6
  10. package/dist/src/components/rental/rental.js.map +1 -1
  11. package/dist/src/database.js +2 -0
  12. package/dist/src/database.js.map +1 -1
  13. package/dist/src/enum/booking.enum.d.ts +5 -0
  14. package/dist/src/enum/booking.enum.js +10 -0
  15. package/dist/src/enum/booking.enum.js.map +1 -0
  16. package/dist/src/enum/index.d.ts +2 -1
  17. package/dist/src/enum/index.js +3 -1
  18. package/dist/src/enum/index.js.map +1 -1
  19. package/dist/src/index.d.ts +3 -1
  20. package/dist/src/index.js +5 -1
  21. package/dist/src/index.js.map +1 -1
  22. package/dist/src/interfaces/booking-attr.interface.d.ts +18 -0
  23. package/dist/src/interfaces/booking-attr.interface.js +3 -0
  24. package/dist/src/interfaces/booking-attr.interface.js.map +1 -0
  25. package/dist/src/interfaces/index.d.ts +2 -1
  26. package/dist/src/models/booking.entity.d.ts +21 -0
  27. package/dist/src/models/booking.entity.js +128 -0
  28. package/dist/src/models/booking.entity.js.map +1 -0
  29. package/dist/src/models/index.d.ts +2 -1
  30. package/dist/src/models/index.js +3 -1
  31. package/dist/src/models/index.js.map +1 -1
  32. package/dist/tsconfig.tsbuildinfo +1 -1
  33. package/migrations/booking-table-migration.js +79 -0
  34. package/package.json +9 -5
  35. package/sonar-project.properties +13 -0
  36. package/src/components/booking/booking.repository.ts +51 -0
  37. package/src/components/booking/booking.ts +283 -0
  38. package/src/components/rental/rental.ts +6 -6
  39. package/src/database.ts +2 -0
  40. package/src/enum/booking.enum.ts +5 -0
  41. package/src/enum/index.ts +2 -1
  42. package/src/index.ts +4 -0
  43. package/src/interfaces/booking-attr.interface.ts +19 -0
  44. package/src/interfaces/index.ts +7 -1
  45. package/src/models/booking.entity.ts +105 -0
  46. package/src/models/index.ts +2 -1
package/.gitlab-ci.yml ADDED
@@ -0,0 +1,16 @@
1
+ variables:
2
+ SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar" # Defines the location of the analysis task cache
3
+ GIT_DEPTH: "0" # Tells git to fetch all the branches of the project, required by the analysis task
4
+ sonarcloud-check:
5
+ image:
6
+ name: sonarsource/sonar-scanner-cli:latest
7
+ entrypoint: [""]
8
+ cache:
9
+ key: "${CI_JOB_NAME}"
10
+ paths:
11
+ - .sonar/cache
12
+ script:
13
+ - sonar-scanner
14
+ only:
15
+ - merge_requests
16
+ - main
@@ -0,0 +1,38 @@
1
+ import { ObjectBase } from '@tomei/general';
2
+ import { BookingStatusEnum } from '../../enum/booking.enum';
3
+ import { IBookingAttr } from '../../interfaces/booking-attr.interface';
4
+ import { LoginUser } from '@tomei/sso';
5
+ import { RentalPrice } from '../rental-price/rental-price';
6
+ export declare class Booking extends ObjectBase {
7
+ ObjectId: string;
8
+ ObjectName: string;
9
+ ObjectType: string;
10
+ TableName: string;
11
+ CustomerId: string;
12
+ CustomerType: string;
13
+ ItemId: string;
14
+ ItemType: string;
15
+ PriceId: string;
16
+ private _ScheduledStartDateTime;
17
+ private _ScheduledEndDateTime;
18
+ BookingFee: number;
19
+ Status: BookingStatusEnum;
20
+ CancelRemarks: string;
21
+ private _CreatedById;
22
+ private _CreatedAt;
23
+ private _UpdatedById;
24
+ private _UpdatedAt;
25
+ private static _Repo;
26
+ get BookingNo(): string;
27
+ set BookingNo(value: string);
28
+ get CreatedById(): string;
29
+ get CreatedAt(): Date;
30
+ get UpdatedById(): string;
31
+ get UpdatedAt(): Date;
32
+ setScheduledStartDateTime(datetime: Date): Promise<void>;
33
+ setScheduledEndDateTime(datetime: Date): Promise<void>;
34
+ protected constructor(bookingAttr?: IBookingAttr);
35
+ static init(dbTransaction?: any, bookingNo?: string): Promise<Booking>;
36
+ create(dbTransaction: any, loginUser: LoginUser, rentalPrice: RentalPrice): Promise<this>;
37
+ static isBookingItemAvailable(dbTransaction: any, itemId: string, itemType: string, startDateTime: Date, endDateTime: Date): Promise<boolean>;
38
+ }
@@ -0,0 +1,200 @@
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
+ setScheduledStartDateTime(datetime) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ const dateTime = luxon_1.DateTime.fromJSDate(datetime);
42
+ const currentDateTime = luxon_1.DateTime.now();
43
+ if (dateTime <= currentDateTime) {
44
+ throw new general_1.ClassError('Booking', 'BookingErrMsg01', 'Booking must be for future date time.');
45
+ }
46
+ this._ScheduledStartDateTime = datetime;
47
+ });
48
+ }
49
+ setScheduledEndDateTime(datetime) {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ const dateTime = luxon_1.DateTime.fromJSDate(datetime);
52
+ const currentDateTime = luxon_1.DateTime.now();
53
+ if (dateTime <= currentDateTime) {
54
+ throw new general_1.ClassError('Booking', 'BookingErrMsg01', 'Booking must be for future date time.');
55
+ }
56
+ if (!this._ScheduledStartDateTime) {
57
+ throw new general_1.ClassError('Booking', 'BookingErrMsg01', 'Booking start date time must be set before setting end date time.');
58
+ }
59
+ const startDateTime = luxon_1.DateTime.fromJSDate(this._ScheduledStartDateTime);
60
+ if (dateTime <= startDateTime) {
61
+ throw new general_1.ClassError('Booking', 'BookingErrMsg03', 'Booking end date time must be more than start date time.');
62
+ }
63
+ this._ScheduledEndDateTime = datetime;
64
+ });
65
+ }
66
+ constructor(bookingAttr) {
67
+ super();
68
+ this.ObjectType = 'Booking';
69
+ this.TableName = 'booking_Booking';
70
+ if (bookingAttr) {
71
+ this.ObjectId = bookingAttr.BookingNo;
72
+ this.CustomerId = bookingAttr.CustomerId;
73
+ this.CustomerType = bookingAttr.CustomerType;
74
+ this.ItemId = bookingAttr.ItemId;
75
+ this.ItemType = bookingAttr.ItemType;
76
+ this.PriceId = bookingAttr.PriceId;
77
+ this._ScheduledStartDateTime = bookingAttr.ScheduledStartDateTime;
78
+ this._ScheduledEndDateTime = bookingAttr.ScheduledEndDateTime;
79
+ this.BookingFee = bookingAttr.BookingFee;
80
+ this.Status = bookingAttr.Status;
81
+ this.CancelRemarks = bookingAttr.CancelRemarks;
82
+ this._CreatedById = bookingAttr.CreatedById;
83
+ this._CreatedAt = bookingAttr.CreatedAt;
84
+ this._UpdatedById = bookingAttr.UpdatedById;
85
+ this._UpdatedAt = bookingAttr.UpdatedAt;
86
+ }
87
+ }
88
+ static init(dbTransaction, bookingNo) {
89
+ return __awaiter(this, void 0, void 0, function* () {
90
+ try {
91
+ if (bookingNo) {
92
+ const booking = yield Booking._Repo.findByPk(bookingNo, {
93
+ transaction: dbTransaction,
94
+ });
95
+ if (booking) {
96
+ return new Booking(booking.get({ plain: true }));
97
+ }
98
+ else {
99
+ throw new Error('Booking not found');
100
+ }
101
+ }
102
+ return new Booking();
103
+ }
104
+ catch (error) {
105
+ throw error;
106
+ }
107
+ });
108
+ }
109
+ create(dbTransaction, loginUser, rentalPrice) {
110
+ return __awaiter(this, void 0, void 0, function* () {
111
+ try {
112
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
113
+ const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'Booking - Create');
114
+ if (!isPrivileged) {
115
+ throw new general_1.ClassError('Booking', 'BookingErrMsg02', "You do not have 'Booking - Create' privilege.");
116
+ }
117
+ const isRentalAvailable = yield rental_1.Rental.isItemAvailable(this.ItemId, this.ItemType, this._ScheduledStartDateTime, this._ScheduledEndDateTime, dbTransaction);
118
+ const isBookingAvailable = yield Booking.isBookingItemAvailable(dbTransaction, this.ItemId, this.ItemType, this._ScheduledStartDateTime, this._ScheduledEndDateTime);
119
+ if (!isRentalAvailable || !isBookingAvailable) {
120
+ throw new general_1.ClassError('Booking', 'BookingErrMsg02', 'Booking is not available for the item on the chosen date.');
121
+ }
122
+ const rp = yield rentalPrice.create(loginUser, dbTransaction);
123
+ this.BookingNo = this.createId();
124
+ this.PriceId = rp.PriceId;
125
+ this._CreatedById = loginUser.ObjectId;
126
+ this._CreatedAt = luxon_1.DateTime.now().toJSDate();
127
+ this._UpdatedById = loginUser.ObjectId;
128
+ this._UpdatedAt = luxon_1.DateTime.now().toJSDate();
129
+ const data = {
130
+ BookingNo: this.BookingNo,
131
+ CustomerId: this.CustomerId,
132
+ CustomerType: this.CustomerType,
133
+ ItemId: this.ItemId,
134
+ ItemType: this.ItemType,
135
+ PriceId: this.PriceId,
136
+ ScheduledStartDateTime: this._ScheduledStartDateTime,
137
+ ScheduledEndDateTime: this._ScheduledEndDateTime,
138
+ BookingFee: this.BookingFee,
139
+ Status: this.Status,
140
+ CancelRemarks: this.CancelRemarks,
141
+ CreatedById: this._CreatedById,
142
+ CreatedAt: this._CreatedAt,
143
+ UpdatedById: this._UpdatedById,
144
+ UpdatedAt: this._UpdatedAt,
145
+ };
146
+ yield Booking._Repo.create(data, {
147
+ transaction: dbTransaction,
148
+ });
149
+ const activity = new activity_history_1.Activity();
150
+ activity.ActivityId = activity.createId();
151
+ activity.Action = activity_history_1.ActionEnum.ADD;
152
+ activity.Description = 'Add Booking';
153
+ activity.ObjectId = this.BookingNo;
154
+ activity.EntityType = this.ObjectType;
155
+ activity.EntityValueBefore = JSON.stringify({});
156
+ activity.EntityValueAfter = JSON.stringify(data);
157
+ yield activity.create(loginUser.ObjectId, dbTransaction);
158
+ return this;
159
+ }
160
+ catch (error) {
161
+ throw error;
162
+ }
163
+ });
164
+ }
165
+ static isBookingItemAvailable(dbTransaction, itemId, itemType, startDateTime, endDateTime) {
166
+ return __awaiter(this, void 0, void 0, function* () {
167
+ try {
168
+ const booking = yield Booking._Repo.findOne({
169
+ where: {
170
+ ItemId: itemId,
171
+ ItemType: itemType,
172
+ [sequelize_1.Op.and]: [
173
+ {
174
+ ScheduledStartDateTime: {
175
+ [sequelize_1.Op.lte]: endDateTime,
176
+ },
177
+ },
178
+ {
179
+ ScheduledEndDateTime: {
180
+ [sequelize_1.Op.gte]: startDateTime,
181
+ },
182
+ },
183
+ ],
184
+ },
185
+ transaction: dbTransaction,
186
+ });
187
+ if (booking) {
188
+ return false;
189
+ }
190
+ return true;
191
+ }
192
+ catch (error) {
193
+ throw error;
194
+ }
195
+ });
196
+ }
197
+ }
198
+ exports.Booking = Booking;
199
+ Booking._Repo = new booking_repository_1.BookingRepository();
200
+ //# 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
+ }
@@ -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.BookingRepository = void 0;
13
+ const general_1 = require("@tomei/general");
14
+ const booking_entity_1 = require("../../models/booking.entity");
15
+ class BookingRepository extends general_1.RepositoryBase {
16
+ constructor() {
17
+ super(booking_entity_1.BookingModel);
18
+ }
19
+ findByPk(id, transaction) {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ try {
22
+ const result = yield booking_entity_1.BookingModel.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(BookingNo, dbTransaction) {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ try {
35
+ const options = {
36
+ where: {
37
+ BookingNo: BookingNo,
38
+ },
39
+ transaction: dbTransaction,
40
+ };
41
+ yield booking_entity_1.BookingModel.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 Bookings;
52
+ if (options) {
53
+ Bookings = yield booking_entity_1.BookingModel.findAndCountAll(options);
54
+ }
55
+ else {
56
+ Bookings = yield booking_entity_1.BookingModel.findAndCountAll();
57
+ }
58
+ return Bookings;
59
+ }
60
+ catch (error) {
61
+ throw new Error(`An Error occured when retriving : ${error.message}`);
62
+ }
63
+ });
64
+ }
65
+ }
66
+ exports.BookingRepository = BookingRepository;
67
+ //# 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;IAEK,QAAQ,CAAC,EAAU,EAAE,WAAiB;;YAC1C,IAAI;gBACF,MAAM,MAAM,GAAG,MAAM,6BAAY,CAAC,QAAQ,CAAC,EAAE,EAAE;oBAC7C,WAAW,EAAE,WAAW;iBACzB,CAAC,CAAC;gBAEH,OAAO,MAAM,CAAC;aACf;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;aACtE;QACH,CAAC;KAAA;IAEK,MAAM,CAAC,SAAiB,EAAE,aAAmB;;YACjD,IAAI;gBACF,MAAM,OAAO,GAAG;oBACd,KAAK,EAAE;wBACL,SAAS,EAAE,SAAS;qBACrB;oBACD,WAAW,EAAE,aAAa;iBAC3B,CAAC;gBACF,MAAM,6BAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;aACrC;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;aACpE;QACH,CAAC;KAAA;IAEK,eAAe,CAAC,OAAa;;YACjC,IAAI;gBACF,IAAI,QAAa,CAAC;gBAClB,IAAI,OAAO,EAAE;oBACX,QAAQ,GAAG,MAAM,6BAAY,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;iBACxD;qBAAM;oBACL,QAAQ,GAAG,MAAM,6BAAY,CAAC,eAAe,EAAE,CAAC;iBACjD;gBACD,OAAO,QAAQ,CAAC;aACjB;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,qCAAqC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;aACvE;QACH,CAAC;KAAA;CACF;AA/CD,8CA+CC"}
@@ -37,7 +37,7 @@ export declare class Rental extends ObjectBase {
37
37
  private constructor();
38
38
  static init(dbTransaction?: any, rentalId?: string): Promise<Rental>;
39
39
  create(rentalPrice: RentalPrice, loginUser: LoginUser, dbTransaction?: any): Promise<any>;
40
- isItemAvailable(itemId: string, itemType: string, startDateTime: Date, endDateTime: Date, dbTransaction?: any): Promise<boolean>;
40
+ static isItemAvailable(itemId: string, itemType: string, startDateTime: Date, endDateTime: Date, dbTransaction?: any): Promise<boolean>;
41
41
  static findAll(loginUser: LoginUser, dbTransaction: any, page?: number, row?: number, search?: IRentalFindAllSearchAttr): Promise<any>;
42
42
  static checkActiveByItemId(loginUser: LoginUser, itemId: string, itemType: string, dbTransaction?: any): Promise<boolean>;
43
43
  setStartDateTime(startDateTime: Date): void;
@@ -95,7 +95,7 @@ class Rental extends general_1.ObjectBase {
95
95
  if (!isPrivileged) {
96
96
  throw new general_1.ClassError('Rental', 'RentalErrMsg01', "You do not have 'Rental - Create' privilege.");
97
97
  }
98
- const isItemAvailable = yield this.isItemAvailable(this.ItemId, this.ItemType, this.StartDateTime, this.EndDateTime, dbTransaction);
98
+ const isItemAvailable = yield Rental.isItemAvailable(this.ItemId, this.ItemType, this.StartDateTime, this.EndDateTime, dbTransaction);
99
99
  if (!isItemAvailable) {
100
100
  throw new general_1.ClassError('Rental', 'RentalErrMsg02', 'Rental Item is not available at current date.');
101
101
  }
@@ -130,14 +130,14 @@ class Rental extends general_1.ObjectBase {
130
130
  };
131
131
  yield Rental._Repo.create(data, dbTransaction);
132
132
  const activity = new activity_history_1.Activity();
133
- activity.ActivityId = this.createId();
133
+ activity.ActivityId = activity.createId();
134
134
  activity.Action = activity_history_1.ActionEnum.ADD;
135
135
  activity.Description = 'Add Rental';
136
136
  activity.EntityType = 'Rental';
137
137
  activity.EntityId = this.RentalId;
138
138
  activity.EntityValueBefore = JSON.stringify({});
139
139
  activity.EntityValueAfter = JSON.stringify(data);
140
- yield activity.create(loginUser, dbTransaction);
140
+ yield activity.create(loginUser.ObjectId, dbTransaction);
141
141
  return this;
142
142
  }
143
143
  catch (error) {
@@ -145,7 +145,7 @@ class Rental extends general_1.ObjectBase {
145
145
  }
146
146
  });
147
147
  }
148
- isItemAvailable(itemId, itemType, startDateTime, endDateTime, dbTransaction) {
148
+ static isItemAvailable(itemId, itemType, startDateTime, endDateTime, dbTransaction) {
149
149
  return __awaiter(this, void 0, void 0, function* () {
150
150
  try {
151
151
  const item = yield Rental._Repo.findOne({
@@ -318,14 +318,14 @@ class Rental extends general_1.ObjectBase {
318
318
  UpdatedAt: this.UpdatedAt,
319
319
  };
320
320
  const activity = new activity_history_1.Activity();
321
- activity.ActivityId = this.createId();
321
+ activity.ActivityId = activity.createId();
322
322
  activity.Action = activity_history_1.ActionEnum.UPDATE;
323
323
  activity.Description = 'Set Rental as Terminated';
324
324
  activity.EntityType = 'Rental';
325
325
  activity.EntityId = this.RentalId;
326
326
  activity.EntityValueBefore = JSON.stringify(entityValueBefore);
327
327
  activity.EntityValueAfter = JSON.stringify(entityValueAfter);
328
- yield activity.create(loginUser, dbTransaction);
328
+ yield activity.create(loginUser.ObjectId, dbTransaction);
329
329
  return this;
330
330
  }
331
331
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"rental.js","sourceRoot":"","sources":["../../../../src/components/rental/rental.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rental.js","sourceRoot":"","sources":["../../../../src/components/rental/rental.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,14 @@ exports.getConnection = exports.init = void 0;
4
4
  const sequelize_typescript_1 = require("sequelize-typescript");
5
5
  const rental_entity_1 = require("./models/rental.entity");
6
6
  const rental_price_entity_1 = require("./models/rental-price.entity");
7
+ const booking_entity_1 = require("./models/booking.entity");
7
8
  let sequelize;
8
9
  function init(sequelizeOptions) {
9
10
  sequelize = new sequelize_typescript_1.Sequelize(sequelizeOptions);
10
11
  sequelize.addModels([
11
12
  rental_entity_1.RentalModel,
12
13
  rental_price_entity_1.RentalPriceModel,
14
+ booking_entity_1.BookingModel,
13
15
  ]);
14
16
  }
15
17
  exports.init = init;
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/database.ts"],"names":[],"mappings":";;;AAAA,+DAAmE;AACnE,0DAAqD;AACrD,sEAAgE;AAEhE,IAAI,SAAoB,CAAC;AAEzB,SAAS,IAAI,CAAC,gBAAkC;IAC9C,SAAS,GAAG,IAAI,gCAAS,CAAC,gBAAgB,CAAC,CAAC;IAE5C,SAAS,CAAC,SAAS,CAAC;QAElB,2BAAW;QACX,sCAAgB;KACjB,CAAC,CAAC;AACL,CAAC;AAMQ,oBAAI;AAJb,SAAS,aAAa;IACpB,OAAO,SAAS,CAAC;AACnB,CAAC;AAEc,sCAAa"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/database.ts"],"names":[],"mappings":";;;AAAA,+DAAmE;AACnE,0DAAqD;AACrD,sEAAgE;AAChE,4DAAuD;AAEvD,IAAI,SAAoB,CAAC;AAEzB,SAAS,IAAI,CAAC,gBAAkC;IAC9C,SAAS,GAAG,IAAI,gCAAS,CAAC,gBAAgB,CAAC,CAAC;IAE5C,SAAS,CAAC,SAAS,CAAC;QAElB,2BAAW;QACX,sCAAgB;QAChB,6BAAY;KACb,CAAC,CAAC;AACL,CAAC;AAMQ,oBAAI;AAJb,SAAS,aAAa;IACpB,OAAO,SAAS,CAAC;AACnB,CAAC;AAEc,sCAAa"}
@@ -0,0 +1,5 @@
1
+ export declare enum BookingStatusEnum {
2
+ CONFIRMED = "Confirmed",
3
+ PENDING = "Pending",
4
+ CANCELLED = "Cancelled"
5
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BookingStatusEnum = void 0;
4
+ var BookingStatusEnum;
5
+ (function (BookingStatusEnum) {
6
+ BookingStatusEnum["CONFIRMED"] = "Confirmed";
7
+ BookingStatusEnum["PENDING"] = "Pending";
8
+ BookingStatusEnum["CANCELLED"] = "Cancelled";
9
+ })(BookingStatusEnum = exports.BookingStatusEnum || (exports.BookingStatusEnum = {}));
10
+ //# sourceMappingURL=booking.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"booking.enum.js","sourceRoot":"","sources":["../../../src/enum/booking.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,4CAAuB,CAAA;IACvB,wCAAmB,CAAA;IACnB,4CAAuB,CAAA;AACzB,CAAC,EAJW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAI5B"}
@@ -1,2 +1,3 @@
1
1
  import { RentalStatusEnum } from './rental-status.enum';
2
- export { RentalStatusEnum };
2
+ import { BookingStatusEnum } from './booking.enum';
3
+ export { RentalStatusEnum, BookingStatusEnum };
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RentalStatusEnum = void 0;
3
+ exports.BookingStatusEnum = exports.RentalStatusEnum = void 0;
4
4
  const rental_status_enum_1 = require("./rental-status.enum");
5
5
  Object.defineProperty(exports, "RentalStatusEnum", { enumerable: true, get: function () { return rental_status_enum_1.RentalStatusEnum; } });
6
+ const booking_enum_1 = require("./booking.enum");
7
+ Object.defineProperty(exports, "BookingStatusEnum", { enumerable: true, get: function () { return booking_enum_1.BookingStatusEnum; } });
6
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/enum/index.ts"],"names":[],"mappings":";;;AAAA,6DAAwD;AAE/C,iGAFA,qCAAgB,OAEA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/enum/index.ts"],"names":[],"mappings":";;;AAAA,6DAAwD;AAG/C,iGAHA,qCAAgB,OAGA;AAFzB,iDAAmD;AAExB,kGAFlB,gCAAiB,OAEkB"}
@@ -2,8 +2,10 @@ import { RentalPriceRepository } from './components/rental-price/rental-price.re
2
2
  import { RentalRepository } from './components/rental/rental.repository';
3
3
  import { Rental } from './components/rental/rental';
4
4
  import { RentalPrice } from './components/rental-price/rental-price';
5
+ import { Booking } from './components/booking/booking';
6
+ import { BookingRepository } from './components/booking/booking.repository';
5
7
  import * as rentalDb from './database';
6
8
  export * from './interfaces';
7
9
  export * from './models';
8
10
  export * from './enum';
9
- export { Rental, RentalPrice, RentalRepository, RentalPriceRepository, rentalDb, };
11
+ export { Rental, RentalPrice, RentalRepository, RentalPriceRepository, Booking, BookingRepository, rentalDb, };
package/dist/src/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.rentalDb = exports.RentalPriceRepository = exports.RentalRepository = exports.RentalPrice = exports.Rental = void 0;
17
+ exports.rentalDb = exports.BookingRepository = exports.Booking = exports.RentalPriceRepository = exports.RentalRepository = exports.RentalPrice = exports.Rental = void 0;
18
18
  const rental_price_repository_1 = require("./components/rental-price/rental-price.repository");
19
19
  Object.defineProperty(exports, "RentalPriceRepository", { enumerable: true, get: function () { return rental_price_repository_1.RentalPriceRepository; } });
20
20
  const rental_repository_1 = require("./components/rental/rental.repository");
@@ -23,6 +23,10 @@ const rental_1 = require("./components/rental/rental");
23
23
  Object.defineProperty(exports, "Rental", { enumerable: true, get: function () { return rental_1.Rental; } });
24
24
  const rental_price_1 = require("./components/rental-price/rental-price");
25
25
  Object.defineProperty(exports, "RentalPrice", { enumerable: true, get: function () { return rental_price_1.RentalPrice; } });
26
+ const booking_1 = require("./components/booking/booking");
27
+ Object.defineProperty(exports, "Booking", { enumerable: true, get: function () { return booking_1.Booking; } });
28
+ const booking_repository_1 = require("./components/booking/booking.repository");
29
+ Object.defineProperty(exports, "BookingRepository", { enumerable: true, get: function () { return booking_repository_1.BookingRepository; } });
26
30
  const rentalDb = require("./database");
27
31
  exports.rentalDb = rentalDb;
28
32
  __exportStar(require("./interfaces"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+FAA0F;AAaxF,sGAbO,+CAAqB,OAaP;AAZvB,6EAAyE;AAWvE,iGAXO,oCAAgB,OAWP;AAVlB,uDAAoD;AAQlD,uFARO,eAAM,OAQP;AAPR,yEAAqE;AAQnE,4FARO,0BAAW,OAQP;AAPb,uCAAuC;AAUrC,4BAAQ;AATV,+CAA6B;AAC7B,2CAAyB;AACzB,yCAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+FAA0F;AAexF,sGAfO,+CAAqB,OAeP;AAdvB,6EAAyE;AAavE,iGAbO,oCAAgB,OAaP;AAZlB,uDAAoD;AAUlD,uFAVO,eAAM,OAUP;AATR,yEAAqE;AAUnE,4FAVO,0BAAW,OAUP;AATb,0DAAuD;AAYrD,wFAZO,iBAAO,OAYP;AAXT,gFAA4E;AAY1E,kGAZO,sCAAiB,OAYP;AAXnB,uCAAuC;AAYrC,4BAAQ;AAXV,+CAA6B;AAC7B,2CAAyB;AACzB,yCAAuB"}
@@ -0,0 +1,18 @@
1
+ import { BookingStatusEnum } from '../enum/booking.enum';
2
+ export interface IBookingAttr {
3
+ BookingNo: string;
4
+ CustomerId: string;
5
+ CustomerType: string;
6
+ ItemId: string;
7
+ ItemType: string;
8
+ PriceId: string;
9
+ ScheduledStartDateTime: Date;
10
+ ScheduledEndDateTime: Date;
11
+ BookingFee: number;
12
+ Status: BookingStatusEnum;
13
+ CancelRemarks: string;
14
+ CreatedById: string;
15
+ CreatedAt: Date;
16
+ UpdatedById: string;
17
+ UpdatedAt: Date;
18
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=booking-attr.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"booking-attr.interface.js","sourceRoot":"","sources":["../../../src/interfaces/booking-attr.interface.ts"],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
1
  import { IRentalAttr } from './rental-attr.interface';
2
2
  import { IRentalPriceAttr } from './rental-price-attr.interface';
3
3
  import { IRentalFindAllSearchAttr } from './rental-find-all-search-attr.interface';
4
- export { IRentalAttr, IRentalPriceAttr, IRentalFindAllSearchAttr };
4
+ import { IBookingAttr } from './booking-attr.interface';
5
+ export { IRentalAttr, IRentalPriceAttr, IRentalFindAllSearchAttr, IBookingAttr, };
@@ -0,0 +1,21 @@
1
+ import { Model } from 'sequelize-typescript';
2
+ import { RentalPriceModel } from './rental-price.entity';
3
+ import { BookingStatusEnum } from '../enum/booking.enum';
4
+ export declare class BookingModel extends Model {
5
+ BookingNo: string;
6
+ CustomerId: string;
7
+ CustomerType: string;
8
+ ItemId: string;
9
+ ItemType: string;
10
+ PriceId: string;
11
+ ScheduledStartDateTime: Date;
12
+ ScheduledEndDateTime: Date;
13
+ BookingFee: number;
14
+ Status: BookingStatusEnum;
15
+ CancelRemarks: string;
16
+ CreatedById: string;
17
+ CreatedAt: Date;
18
+ UpdatedById: string;
19
+ UpdatedAt: Date;
20
+ RentalPrice: RentalPriceModel;
21
+ }