@tomei/rental 0.17.0 → 0.17.3-dev.1

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 (134) hide show
  1. package/.husky/commit-msg +0 -6
  2. package/dist/src/components/agreement-signature/hirer-signature.d.ts +27 -0
  3. package/dist/src/components/agreement-signature/hirer-signature.js +112 -0
  4. package/dist/src/components/agreement-signature/hirer-signature.js.map +1 -0
  5. package/dist/src/components/agreement-signature/hirer-signature.repository.d.ts +8 -0
  6. package/dist/src/components/agreement-signature/hirer-signature.repository.js +67 -0
  7. package/dist/src/components/agreement-signature/hirer-signature.repository.js.map +1 -0
  8. package/dist/src/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.d.ts +32 -0
  9. package/dist/src/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.js +121 -0
  10. package/dist/src/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.js.map +1 -0
  11. package/dist/src/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.repository.d.ts +9 -0
  12. package/dist/src/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.repository.js +79 -0
  13. package/dist/src/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.repository.js.map +1 -0
  14. package/dist/src/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.d.ts +22 -0
  15. package/dist/src/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.js +104 -0
  16. package/dist/src/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.js.map +1 -0
  17. package/dist/src/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.repository.d.ts +9 -0
  18. package/dist/src/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.repository.js +80 -0
  19. package/dist/src/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.repository.js.map +1 -0
  20. package/dist/src/components/hirer-change-request-signature/hirer-change-request-signature.d.ts +30 -0
  21. package/dist/src/components/hirer-change-request-signature/hirer-change-request-signature.js +224 -0
  22. package/dist/src/components/hirer-change-request-signature/hirer-change-request-signature.js.map +1 -0
  23. package/dist/src/components/hirer-change-request-signature/hirer-change-request-signature.repository.d.ts +9 -0
  24. package/dist/src/components/hirer-change-request-signature/hirer-change-request-signature.repository.js +80 -0
  25. package/dist/src/components/hirer-change-request-signature/hirer-change-request-signature.repository.js.map +1 -0
  26. package/dist/src/components/hirer-signature/hirer-signature.d.ts +2 -2
  27. package/dist/src/components/hirer-signature/hirer-signature.js +1 -1
  28. package/dist/src/components/hirer-signature/hirer-signature.js.map +1 -1
  29. package/dist/src/components/hirer-signature/hirer-signature.repository.d.ts +1 -1
  30. package/dist/src/components/hirer-signature/hirer-signature.repository.js +6 -6
  31. package/dist/src/components/hirer-signature/hirer-signature.repository.js.map +1 -1
  32. package/dist/src/components/joint-hirer/joint-hirer.d.ts +3 -0
  33. package/dist/src/components/joint-hirer/joint-hirer.js +46 -0
  34. package/dist/src/components/joint-hirer/joint-hirer.js.map +1 -1
  35. package/dist/src/components/rental/rental.d.ts +1 -0
  36. package/dist/src/components/rental/rental.js +34 -4
  37. package/dist/src/components/rental/rental.js.map +1 -1
  38. package/dist/src/components/rental-hirer-change-request/rental-hirer-change-request.d.ts +70 -0
  39. package/dist/src/components/rental-hirer-change-request/rental-hirer-change-request.js +570 -0
  40. package/dist/src/components/rental-hirer-change-request/rental-hirer-change-request.js.map +1 -0
  41. package/dist/src/components/rental-hirer-change-request/rental-hirer-change-request.repository.d.ts +9 -0
  42. package/dist/src/components/rental-hirer-change-request/rental-hirer-change-request.repository.js +79 -0
  43. package/dist/src/components/rental-hirer-change-request/rental-hirer-change-request.repository.js.map +1 -0
  44. package/dist/src/database.js +8 -0
  45. package/dist/src/database.js.map +1 -1
  46. package/dist/src/enum/index.d.ts +4 -1
  47. package/dist/src/enum/index.js +7 -1
  48. package/dist/src/enum/index.js.map +1 -1
  49. package/dist/src/enum/rental-hirer-change-request-hirer-role.d.ts +4 -0
  50. package/dist/src/enum/rental-hirer-change-request-hirer-role.js +9 -0
  51. package/dist/src/enum/rental-hirer-change-request-hirer-role.js.map +1 -0
  52. package/dist/src/enum/rental-hirer-change-request-status.d.ts +7 -0
  53. package/dist/src/enum/rental-hirer-change-request-status.js +12 -0
  54. package/dist/src/enum/rental-hirer-change-request-status.js.map +1 -0
  55. package/dist/src/enum/rental-hirer-change-request-type.d.ts +4 -0
  56. package/dist/src/enum/rental-hirer-change-request-type.js +9 -0
  57. package/dist/src/enum/rental-hirer-change-request-type.js.map +1 -0
  58. package/dist/src/index.d.ts +9 -1
  59. package/dist/src/index.js +17 -1
  60. package/dist/src/index.js.map +1 -1
  61. package/dist/src/interfaces/hirer-change-request-new-hirer-attr.interface.d.ts +15 -0
  62. package/dist/src/interfaces/hirer-change-request-new-hirer-attr.interface.js +3 -0
  63. package/dist/src/interfaces/hirer-change-request-new-hirer-attr.interface.js.map +1 -0
  64. package/dist/src/interfaces/hirer-change-request-remove-hirer-attr.interface.d.ts +5 -0
  65. package/dist/src/interfaces/hirer-change-request-remove-hirer-attr.interface.js +3 -0
  66. package/dist/src/interfaces/hirer-change-request-remove-hirer-attr.interface.js.map +1 -0
  67. package/dist/src/interfaces/hirer-change-request-signature-attr.interface.d.ts +14 -0
  68. package/dist/src/interfaces/hirer-change-request-signature-attr.interface.js +3 -0
  69. package/dist/src/interfaces/hirer-change-request-signature-attr.interface.js.map +1 -0
  70. package/dist/src/interfaces/index.d.ts +6 -1
  71. package/dist/src/interfaces/joint-hirer-attr.interface.d.ts +1 -0
  72. package/dist/src/interfaces/rental-hirer-change-request.attr.interface.d.ts +16 -0
  73. package/dist/src/interfaces/rental-hirer-change-request.attr.interface.js +3 -0
  74. package/dist/src/interfaces/rental-hirer-change-request.attr.interface.js.map +1 -0
  75. package/dist/src/interfaces/rental-hirer-change-request.update.interface.d.ts +4 -0
  76. package/dist/src/interfaces/rental-hirer-change-request.update.interface.js +3 -0
  77. package/dist/src/interfaces/rental-hirer-change-request.update.interface.js.map +1 -0
  78. package/dist/src/models/hirer-change-request-new-hirer.entity.d.ts +19 -0
  79. package/dist/src/models/hirer-change-request-new-hirer.entity.js +121 -0
  80. package/dist/src/models/hirer-change-request-new-hirer.entity.js.map +1 -0
  81. package/dist/src/models/hirer-change-request-remove-hirer.entity.d.ts +11 -0
  82. package/dist/src/models/hirer-change-request-remove-hirer.entity.js +57 -0
  83. package/dist/src/models/hirer-change-request-remove-hirer.entity.js.map +1 -0
  84. package/dist/src/models/hirer-change-request-signature.entity.d.ts +18 -0
  85. package/dist/src/models/hirer-change-request-signature.entity.js +101 -0
  86. package/dist/src/models/hirer-change-request-signature.entity.js.map +1 -0
  87. package/dist/src/models/hirer-signature.entity.d.ts +2 -2
  88. package/dist/src/models/hirer-signature.entity.js +18 -18
  89. package/dist/src/models/hirer-signature.entity.js.map +1 -1
  90. package/dist/src/models/index.d.ts +5 -1
  91. package/dist/src/models/index.js +9 -1
  92. package/dist/src/models/index.js.map +1 -1
  93. package/dist/src/models/joint-hirer.entity.d.ts +1 -0
  94. package/dist/src/models/joint-hirer.entity.js +12 -0
  95. package/dist/src/models/joint-hirer.entity.js.map +1 -1
  96. package/dist/src/models/rental-hirer-change-request.entity.d.ts +22 -0
  97. package/dist/src/models/rental-hirer-change-request.entity.js +108 -0
  98. package/dist/src/models/rental-hirer-change-request.entity.js.map +1 -0
  99. package/dist/tsconfig.tsbuildinfo +1 -1
  100. package/migrations/20250529092130-add-status-to-joint-hirer.js +19 -0
  101. package/migrations/hirer-change-request-new-hirer-migration.js +72 -0
  102. package/migrations/hirer-change-request-remove-hirer-migration.js +39 -0
  103. package/migrations/hirer-change-request-signature-migration.js +65 -0
  104. package/migrations/rental-hirer-change-request-migrations.js +64 -0
  105. package/package.json +3 -3
  106. package/src/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.repository.ts +64 -0
  107. package/src/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.ts +153 -0
  108. package/src/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.repository.ts +65 -0
  109. package/src/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.ts +134 -0
  110. package/src/components/hirer-change-request-signature/hirer-change-request-signature.repository.ts +65 -0
  111. package/src/components/hirer-change-request-signature/hirer-change-request-signature.ts +271 -0
  112. package/src/components/joint-hirer/joint-hirer.ts +52 -0
  113. package/src/components/rental/rental.ts +46 -4
  114. package/src/components/rental-hirer-change-request/rental-hirer-change-request.repository.ts +64 -0
  115. package/src/components/rental-hirer-change-request/rental-hirer-change-request.ts +919 -0
  116. package/src/database.ts +8 -0
  117. package/src/enum/index.ts +6 -0
  118. package/src/enum/rental-hirer-change-request-hirer-role.ts +4 -0
  119. package/src/enum/rental-hirer-change-request-status.ts +7 -0
  120. package/src/enum/rental-hirer-change-request-type.ts +4 -0
  121. package/src/index.ts +16 -0
  122. package/src/interfaces/hirer-change-request-new-hirer-attr.interface.ts +15 -0
  123. package/src/interfaces/hirer-change-request-remove-hirer-attr.interface.ts +5 -0
  124. package/src/interfaces/hirer-change-request-signature-attr.interface.ts +15 -0
  125. package/src/interfaces/index.ts +10 -0
  126. package/src/interfaces/joint-hirer-attr.interface.ts +1 -0
  127. package/src/interfaces/rental-hirer-change-request.attr.interface.ts +17 -0
  128. package/src/interfaces/rental-hirer-change-request.update.interface.ts +4 -0
  129. package/src/models/hirer-change-request-new-hirer.entity.ts +102 -0
  130. package/src/models/hirer-change-request-remove-hirer.entity.ts +47 -0
  131. package/src/models/hirer-change-request-signature.entity.ts +86 -0
  132. package/src/models/index.ts +8 -0
  133. package/src/models/joint-hirer.entity.ts +7 -0
  134. package/src/models/rental-hirer-change-request.entity.ts +93 -0
