@tomei/rental 0.2.3 → 0.2.4

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 (71) hide show
  1. package/.commitlintrc.json +22 -22
  2. package/.eslintrc +16 -16
  3. package/.eslintrc.js +35 -35
  4. package/.husky/commit-msg +15 -15
  5. package/.husky/pre-commit +7 -7
  6. package/.prettierrc +4 -4
  7. package/Jenkinsfile +57 -57
  8. package/README.md +8 -8
  9. package/dist/index.d.ts +1 -1
  10. package/dist/index.js +17 -17
  11. package/dist/src/components/rental/rental.d.ts +35 -35
  12. package/dist/src/components/rental/rental.js +208 -208
  13. package/dist/src/components/rental/rental.repository.d.ts +8 -8
  14. package/dist/src/components/rental/rental.repository.js +66 -66
  15. package/dist/src/components/rental-price/rental-price.d.ts +12 -12
  16. package/dist/src/components/rental-price/rental-price.js +71 -71
  17. package/dist/src/components/rental-price/rental-price.repository.d.ts +8 -8
  18. package/dist/src/components/rental-price/rental-price.repository.js +66 -66
  19. package/dist/src/database.d.ts +4 -4
  20. package/dist/src/database.js +19 -19
  21. package/dist/src/enum/index.d.ts +2 -2
  22. package/dist/src/enum/index.js +5 -5
  23. package/dist/src/enum/rental-status.enum.d.ts +6 -6
  24. package/dist/src/enum/rental-status.enum.js +10 -10
  25. package/dist/src/index.d.ts +9 -9
  26. package/dist/src/index.js +30 -30
  27. package/dist/src/interfaces/index.d.ts +4 -4
  28. package/dist/src/interfaces/index.js +2 -2
  29. package/dist/src/interfaces/rental-attr.interface.d.ts +20 -20
  30. package/dist/src/interfaces/rental-attr.interface.js +2 -2
  31. package/dist/src/interfaces/rental-find-all-search-attr.interface.d.ts +8 -7
  32. package/dist/src/interfaces/rental-find-all-search-attr.interface.js +2 -2
  33. package/dist/src/interfaces/rental-price-attr.interface.d.ts +7 -7
  34. package/dist/src/interfaces/rental-price-attr.interface.js +2 -2
  35. package/dist/src/models/index.d.ts +3 -3
  36. package/dist/src/models/index.js +7 -7
  37. package/dist/src/models/rental-price.entity.d.ts +8 -8
  38. package/dist/src/models/rental-price.entity.js +58 -58
  39. package/dist/src/models/rental.entity.d.ts +23 -23
  40. package/dist/src/models/rental.entity.js +138 -138
  41. package/dist/tsconfig.tsbuildinfo +1 -1
  42. package/jest.config.js +10 -10
  43. package/migrations/rental-price-table-migration.js +32 -32
  44. package/migrations/rental-table-migrations.js +84 -84
  45. package/package.json +71 -71
  46. package/src/components/rental/rental.repository.ts +51 -51
  47. package/src/components/rental/rental.ts +285 -285
  48. package/src/components/rental-price/rental-price.repository.ts +54 -54
  49. package/src/components/rental-price/rental-price.ts +89 -89
  50. package/src/database.ts +21 -21
  51. package/src/enum/index.ts +3 -3
  52. package/src/enum/rental-status.enum.ts +6 -6
  53. package/src/index.ts +16 -16
  54. package/src/interfaces/index.ts +5 -5
  55. package/src/interfaces/rental-attr.interface.ts +21 -21
  56. package/src/interfaces/rental-find-all-search-attr.interface.ts +9 -8
  57. package/src/interfaces/rental-price-attr.interface.ts +7 -7
  58. package/src/models/index.ts +4 -4
  59. package/src/models/rental-price.entity.ts +38 -38
  60. package/src/models/rental.entity.ts +114 -114
  61. package/tsconfig.build.json +5 -5
  62. package/tsconfig.json +23 -23
  63. package/dist/jest.config.d.ts +0 -2
  64. package/dist/jest.config.js +0 -11
  65. package/dist/jest.config.js.map +0 -1
  66. package/dist/migrations/rental-price-table-migration.d.ts +0 -2
  67. package/dist/migrations/rental-price-table-migration.js +0 -43
  68. package/dist/migrations/rental-price-table-migration.js.map +0 -1
  69. package/dist/migrations/rental-table-migrations.d.ts +0 -2
  70. package/dist/migrations/rental-table-migrations.js +0 -95
  71. package/dist/migrations/rental-table-migrations.js.map +0 -1