package/src/database.ts CHANGED
@@ -6,6 +6,10 @@ import { JointHirerModel } from './models/joint-hirer.entity';
6
6
  import { AgreementModel } from './models/agreement.entity';
7
7
  import { AgreementSignatureModel } from './models/agreement-signature.entity';
8
8
  import { AgreementHistoryModel } from './models/agreement-history.entity';
9
+ import { RentalHirerChangeRequestModel } from './models/rental-hirer-change-request.entity';
10
+ import { HirerChangeRequestNewHirerModel } from './models/hirer-change-request-new-hirer.entity';
11
+ import { HirerChangeRequestRemoveHirerModel } from './models/hirer-change-request-remove-hirer.entity';
12
+ import { HirerChangeRequestSignatureModel } from './models/hirer-change-request-signature.entity';
9
13
 
10
14
  let sequelize: Sequelize;
11
15
 
@@ -21,6 +25,10 @@ function init(sequelizeOptions: SequelizeOptions) {
21
25
  AgreementModel,
22
26
  AgreementSignatureModel,
23
27
  AgreementHistoryModel,
28
+ RentalHirerChangeRequestModel,
29
+ HirerChangeRequestNewHirerModel,
30
+ HirerChangeRequestRemoveHirerModel,
31
+ HirerChangeRequestSignatureModel,
24
32
  ]);