@@ -1,89 +1,89 @@
1
- import { ClassError } from '@tomei/general';
2
- import { RentalPriceRepository } from './rental-price.repository';
3
- import { IRentalPriceAttr } from '../../interfaces/rental-price-attr.interface';
4
- import { LoginUser } from '@tomei/sso';
5
- import { ApplicationConfig } from '@tomei/config';
6
- import * as cuid from 'cuid';
7
-
8
- export class RentalPrice {
9
- PriceId: string;
10
- RetailPrice: number;
11
- Currency: string;
12
- PromoCode: string;
13
- Remarks: string;
14
-
15
- private static _Repo = new RentalPriceRepository();
16
-
17
- private constructor(rentalPriceAttr?: IRentalPriceAttr) {
18
- if (rentalPriceAttr) {
19
- this.PriceId = rentalPriceAttr.PriceId;
20
- this.RetailPrice = rentalPriceAttr.RetailPrice;
21
- this.Currency = rentalPriceAttr.Currency;
22
- this.PromoCode = rentalPriceAttr.PromoCode;
23
- this.Remarks = rentalPriceAttr.Remarks;
24
- }
25
- }
26
-
27
- public static async init(dbTransaction?: any, priceId?: string) {
28
- try {
29
- if (priceId) {
30
- const rentalPrice = await RentalPrice._Repo.findByPk(
31
- priceId,
32
- dbTransaction,
33
- );
34
- if (rentalPrice) {
35
- return new RentalPrice(rentalPrice);
36
- } else {
37
- throw new ClassError(
38
- 'RentalPrice',
39
- 'RentalPriceErrMsg',
40
- 'RentalPrice Not Found',
41
- );
42
- }
43
- }
44
- return new RentalPrice();
45
- } catch (error) {
46
- throw new ClassError(
47
- 'RentalPrice',
48
- 'RentalPriceErrMsg',
49
- 'Failed To Initialize RentalPrice',
50
- );
51
- }
52
- }
53
-
54
- public async create(loginUser: LoginUser, dbTransaction?: any) {
55
- try {
56
- const systemCode =
57
- ApplicationConfig.getComponentConfigValue('system-code');
58
- const isPrivileged = await loginUser.checkPrivileges(
59
- systemCode,
60
- 'Rental - Create',
61
- );
62
-
63
- if (!isPrivileged) {
64
- throw new ClassError(
65
- 'RentalPrice',
66
- 'RentalPriceErrMsg',
67
- 'You do not have the privilege.',
68
- );
69
- }
70
-
71
- this.PriceId = cuid();
72
-
73
- await RentalPrice._Repo.create(
74
- {
75
- PriceId: this.PriceId,
76
- RetailPrice: this.RetailPrice,
77
- Currency: this.Currency,
78
- PromoCode: this.PromoCode,
79
- Remarks: this.Remarks,
80
- },
81
- dbTransaction,
82
- );
83
-
84
- return this;
85
- } catch (error) {
86
- throw error;
87
- }
88
- }
89
- }
1
+ import { ClassError } from '@tomei/general';
2
+ import { RentalPriceRepository } from './rental-price.repository';
3
+ import { IRentalPriceAttr } from '../../interfaces/rental-price-attr.interface';
4
+ import { LoginUser } from '@tomei/sso';
5
+ import { ApplicationConfig } from '@tomei/config';
6
+ import * as cuid from 'cuid';
7
+
8
+ export class RentalPrice {
9
+ PriceId: string;
10
+ RetailPrice: number;
11
+ Currency: string;
12
+ PromoCode: string;
13
+ Remarks: string;
14
+
15
+ private static _Repo = new RentalPriceRepository();
16
+
17
+ private constructor(rentalPriceAttr?: IRentalPriceAttr) {
18
+ if (rentalPriceAttr) {
19
+ this.PriceId = rentalPriceAttr.PriceId;
20
+ this.RetailPrice = rentalPriceAttr.RetailPrice;
21
+ this.Currency = rentalPriceAttr.Currency;
22
+ this.PromoCode = rentalPriceAttr.PromoCode;
23
+ this.Remarks = rentalPriceAttr.Remarks;
24
+ }
25
+ }
26
+
27
+ public static async init(dbTransaction?: any, priceId?: string) {
28
+ try {
29
+ if (priceId) {
30
+ const rentalPrice = await RentalPrice._Repo.findByPk(
31
+ priceId,
32
+ dbTransaction,
33
+ );
34
+ if (rentalPrice) {
35
+ return new RentalPrice(rentalPrice);
36
+ } else {
37
+ throw new ClassError(
38
+ 'RentalPrice',
39
+ 'RentalPriceErrMsg',
40
+ 'RentalPrice Not Found',
41
+ );
42
+ }
43
+ }
44
+ return new RentalPrice();
45
+ } catch (error) {
46
+ throw new ClassError(
47
+ 'RentalPrice',
48
+ 'RentalPriceErrMsg',
49
+ 'Failed To Initialize RentalPrice',
50
+ );
51
+ }
52
+ }
53
+
54
+ public async create(loginUser: LoginUser, dbTransaction?: any) {
55
+ try {
56
+ const systemCode =
57
+ ApplicationConfig.getComponentConfigValue('system-code');
58
+ const isPrivileged = await loginUser.checkPrivileges(
59
+ systemCode,
60
+ 'Rental - Create',
61
+ );
62
+
63
+ if (!isPrivileged) {
64
+ throw new ClassError(
65
+ 'RentalPrice',
66
+ 'RentalPriceErrMsg',
67
+ 'You do not have the privilege.',
68
+ );
69
+ }
70
+
71
+ this.PriceId = cuid();
72
+
73
+ await RentalPrice._Repo.create(
74
+ {
75
+ PriceId: this.PriceId,
76
+ RetailPrice: this.RetailPrice,
77
+ Currency: this.Currency,
78
+ PromoCode: this.PromoCode,
79
+ Remarks: this.Remarks,
80
+ },
81
+ dbTransaction,
82
+ );
83
+
84
+ return this;
85
+ } catch (error) {
86
+ throw error;
87
+ }
88
+ }
89
+ }
package/src/database.ts CHANGED
@@ -1,21 +1,21 @@
1
- import { Sequelize, SequelizeOptions } from 'sequelize-typescript';
2
- import { RentalModel } from './models/rental.entity';
3
- import { RentalPriceModel } from './models/rental-price.entity';
4
-
5
- let sequelize: Sequelize;
6
-
7
- function init(sequelizeOptions: SequelizeOptions) {
8
- sequelize = new Sequelize(sequelizeOptions);
9
-
10
- sequelize.addModels([
11
- // Add your models here
12
- RentalModel,
13
- RentalPriceModel,
14
- ]);
15
- }
16
-
17
- function getConnection() {
18
- return sequelize;
19
- }
20
-
21
- export { init, getConnection };
1
+ import { Sequelize, SequelizeOptions } from 'sequelize-typescript';
2
+ import { RentalModel } from './models/rental.entity';
3
+ import { RentalPriceModel } from './models/rental-price.entity';
4
+
5
+ let sequelize: Sequelize;
6
+
7
+ function init(sequelizeOptions: SequelizeOptions) {
8
+ sequelize = new Sequelize(sequelizeOptions);
9
+
10
+ sequelize.addModels([
11
+ // Add your models here
12
+ RentalModel,
13
+ RentalPriceModel,
14
+ ]);
15
+ }
16
+
17
+ function getConnection() {
18
+ return sequelize;
19
+ }
20
+
21
+ export { init, getConnection };
package/src/enum/index.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { RentalStatusEnum } from './rental-status.enum';
2
-
3
- export { RentalStatusEnum };
1
+ import { RentalStatusEnum } from './rental-status.enum';
2
+
3
+ export { RentalStatusEnum };
@@ -1,6 +1,6 @@
1
- export enum RentalStatusEnum {
2
- ACTIVE = 'Active',
3
- SUSPENDED = 'Suspended',
4
- CANCELLED = 'Cancelled',
5
- TERMINATED = 'Terminated',
6
- }
1
+ export enum RentalStatusEnum {
2
+ ACTIVE = 'Active',
3
+ SUSPENDED = 'Suspended',
4
+ CANCELLED = 'Cancelled',
5
+ TERMINATED = 'Terminated',
6
+ }
package/src/index.ts CHANGED
@@ -1,16 +1,16 @@
1
- import { RentalPriceRepository } from './components/rental-price/rental-price.repository';
2
- import { RentalRepository } from './components/rental/rental.repository';
3
- import { Rental } from './components/rental/rental';
4
- import { RentalPrice } from './components/rental-price/rental-price';
5
- import * as rentalDb from './database';
6
- export * from './interfaces';
7
- export * from './models';
8
- export * from './enum';
9
-
10
- export {
11
- Rental,
12
- RentalPrice,
13
- RentalRepository,
14
- RentalPriceRepository,
15
- rentalDb,
16
- };
1
+ import { RentalPriceRepository } from './components/rental-price/rental-price.repository';
2
+ import { RentalRepository } from './components/rental/rental.repository';
3
+ import { Rental } from './components/rental/rental';
4
+ import { RentalPrice } from './components/rental-price/rental-price';
5
+ import * as rentalDb from './database';
6
+ export * from './interfaces';
7
+ export * from './models';
8
+ export * from './enum';
9
+
10
+ export {
11
+ Rental,
12
+ RentalPrice,
13
+ RentalRepository,
14
+ RentalPriceRepository,
15
+ rentalDb,
16
+ };
@@ -1,5 +1,5 @@
1
- import { IRentalAttr } from './rental-attr.interface';
2
- import { IRentalPriceAttr } from './rental-price-attr.interface';
3
- import { IRentalFindAllSearchAttr } from './rental-find-all-search-attr.interface';
4
-
5
- export { IRentalAttr, IRentalPriceAttr, IRentalFindAllSearchAttr };
1
+ import { IRentalAttr } from './rental-attr.interface';
2
+ import { IRentalPriceAttr } from './rental-price-attr.interface';
3
+ import { IRentalFindAllSearchAttr } from './rental-find-all-search-attr.interface';
4
+
5
+ export { IRentalAttr, IRentalPriceAttr, IRentalFindAllSearchAttr };
@@ -1,21 +1,21 @@
1
- import { RentalStatusEnum } from '../enum/rental-status.enum';
2
-
3
- export interface IRentalAttr {
4
- RentalId: string;
5
- CustomerId: string;
6
- CustomerType: string;
7
- ItemId: string;
8
- ItemType: string;
9
- PriceId: string;
10
- StartDateTime: Date;
11
- EndDateTime: Date;
12
- CancelRemarks: string;
13
- TerminateRemarks: string;
14
- AgreementNo: string;
15
- Status: RentalStatusEnum;
16
- EscheatmentYN: string;
17
- CreatedById: string;
18
- CreatedAt: Date;
19
- UpdatedById: string;
20
- UpdatedAt: Date;
21
- }
1
+ import { RentalStatusEnum } from '../enum/rental-status.enum';
2
+
3
+ export interface IRentalAttr {
4
+ RentalId: string;
5
+ CustomerId: string;
6
+ CustomerType: string;
7
+ ItemId: string;
8
+ ItemType: string;
9
+ PriceId: string;
10
+ StartDateTime: Date;
11
+ EndDateTime: Date;
12
+ CancelRemarks: string;
13
+ TerminateRemarks: string;
14
+ AgreementNo: string;
15
+ Status: RentalStatusEnum;
16
+ EscheatmentYN: string;
17
+ CreatedById: string;
18
+ CreatedAt: Date;
19
+ UpdatedById: string;
20
+ UpdatedAt: Date;
21
+ }
@@ -1,8 +1,9 @@
1
- import { RentalStatusEnum } from '../enum/rental-status.enum';
2
-
3
- export interface IRentalFindAllSearchAttr {
4
- Status?: RentalStatusEnum;
5
- BoxNo?: string;
6
- StartDateTime?: Date;
7
- EndDateTime?: Date;
8
- }
1
+ import { RentalStatusEnum } from '../enum/rental-status.enum';
2
+
3
+ export interface IRentalFindAllSearchAttr {
4
+ Status?: RentalStatusEnum;
5
+ StartDateTime?: Date;
6
+ EndDateTime?: Date;
7
+ ItemId?: string;
8
+ ItemType?: string;
9
+ }
@@ -1,7 +1,7 @@
1
- export interface IRentalPriceAttr {
2
- PriceId: string;
3
- RetailPrice: number;
4
- Currency: string;
5
- PromoCode: string;
6
- Remarks: string;
7
- }
1
+ export interface IRentalPriceAttr {
2
+ PriceId: string;
3
+ RetailPrice: number;
4
+ Currency: string;
5
+ PromoCode: string;
6
+ Remarks: string;
7
+ }
@@ -1,4 +1,4 @@
1
- import { RentalModel } from './rental.entity';
2
- import { RentalPriceModel } from './rental-price.entity';
3
-
4
- export { RentalModel, RentalPriceModel };
1
+ import { RentalModel } from './rental.entity';
2
+ import { RentalPriceModel } from './rental-price.entity';
3
+
4
+ export { RentalModel, RentalPriceModel };
@@ -1,38 +1,38 @@
1
- import { Column, DataType, Table, Model } from 'sequelize-typescript';
2
-
3
- @Table({
4
- tableName: 'rental_Price',
5
- timestamps: false,
6
- createdAt: false,
7
- updatedAt: false,
8
- })
9
- export class RentalPriceModel extends Model {
10
- @Column({
11
- primaryKey: true,
12
- allowNull: false,
13
- type: DataType.STRING(30),
14
- })
15
- PriceId: string;
16
-
17
- @Column({
18
- allowNull: false,
19
- type: DataType.DECIMAL(10, 2),
20
- })
21
- RetailPrice: number;
22
-
23
- @Column({
24
- allowNull: false,
25
- type: DataType.CHAR(3),
26
- })
27
- Currency: string;
28
-
29
- @Column({
30
- type: DataType.STRING(10),
31
- })
32
- PromoCode: string;
33
-
34
- @Column({
35
- type: DataType.STRING(3000),
36
- })
37
- Remarks: string;
38
- }
1
+ import { Column, DataType, Table, Model } from 'sequelize-typescript';
2
+
3
+ @Table({
4
+ tableName: 'rental_Price',
5
+ timestamps: false,
6
+ createdAt: false,
7
+ updatedAt: false,
8
+ })
9
+ export class RentalPriceModel extends Model {
10
+ @Column({
11
+ primaryKey: true,
12
+ allowNull: false,
13
+ type: DataType.STRING(30),
14
+ })
15
+ PriceId: string;
16
+
17
+ @Column({
18
+ allowNull: false,
19
+ type: DataType.DECIMAL(10, 2),
20
+ })
21
+ RetailPrice: number;
22
+
23
+ @Column({
24
+ allowNull: false,
25
+ type: DataType.CHAR(3),
26
+ })
27
+ Currency: string;
28
+
29
+ @Column({
30
+ type: DataType.STRING(10),
31
+ })
32
+ PromoCode: string;
33
+
34
+ @Column({
35
+ type: DataType.STRING(3000),
36
+ })
37
+ Remarks: string;
38
+ }
@@ -1,114 +1,114 @@
1
- import {
2
- Column,
3
- DataType,
4
- Table,
5
- Model,
6
- ForeignKey,
7
- BelongsTo,
8
- CreatedAt,
9
- UpdatedAt,
10
- } from 'sequelize-typescript';
11
- import { RentalPriceModel } from './rental-price.entity';
12
- import { RentalStatusEnum } from '../enum/rental-status.enum';
13
-
14
- @Table({
15
- tableName: 'rental_Rental',
16
- })
17
- export class RentalModel extends Model {
18
- @Column({
19
- primaryKey: true,
20
- allowNull: false,
21
- type: DataType.STRING(30),
22
- })
23
- RentalId: string;
24
-
25
- @Column({
26
- allowNull: false,
27
- type: DataType.STRING(30),
28
- })
29
- CustomerId: string;
30
-
31
- @Column({
32
- allowNull: false,
33
- type: DataType.STRING(30),
34
- })
35
- CustomerType: string;
36
-
37
- @Column({
38
- allowNull: false,
39
- type: DataType.STRING(30),
40
- })
41
- ItemId: string;
42
-
43
- @Column({
44
- allowNull: false,
45
- type: DataType.STRING(30),
46
- })
47
- ItemType: string;
48
-
49
- @ForeignKey(() => RentalPriceModel)
50
- @Column({
51
- allowNull: false,
52
- type: DataType.STRING(30),
53
- })
54
- PriceId: string;
55
-
56
- @Column({
57
- allowNull: false,
58
- type: DataType.DATE,
59
- })
60
- StartDateTime: Date;
61
-
62
- @Column({
63
- allowNull: false,
64
- type: DataType.DATE,
65
- })
66
- EndDateTime: Date;
67
-
68
- @Column({
69
- allowNull: false,
70
- type: DataType.STRING(20),
71
- })
72
- Status: RentalStatusEnum;
73
-
74
- @Column({
75
- type: DataType.STRING(3000),
76
- })
77
- CancelRemarks: string;
78
-
79
- @Column({
80
- type: DataType.STRING(3000),
81
- })
82
- TerminateRemarks: string;
83
-
84
- @Column({
85
- type: DataType.CHAR(1),
86
- })
87
- EscheatmentYN: string;
88
-
89
- @Column({
90
- type: DataType.STRING(30),
91
- })
92
- AgreementNo: string;
93
-
94
- @Column({
95
- allowNull: false,
96
- type: DataType.STRING(30),
97
- })
98
- CreatedById: string;
99
-
100
- @CreatedAt
101
- CreatedAt: Date;
102
-
103
- @Column({
104
- allowNull: false,
105
- type: DataType.STRING(30),
106
- })
107
- UpdatedById: string;
108
-
109
- @UpdatedAt
110
- UpdatedAt: Date;
111
-
112
- @BelongsTo(() => RentalPriceModel)
113
- RentalPrice: RentalPriceModel;
114
- }
1
+ import {
2
+ Column,
3
+ DataType,
4
+ Table,
5
+ Model,
6
+ ForeignKey,
7
+ BelongsTo,
8
+ CreatedAt,
9
+ UpdatedAt,
10
+ } from 'sequelize-typescript';
11
+ import { RentalPriceModel } from './rental-price.entity';
12
+ import { RentalStatusEnum } from '../enum/rental-status.enum';
13
+
14
+ @Table({
15
+ tableName: 'rental_Rental',
16
+ })
17
+ export class RentalModel extends Model {
18
+ @Column({
19
+ primaryKey: true,
20
+ allowNull: false,
21
+ type: DataType.STRING(30),
22
+ })
23
+ RentalId: string;
24
+
25
+ @Column({
26
+ allowNull: false,
27
+ type: DataType.STRING(30),
28
+ })
29
+ CustomerId: string;
30
+
31
+ @Column({
32
+ allowNull: false,
33
+ type: DataType.STRING(30),
34
+ })
35
+ CustomerType: string;
36
+
37
+ @Column({
38
+ allowNull: false,
39
+ type: DataType.STRING(30),
40
+ })
41
+ ItemId: string;
42
+
43
+ @Column({
44
+ allowNull: false,
45
+ type: DataType.STRING(30),
46
+ })
47
+ ItemType: string;
48
+
49
+ @ForeignKey(() => RentalPriceModel)
50
+ @Column({
51
+ allowNull: false,
52
+ type: DataType.STRING(30),
53
+ })
54
+ PriceId: string;
55
+
56
+ @Column({
57
+ allowNull: false,
58
+ type: DataType.DATE,
59
+ })
60
+ StartDateTime: Date;
61
+
62
+ @Column({
63
+ allowNull: false,
64
+ type: DataType.DATE,
65
+ })
66
+ EndDateTime: Date;
67
+
68
+ @Column({
69
+ allowNull: false,
70
+ type: DataType.STRING(20),
71
+ })
72
+ Status: RentalStatusEnum;
73
+
74
+ @Column({
75
+ type: DataType.STRING(3000),
76
+ })
77
+ CancelRemarks: string;
78
+
79
+ @Column({
80
+ type: DataType.STRING(3000),
81
+ })
82
+ TerminateRemarks: string;
83
+
84
+ @Column({
85
+ type: DataType.CHAR(1),
86
+ })
87
+ EscheatmentYN: string;
88
+
89
+ @Column({
90
+ type: DataType.STRING(30),
91
+ })
92
+ AgreementNo: string;
93
+
94
+ @Column({
95
+ allowNull: false,
96
+ type: DataType.STRING(30),
97
+ })
98
+ CreatedById: string;
99
+
100
+ @CreatedAt
101
+ CreatedAt: Date;
102
+
103
+ @Column({
104
+ allowNull: false,
105
+ type: DataType.STRING(30),
106
+ })
107
+ UpdatedById: string;
108
+
109
+ @UpdatedAt
110
+ UpdatedAt: Date;
111
+
112
+ @BelongsTo(() => RentalPriceModel)
113
+ RentalPrice: RentalPriceModel;
114
+ }