25
33
  }
26
34
 
package/src/enum/index.ts CHANGED
@@ -4,6 +4,9 @@ import { RentalAccountTypeEnum } from './account-type.enum';
4
4
  import { AggrementStatusEnum } from './aggrement-status.enum';
5
5
  import { AgreementSignatureStatusEnum } from './agreement-signature-status.enum';
6
6
  import { HirerTypeEnum } from './hirer-type.enum';
7
+ import { HirerChangeRequestTypeEnum } from './rental-hirer-change-request-type';
8
+ import { HirerChangeRequestStatusEnum } from './rental-hirer-change-request-status';
9
+ import { HirerChangeRequestHirerRoleEnum } from './rental-hirer-change-request-hirer-role';
7
10
 
8
11
  export {
9
12
  RentalStatusEnum,
@@ -12,4 +15,7 @@ export {
12
15
  AggrementStatusEnum,
13
16
  AgreementSignatureStatusEnum,
14
17
  HirerTypeEnum,
18
+ HirerChangeRequestTypeEnum,
19
+ HirerChangeRequestStatusEnum,
20
+ HirerChangeRequestHirerRoleEnum,
15
21
  };
@@ -0,0 +1,4 @@
1
+ export enum HirerChangeRequestHirerRoleEnum {
2
+ MAIN = 'Main',
3
+ JOINT = 'Joint',
4
+ }
@@ -0,0 +1,7 @@
1
+ export enum HirerChangeRequestStatusEnum {
2
+ DRAFT = 'Draft',
3
+ PENDINGSIGNATURES = 'PendingSignatures',
4
+ AWAITINGNEWHIRER = 'AwaitingNewHirer',
5
+ COMPLETED = 'Completed',
6
+ CANCELLED = 'Cancelled',
7
+ }
@@ -0,0 +1,4 @@
1
+ export enum HirerChangeRequestTypeEnum {
2
+ ADD = 'Add',
3
+ REMOVE = 'Remove',
4
+ }
package/src/index.ts CHANGED
@@ -12,6 +12,14 @@ import { AgreementSignature } from './components/agreement-signature/agreement-s
12
12
  import { AgreementSignatureRepository } from './components/agreement-signature/agreement-signature.repository';
13
13
  import { AgreementHistory } from './components/agreement-history/agreement-history';
14
14
  import { AgreementHistoryRepository } from './components/agreement-history/agreement-history.repository';
15
+ import { RentalHirerChangeRequest } from './components/rental-hirer-change-request/rental-hirer-change-request';
16
+ import { RentalHirerChangeRequestRepository } from './components/rental-hirer-change-request/rental-hirer-change-request.repository';
17
+ import { HirerChangeRequestSignature } from './components/hirer-change-request-signature/hirer-change-request-signature';
18
+ import { HirerChangeRequestSignatureRepository } from './components/hirer-change-request-signature/hirer-change-request-signature.repository';
19
+ import { HirerChangeRequestNewHirer } from './components/hirer-change-request-new-hirer/hirer-change-request-new-hirer';
20
+ import { HirerChangeRequestNewHirerRepository } from './components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.repository';
21
+ import { HirerChangeRequestRemoveHirer } from './components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer';
22
+ import { HirerChangeRequestRemoveHirerRepository } from './components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.repository';
15
23
  import * as rentalDb from './database';
16
24
  export * from './interfaces';
17
25
  export * from './models';
@@ -33,4 +41,12 @@ export {
33
41
  AgreementSignatureRepository,
34
42
  AgreementHistory,
35
43
  AgreementHistoryRepository,
44
+ RentalHirerChangeRequest,
45
+ RentalHirerChangeRequestRepository,
46
+ HirerChangeRequestSignature,
47
+ HirerChangeRequestSignatureRepository,
48
+ HirerChangeRequestNewHirer,
49
+ HirerChangeRequestNewHirerRepository,
50
+ HirerChangeRequestRemoveHirer,
51
+ HirerChangeRequestRemoveHirerRepository,
36
52
  };
@@ -0,0 +1,15 @@
1
+ export interface IHirerChangeRequestNewHirerAttr {
2
+ NewHirerId: string;
3
+ RequestId: string;
4
+ FullName: string;
5
+ Email: string;
6
+ IdType: string;
7
+ IdNo: string;
8
+ ContactNo: string;
9
+ Relationship: string;
10
+ Address: string;
11
+ City: string;
12
+ State: string;
13
+ Postcode: string;
14
+ Country: string;
15
+ }
@@ -0,0 +1,5 @@
1
+ export interface IHirerChangeRequestRemoveHirerAttr {
2
+ RemoveHirerId: string;
3
+ RequestId: string;
4
+ TargetHirerId: string;
5
+ }
@@ -0,0 +1,15 @@
1
+ import { HirerChangeRequestHirerRoleEnum } from '../enum';
2
+
3
+ export interface IHirerChangeRequestSignatureAttr {
4
+ SignatureId: string;
5
+ RequestId: string;
6
+ CustomerId: string;
7
+ JointHirerId: string;
8
+ HirerType: HirerChangeRequestHirerRoleEnum;
9
+ SignedAt: Date;
10
+ Method: string;
11
+ Remarks: string;
12
+ CreatedAt: Date;
13
+ UpdatedAt: Date;
14
+ UpdatedById: string;
15
+ }
@@ -6,6 +6,11 @@ import { IAgreementAttr } from './agreement-attr.interface';
6
6
  import { IBookingFindAllSearchAttr } from './booking-find-all-search-attr.interface';
7
7
  import { IAgreementSignatureAttr } from './agreemeent-signature-attr.interface';
8
8
  import { IResponseAgreementSignature } from './response-hirer-signature-attr.interface';
9
+ import { IRentalHirerChangeRequestAttr } from './rental-hirer-change-request.attr.interface';
10
+ import { IRentalHirerChangeRequestUpdate } from './rental-hirer-change-request.update.interface';
11
+ import { IHirerChangeRequestSignatureAttr } from './hirer-change-request-signature-attr.interface';
12
+ import { IHirerChangeRequestRemoveHirerAttr } from './hirer-change-request-remove-hirer-attr.interface';
13
+ import { IHirerChangeRequestNewHirerAttr } from './hirer-change-request-new-hirer-attr.interface';
9
14
 
10
15
  export {
11
16
  IRentalAttr,
@@ -16,4 +21,9 @@ export {
16
21
  IBookingFindAllSearchAttr,
17
22
  IAgreementSignatureAttr,
18
23
  IResponseAgreementSignature,
24
+ IRentalHirerChangeRequestAttr,
25
+ IRentalHirerChangeRequestUpdate,
26
+ IHirerChangeRequestSignatureAttr,
27
+ IHirerChangeRequestRemoveHirerAttr,
28
+ IHirerChangeRequestNewHirerAttr,
19
29
  };
@@ -3,6 +3,7 @@ export interface IJointHirerAttr {
3
3
  RentalId: string;
4
4
  CustomerId: string;
5
5
  CustomerType: string;
6
+ Status: string;
6
7
  CreatedById: string;
7
8
  CreatedAt: Date;
8
9
  UpdatedById: string;
@@ -0,0 +1,17 @@
1
+ import { HirerChangeRequestTypeEnum } from '../enum/rental-hirer-change-request-type';
2
+ import { HirerChangeRequestStatusEnum } from '../enum/rental-hirer-change-request-status';
3
+ import { HirerChangeRequestHirerRoleEnum } from '../enum/rental-hirer-change-request-hirer-role';
4
+
5
+ export interface IRentalHirerChangeRequestAttr {
6
+ RequestId: string;
7
+ RentalId: string;
8
+ Type: HirerChangeRequestTypeEnum;
9
+ Status: HirerChangeRequestStatusEnum;
10
+ RequestedAt: Date;
11
+ RequestedById: string;
12
+ RequestingHirerId: string;
13
+ RequestingHirerType: HirerChangeRequestHirerRoleEnum;
14
+ CancelRemarks: string;
15
+ UpdatedAt: Date;
16
+ UpdatedById: string;
17
+ }
@@ -0,0 +1,4 @@
1
+ export interface IRentalHirerChangeRequestUpdate {
2
+ customerId?: string;
3
+ jointHirerId?: string;
4
+ }
@@ -0,0 +1,102 @@
1
+ import {
2
+ Table,
3
+ Model,
4
+ Column,
5
+ DataType,
6
+ ForeignKey,
7
+ BelongsTo,
8
+ } from 'sequelize-typescript';
9
+ import { RentalHirerChangeRequestModel } from './rental-hirer-change-request.entity';
10
+ import { IHirerChangeRequestNewHirerAttr } from 'interfaces/hirer-change-request-new-hirer-attr.interface';
11
+
12
+ @Table({
13
+ tableName: 'hirerChangeRequest_NewHirer',
14
+ timestamps: false,
15
+ })
16
+ export class HirerChangeRequestNewHirerModel
17
+ extends Model
18
+ implements IHirerChangeRequestNewHirerAttr
19
+ {
20
+ @Column({
21
+ primaryKey: true,
22
+ allowNull: false,
23
+ type: DataType.STRING(30),
24
+ })
25
+ NewHirerId: string;
26
+
27
+ @ForeignKey(() => RentalHirerChangeRequestModel)
28
+ @Column({
29
+ allowNull: false,
30
+ type: DataType.STRING(30),
31
+ })
32
+ RequestId: string;
33
+
34
+ @Column({
35
+ allowNull: false,
36
+ type: DataType.STRING(200),
37
+ })
38
+ FullName: string;
39
+
40
+ @Column({
41
+ allowNull: false,
42
+ type: DataType.STRING(100),
43
+ })
44
+ Email: string;
45
+
46
+ @Column({
47
+ allowNull: false,
48
+ type: DataType.STRING(20),
49
+ })
50
+ IdType: string;
51
+
52
+ @Column({
53
+ allowNull: false,
54
+ type: DataType.STRING(50),
55
+ })
56
+ IdNo: string;
57
+
58
+ @Column({
59
+ allowNull: false,
60
+ type: DataType.STRING(20),
61
+ })
62
+ ContactNo: string;
63
+
64
+ @Column({
65
+ allowNull: false,
66
+ type: DataType.STRING(20),
67
+ })
68
+ Relationship: string;
69
+
70
+ @Column({
71
+ allowNull: false,
72
+ type: DataType.STRING(1000),
73
+ })
74
+ Address: string;
75
+
76
+ @Column({
77
+ allowNull: false,
78
+ type: DataType.STRING(100),
79
+ })
80
+ City: string;
81
+
82
+ @Column({
83
+ allowNull: false,
84
+ type: DataType.STRING(100),
85
+ })
86
+ State: string;
87
+
88
+ @Column({
89
+ allowNull: false,
90
+ type: DataType.STRING(20),
91
+ })
92
+ Postcode: string;
93
+
94
+ @Column({
95
+ allowNull: false,
96
+ type: DataType.STRING(100),
97
+ })
98
+ Country: string;
99
+
100
+ @BelongsTo(() => RentalHirerChangeRequestModel)
101
+ HirerChangeRequest: RentalHirerChangeRequestModel;
102
+ }
@@ -0,0 +1,47 @@
1
+ import {
2
+ BelongsTo,
3
+ Column,
4
+ DataType,
5
+ ForeignKey,
6
+ Model,
7
+ Table,
8
+ } from 'sequelize-typescript';
9
+ import { RentalHirerChangeRequestModel } from './rental-hirer-change-request.entity';
10
+ import { JointHirerModel } from './joint-hirer.entity';
11
+ import { IHirerChangeRequestRemoveHirerAttr } from 'interfaces/hirer-change-request-remove-hirer-attr.interface';
12
+
13
+ @Table({
14
+ tableName: 'hirerChangeRequest_RemoveHirer',
15
+ timestamps: false,
16
+ })
17
+ export class HirerChangeRequestRemoveHirerModel
18
+ extends Model
19
+ implements IHirerChangeRequestRemoveHirerAttr
20
+ {
21
+ @Column({
22
+ primaryKey: true,
23
+ allowNull: false,
24
+ type: DataType.STRING(30),
25
+ })
26
+ RemoveHirerId: string;
27
+
28
+ @ForeignKey(() => RentalHirerChangeRequestModel)
29
+ @Column({
30
+ allowNull: false,
31
+ type: DataType.STRING(30),
32
+ })
33
+ RequestId: string;
34
+
35
+ @ForeignKey(() => JointHirerModel)
36
+ @Column({
37
+ allowNull: false,
38
+ type: DataType.STRING(30),
39
+ })
40
+ TargetHirerId: string;
41
+
42
+ @BelongsTo(() => RentalHirerChangeRequestModel)
43
+ RentalHirerChangeRequest: RentalHirerChangeRequestModel;
44
+
45
+ @BelongsTo(() => JointHirerModel, { foreignKey: 'TargetHirerId' })
46
+ TargetHirer: JointHirerModel;
47
+ }
@@ -0,0 +1,86 @@
1
+ import {
2
+ Table,
3
+ Model,
4
+ Column,
5
+ DataType,
6
+ ForeignKey,
7
+ BelongsTo,
8
+ CreatedAt,
9
+ UpdatedAt,
10
+ } from 'sequelize-typescript';
11
+ import { RentalHirerChangeRequestModel } from './rental-hirer-change-request.entity';
12
+ import { HirerChangeRequestHirerRoleEnum } from '../enum/rental-hirer-change-request-hirer-role';
13
+ import { IHirerChangeRequestSignatureAttr } from 'interfaces/hirer-change-request-signature-attr.interface';
14
+
15
+ @Table({
16
+ tableName: 'hirerChangeRequest_Signature',
17
+ })
18
+ export class HirerChangeRequestSignatureModel
19
+ extends Model
20
+ implements IHirerChangeRequestSignatureAttr
21
+ {
22
+ @Column({
23
+ primaryKey: true,
24
+ allowNull: false,
25
+ type: DataType.STRING(30),
26
+ })
27
+ SignatureId: string;
28
+
29
+ @ForeignKey(() => RentalHirerChangeRequestModel)
30
+ @Column({
31
+ allowNull: false,
32
+ type: DataType.STRING(30),
33
+ })
34
+ RequestId: string;
35
+
36
+ @Column({
37
+ allowNull: true,
38
+ type: DataType.STRING(30),
39
+ })
40
+ CustomerId: string;
41
+
42
+ @Column({
43
+ type: DataType.STRING(30),
44
+ allowNull: true,
45
+ })
46
+ JointHirerId: string;
47
+
48
+ @Column({
49
+ allowNull: false,
50
+ type: DataType.STRING(30),
51
+ })
52
+ HirerType: HirerChangeRequestHirerRoleEnum;
53
+
54
+ @Column({
55
+ type: DataType.DATE,
56
+ allowNull: true,
57
+ })
58
+ SignedAt: Date;
59
+
60
+ @Column({
61
+ allowNull: false,
62
+ type: DataType.STRING(20),
63
+ })
64
+ Method: string;
65
+
66
+ @Column({
67
+ allowNull: true,
68
+ type: DataType.STRING(300),
69
+ })
70
+ Remarks: string;
71
+
72
+ @CreatedAt
73
+ CreatedAt: Date;
74
+
75
+ @UpdatedAt
76
+ UpdatedAt: Date;
77
+
78
+ @Column({
79
+ allowNull: false,
80
+ type: DataType.STRING(30),
81
+ })
82
+ UpdatedById: string;
83
+
84
+ @BelongsTo(() => RentalHirerChangeRequestModel)
85
+ HirerChangeRequest: RentalHirerChangeRequestModel;
86
+ }
@@ -5,6 +5,10 @@ import { JointHirerModel } from './joint-hirer.entity';
5
5
  import { AgreementModel } from './agreement.entity';
6
6
  import { AgreementSignatureModel } from './agreement-signature.entity';
7
7
  import { AgreementHistoryModel } from './agreement-history.entity';
8
+ import { RentalHirerChangeRequestModel } from './rental-hirer-change-request.entity';
9
+ import { HirerChangeRequestSignatureModel } from './hirer-change-request-signature.entity';
10
+ import { HirerChangeRequestRemoveHirerModel } from './hirer-change-request-remove-hirer.entity';
11
+ import { HirerChangeRequestNewHirerModel } from './hirer-change-request-new-hirer.entity';
8
12
 
9
13
  export {
10
14
  RentalModel,
@@ -14,4 +18,8 @@ export {
14
18
  AgreementModel,
15
19
  AgreementSignatureModel,
16
20
  AgreementHistoryModel,
21
+ RentalHirerChangeRequestModel,
22
+ HirerChangeRequestSignatureModel,
23
+ HirerChangeRequestRemoveHirerModel,
24
+ HirerChangeRequestNewHirerModel,
17
25
  };
@@ -40,6 +40,13 @@ export class JointHirerModel extends Model {
40
40
  })
41
41
  CustomerType: string;
42
42
 
43
+ @Column({
44
+ allowNull: false,
45
+ type: DataType.STRING(20),
46
+ defaultValue: 'Active',
47
+ })
48
+ Status: string = 'Active'; // Default status
49
+
43
50
  @Column({
44
51
  allowNull: false,
45
52
  type: DataType.STRING(30),
@@ -0,0 +1,93 @@
1
+ import {
2
+ Table,
3
+ Model,
4
+ Column,
5
+ DataType,
6
+ ForeignKey,
7
+ CreatedAt,
8
+ UpdatedAt,
9
+ HasMany,
10
+ BelongsTo,
11
+ } from 'sequelize-typescript';
12
+ import { RentalModel } from './rental.entity';
13
+ import { HirerChangeRequestTypeEnum } from '../enum/rental-hirer-change-request-type';
14
+ import { HirerChangeRequestStatusEnum } from '../enum/rental-hirer-change-request-status';
15
+ import { HirerChangeRequestSignatureModel } from './hirer-change-request-signature.entity';
16
+ import { IRentalHirerChangeRequestAttr } from '../interfaces/rental-hirer-change-request.attr.interface';
17
+ import { HirerChangeRequestHirerRoleEnum } from '../enum/rental-hirer-change-request-hirer-role';
18
+
19
+ @Table({
20
+ tableName: 'rental_HirerChangeRequest',
21
+ })
22
+ export class RentalHirerChangeRequestModel
23
+ extends Model
24
+ implements IRentalHirerChangeRequestAttr
25
+ {
26
+ @Column({
27
+ primaryKey: true,
28
+ allowNull: false,
29
+ type: DataType.STRING(30),
30
+ })
31
+ RequestId: string;
32
+
33
+ @ForeignKey(() => RentalModel)
34
+ @Column({
35
+ allowNull: false,
36
+ type: DataType.STRING(30),
37
+ })
38
+ RentalId: string;
39
+
40
+ @Column({
41
+ allowNull: false,
42
+ type: DataType.STRING(30),
43
+ })
44
+ Type: HirerChangeRequestTypeEnum;
45
+
46
+ @Column({
47
+ allowNull: false,
48
+ type: DataType.STRING(30),
49
+ })
50
+ Status: HirerChangeRequestStatusEnum;
51
+
52
+ @CreatedAt
53
+ RequestedAt: Date;
54
+
55
+ @Column({
56
+ allowNull: false,
57
+ type: DataType.STRING(30),
58
+ })
59
+ RequestedById: string;
60
+
61
+ @Column({
62
+ allowNull: false,
63
+ type: DataType.STRING(30),
64
+ })
65
+ RequestingHirerId: string;
66
+
67
+ @Column({
68
+ allowNull: false,
69
+ type: DataType.STRING(30),
70
+ })
71
+ RequestingHirerType: HirerChangeRequestHirerRoleEnum; // Assuming this is the correct type, adjust if necessary
72
+
73
+ @Column({
74
+ allowNull: true,
75
+ type: DataType.STRING(300),
76
+ })
77
+ CancelRemarks: string;
78
+
79
+ @UpdatedAt
80
+ UpdatedAt: Date;
81
+
82
+ @Column({
83
+ allowNull: false,
84
+ type: DataType.STRING(30),
85
+ })
86
+ UpdatedById: string;
87
+
88
+ @BelongsTo(() => RentalModel)
89
+ Rental: RentalModel;
90
+
91
+ @HasMany(() => HirerChangeRequestSignatureModel)
92
+ HirerList: HirerChangeRequestSignatureModel[];
93
+ }