@tomei/rental 0.16.3 → 0.16.5
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.
- package/.commitlintrc.json +22 -22
- package/.gitlab-ci.yml +16 -16
- package/.husky/commit-msg +15 -15
- package/.husky/pre-commit +7 -7
- package/.prettierrc +4 -4
- package/Jenkinsfile +51 -51
- package/README.md +8 -8
- package/dist/src/components/agreement/agreement.d.ts +4 -4
- package/dist/src/components/agreement/agreement.js +9 -9
- package/dist/src/components/agreement/agreement.js.map +1 -1
- package/dist/src/components/agreement-signature/agreement-signature.d.ts +27 -0
- package/dist/src/components/agreement-signature/agreement-signature.js +112 -0
- package/dist/src/components/agreement-signature/agreement-signature.js.map +1 -0
- package/dist/src/components/agreement-signature/agreement-signature.repository.d.ts +8 -0
- package/dist/src/components/agreement-signature/agreement-signature.repository.js +68 -0
- package/dist/src/components/agreement-signature/agreement-signature.repository.js.map +1 -0
- package/dist/src/components/agreement-signature/hirer-signature.d.ts +27 -0
- package/dist/src/components/agreement-signature/hirer-signature.js +112 -0
- package/dist/src/components/agreement-signature/hirer-signature.js.map +1 -0
- package/dist/src/components/agreement-signature/hirer-signature.repository.d.ts +8 -0
- package/dist/src/components/agreement-signature/hirer-signature.repository.js +67 -0
- package/dist/src/components/agreement-signature/hirer-signature.repository.js.map +1 -0
- package/dist/src/components/hirer-signature/hirer-signature.d.ts +2 -2
- package/dist/src/components/hirer-signature/hirer-signature.repository.d.ts +1 -1
- package/dist/src/components/hirer-signature/hirer-signature.repository.js +6 -6
- package/dist/src/components/hirer-signature/hirer-signature.repository.js.map +1 -1
- package/dist/src/components/rental/rental.d.ts +5 -5
- package/dist/src/components/rental/rental.js +46 -40
- package/dist/src/components/rental/rental.js.map +1 -1
- package/dist/src/database.js +2 -2
- package/dist/src/database.js.map +1 -1
- package/dist/src/enum/agreement-signature-status.enum.d.ts +4 -0
- package/dist/src/enum/agreement-signature-status.enum.js +9 -0
- package/dist/src/enum/agreement-signature-status.enum.js.map +1 -0
- package/dist/src/enum/index.d.ts +2 -2
- package/dist/src/enum/index.js +3 -3
- package/dist/src/enum/index.js.map +1 -1
- package/dist/src/enum/rental-status.enum.d.ts +1 -2
- package/dist/src/enum/rental-status.enum.js +0 -1
- package/dist/src/enum/rental-status.enum.js.map +1 -1
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.js +5 -5
- package/dist/src/index.js.map +1 -1
- package/dist/src/interfaces/agreemeent-signature-attr.interface.d.ts +14 -0
- package/dist/src/interfaces/agreemeent-signature-attr.interface.js +3 -0
- package/dist/src/interfaces/agreemeent-signature-attr.interface.js.map +1 -0
- package/dist/src/interfaces/index.d.ts +3 -3
- package/dist/src/interfaces/rental-attr.interface.d.ts +1 -1
- package/dist/src/interfaces/response-hirer-signature-attr.interface.d.ts +6 -6
- package/dist/src/models/agreement-signature.entity.d.ts +18 -0
- package/dist/src/models/agreement-signature.entity.js +101 -0
- package/dist/src/models/agreement-signature.entity.js.map +1 -0
- package/dist/src/models/agreement.entity.d.ts +2 -2
- package/dist/src/models/agreement.entity.js +3 -3
- package/dist/src/models/agreement.entity.js.map +1 -1
- package/dist/src/models/hirer-signature.entity.d.ts +2 -2
- package/dist/src/models/hirer-signature.entity.js +18 -18
- package/dist/src/models/hirer-signature.entity.js.map +1 -1
- package/dist/src/models/index.d.ts +2 -2
- package/dist/src/models/index.js +3 -3
- package/dist/src/models/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/eslint.config.mjs +58 -58
- package/jest.config.js +10 -10
- package/migrations/booking-table-migration.js +79 -79
- package/migrations/hirer-signature-table-migration.js +64 -64
- package/migrations/joint-hirer-table-migration.js +52 -52
- package/migrations/rental-aggreement-history-migration.js +41 -41
- package/migrations/rental-aggrement-table-migration.js +30 -30
- package/migrations/rental-price-table-migration.js +32 -32
- package/migrations/rental-table-migrations.js +96 -96
- package/package.json +75 -75
- package/sonar-project.properties +12 -12
- package/src/components/agreement/agreement.repository.ts +54 -54
- package/src/components/agreement/agreement.ts +180 -180
- package/src/components/agreement-history/agreement-history.repository.ts +54 -54
- package/src/components/agreement-history/agreement-history.ts +57 -57
- package/src/components/agreement-signature/agreement-signature.repository.ts +55 -0
- package/src/components/agreement-signature/agreement-signature.ts +143 -0
- package/src/components/booking/booking.repository.ts +51 -51
- package/src/components/booking/booking.ts +492 -492
- package/src/components/joint-hirer/joint-hirer.repository.ts +54 -54
- package/src/components/joint-hirer/joint-hirer.ts +137 -137
- package/src/components/rental/rental.repository.ts +51 -51
- package/src/components/rental/rental.ts +1125 -1116
- package/src/components/rental-price/rental-price.repository.ts +54 -54
- package/src/components/rental-price/rental-price.ts +100 -100
- package/src/database.ts +31 -31
- package/src/enum/account-type.enum.ts +4 -4
- package/src/enum/agreement-signature-status.enum.ts +4 -0
- package/src/enum/booking.enum.ts +5 -5
- package/src/enum/hirer-type.enum.ts +4 -4
- package/src/enum/index.ts +15 -15
- package/src/enum/rental-status.enum.ts +34 -39
- package/src/index.ts +36 -36
- package/src/interfaces/agreemeent-signature-attr.interface.ts +15 -0
- package/src/interfaces/agreement-attr.interface.ts +7 -7
- package/src/interfaces/agreement-history-attr.interface.ts +7 -7
- package/src/interfaces/booking-attr.interface.ts +19 -19
- package/src/interfaces/booking-find-all-search-attr.interface.ts +12 -12
- package/src/interfaces/index.ts +19 -19
- package/src/interfaces/joint-hirer-attr.interface.ts +10 -10
- package/src/interfaces/rental-attr.interface.ts +25 -25
- package/src/interfaces/rental-find-all-search-attr.interface.ts +11 -11
- package/src/interfaces/rental-price-attr.interface.ts +7 -7
- package/src/interfaces/response-hirer-signature-attr.interface.ts +15 -15
- package/src/models/agreement-history.entity.ts +51 -51
- package/src/models/{hirer-signature.entity.ts → agreement-signature.entity.ts} +86 -81
- package/src/models/agreement.entity.ts +47 -47
- package/src/models/booking.entity.ts +105 -105
- package/src/models/index.ts +17 -17
- package/src/models/joint-hirer.entity.ts +63 -63
- package/src/models/rental-price.entity.ts +38 -38
- package/src/models/rental.entity.ts +133 -133
- package/tsconfig.build.json +5 -5
- package/tsconfig.json +24 -24
- package/src/components/hirer-signature/hirer-signature.repository.ts +0 -54
- package/src/components/hirer-signature/hirer-signature.ts +0 -140
- package/src/enum/hirer-signature-status.enum.ts +0 -4
- package/src/interfaces/hirer-signature-attr.interface.ts +0 -15
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { ClassError, ObjectBase } from '@tomei/general';
|
|
2
|
+
import { AgreementSignatureRepository } from './agreement-signature.repository';
|
|
3
|
+
import { IAgreementSignatureAttr } from '../../interfaces/agreemeent-signature-attr.interface';
|
|
4
|
+
import { ApplicationConfig } from '@tomei/config';
|
|
5
|
+
import { LoginUser } from '@tomei/sso';
|
|
6
|
+
import { ActionEnum, Activity } from '@tomei/activity-history';
|
|
7
|
+
import { AgreementSignatureStatusEnum } from '../../enum/agreement-signature-status.enum';
|
|
8
|
+
|
|
9
|
+
export class AgreementSignature
|
|
10
|
+
extends ObjectBase
|
|
11
|
+
implements IAgreementSignatureAttr
|
|
12
|
+
{
|
|
13
|
+
ObjectId: string;
|
|
14
|
+
ObjectName: string;
|
|
15
|
+
ObjectType: string = 'AgreementSignature';
|
|
16
|
+
TableName: string = 'rental_AgreementSignature';
|
|
17
|
+
AgreementNo: string;
|
|
18
|
+
Party: string;
|
|
19
|
+
PartyId: string;
|
|
20
|
+
PartyType: string;
|
|
21
|
+
SignatureStatus: AgreementSignatureStatusEnum;
|
|
22
|
+
SignedAt: Date;
|
|
23
|
+
CreatedById: string;
|
|
24
|
+
CreatedAt: Date;
|
|
25
|
+
UpdatedById: string;
|
|
26
|
+
UpdatedAt: Date;
|
|
27
|
+
|
|
28
|
+
get SignatureId(): string {
|
|
29
|
+
return this.ObjectId;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
set SignatureId(value: string) {
|
|
33
|
+
this.ObjectId = value;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
protected static _Repository = new AgreementSignatureRepository();
|
|
37
|
+
|
|
38
|
+
protected constructor(AgreementSignatureAttr?: IAgreementSignatureAttr) {
|
|
39
|
+
super();
|
|
40
|
+
if (AgreementSignatureAttr) {
|
|
41
|
+
this.SignatureId = AgreementSignatureAttr.SignatureId;
|
|
42
|
+
this.AgreementNo = AgreementSignatureAttr.AgreementNo;
|
|
43
|
+
this.Party = AgreementSignatureAttr.Party;
|
|
44
|
+
this.PartyId = AgreementSignatureAttr.PartyId;
|
|
45
|
+
this.PartyType = AgreementSignatureAttr.PartyType;
|
|
46
|
+
this.SignatureStatus = AgreementSignatureAttr.SignatureStatus;
|
|
47
|
+
this.SignedAt = AgreementSignatureAttr.SignedAt;
|
|
48
|
+
this.CreatedById = AgreementSignatureAttr.CreatedById;
|
|
49
|
+
this.CreatedAt = AgreementSignatureAttr.CreatedAt;
|
|
50
|
+
this.UpdatedById = AgreementSignatureAttr.UpdatedById;
|
|
51
|
+
this.UpdatedAt = AgreementSignatureAttr.UpdatedAt;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
public static async init(AgreementSignatureId?: string, dbTransaction?: any) {
|
|
56
|
+
try {
|
|
57
|
+
if (AgreementSignatureId) {
|
|
58
|
+
const hs = await AgreementSignature._Repository.findByPk(
|
|
59
|
+
AgreementSignatureId,
|
|
60
|
+
dbTransaction,
|
|
61
|
+
);
|
|
62
|
+
if (hs) {
|
|
63
|
+
return new AgreementSignature(hs.get({ plain: true }));
|
|
64
|
+
} else {
|
|
65
|
+
throw new ClassError(
|
|
66
|
+
'AgreementSignature',
|
|
67
|
+
'AgreementSignatureErrMsg01',
|
|
68
|
+
'AgreementSignature not found',
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return new AgreementSignature();
|
|
73
|
+
} catch (error) {
|
|
74
|
+
throw error;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
public async create(loginUser: LoginUser, dbTransaction?: any) {
|
|
79
|
+
try {
|
|
80
|
+
const systemCode =
|
|
81
|
+
ApplicationConfig.getComponentConfigValue('system-code');
|
|
82
|
+
const isPrivileged = await loginUser.checkPrivileges(
|
|
83
|
+
systemCode,
|
|
84
|
+
'AgreementSignature - Create',
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
if (!isPrivileged) {
|
|
88
|
+
throw new ClassError(
|
|
89
|
+
'AgreementSignature',
|
|
90
|
+
'AgreementSignatureErrMsg00',
|
|
91
|
+
"You do not have 'AgreementSignature - Create' privilege.",
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (!this.AgreementNo || !this.PartyId || !this.PartyType) {
|
|
96
|
+
throw new ClassError(
|
|
97
|
+
'AgreementSignature',
|
|
98
|
+
'AgreementSignatureErrMsg03',
|
|
99
|
+
'AgreementNo, PartyId and PartyType are required.',
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
this.ObjectId = this.createId();
|
|
104
|
+
this.CreatedById = loginUser.ObjectId;
|
|
105
|
+
this.CreatedAt = new Date();
|
|
106
|
+
this.UpdatedById = loginUser.ObjectId;
|
|
107
|
+
this.UpdatedAt = new Date();
|
|
108
|
+
|
|
109
|
+
const entityValueAfter: IAgreementSignatureAttr = {
|
|
110
|
+
SignatureId: this.SignatureId,
|
|
111
|
+
AgreementNo: this.AgreementNo,
|
|
112
|
+
Party: this.Party,
|
|
113
|
+
PartyId: this.PartyId,
|
|
114
|
+
PartyType: this.PartyType,
|
|
115
|
+
SignatureStatus: this.SignatureStatus,
|
|
116
|
+
SignedAt: this.SignedAt,
|
|
117
|
+
CreatedById: this.CreatedById,
|
|
118
|
+
CreatedAt: this.CreatedAt,
|
|
119
|
+
UpdatedById: this.UpdatedById,
|
|
120
|
+
UpdatedAt: this.UpdatedAt,
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
await AgreementSignature._Repository.create(entityValueAfter, {
|
|
124
|
+
transaction: dbTransaction,
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
const activity = new Activity();
|
|
128
|
+
activity.ObjectId = this.createId();
|
|
129
|
+
activity.Action = ActionEnum.CREATE;
|
|
130
|
+
activity.Description = 'Add Joint Hirer Signature';
|
|
131
|
+
activity.EntityId = this.ObjectId;
|
|
132
|
+
activity.EntityType = this.ObjectType;
|
|
133
|
+
activity.EntityValueBefore = JSON.stringify({});
|
|
134
|
+
activity.EntityValueAfter = JSON.stringify(entityValueAfter);
|
|
135
|
+
|
|
136
|
+
await activity.create(loginUser.ObjectId, dbTransaction);
|
|
137
|
+
|
|
138
|
+
return this;
|
|
139
|
+
} catch (error) {
|
|
140
|
+
throw error;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
import { RepositoryBase, IRepositoryBase } from '@tomei/general';
|
|
2
|
-
import { BookingModel } from '../../models/booking.entity';
|
|
3
|
-
|
|
4
|
-
export class BookingRepository
|
|
5
|
-
extends RepositoryBase<BookingModel>
|
|
6
|
-
implements IRepositoryBase<BookingModel>
|
|
7
|
-
{
|
|
8
|
-
constructor() {
|
|
9
|
-
super(BookingModel);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
async findByPk(id: string, transaction?: any): Promise<BookingModel | null> {
|
|
13
|
-
try {
|
|
14
|
-
const result = await BookingModel.findByPk(id, {
|
|
15
|
-
transaction: transaction,
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
return result;
|
|
19
|
-
} catch (error) {
|
|
20
|
-
throw new Error(`An Error occured when fetching : ${error.message}`);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
async delete(BookingNo: string, dbTransaction?: any) {
|
|
25
|
-
try {
|
|
26
|
-
const options = {
|
|
27
|
-
where: {
|
|
28
|
-
BookingNo: BookingNo,
|
|
29
|
-
},
|
|
30
|
-
transaction: dbTransaction,
|
|
31
|
-
};
|
|
32
|
-
await BookingModel.destroy(options);
|
|
33
|
-
} catch (error) {
|
|
34
|
-
throw new Error(`An Error occured when delete : ${error.message}`);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
async findAndCountAll(options?: any) {
|
|
39
|
-
try {
|
|
40
|
-
let Bookings: any;
|
|
41
|
-
if (options) {
|
|
42
|
-
Bookings = await BookingModel.findAndCountAll(options);
|
|
43
|
-
} else {
|
|
44
|
-
Bookings = await BookingModel.findAndCountAll();
|
|
45
|
-
}
|
|
46
|
-
return Bookings;
|
|
47
|
-
} catch (error) {
|
|
48
|
-
throw new Error(`An Error occured when retriving : ${error.message}`);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
1
|
+
import { RepositoryBase, IRepositoryBase } from '@tomei/general';
|
|
2
|
+
import { BookingModel } from '../../models/booking.entity';
|
|
3
|
+
|
|
4
|
+
export class BookingRepository
|
|
5
|
+
extends RepositoryBase<BookingModel>
|
|
6
|
+
implements IRepositoryBase<BookingModel>
|
|
7
|
+
{
|
|
8
|
+
constructor() {
|
|
9
|
+
super(BookingModel);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
async findByPk(id: string, transaction?: any): Promise<BookingModel | null> {
|
|
13
|
+
try {
|
|
14
|
+
const result = await BookingModel.findByPk(id, {
|
|
15
|
+
transaction: transaction,
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
return result;
|
|
19
|
+
} catch (error) {
|
|
20
|
+
throw new Error(`An Error occured when fetching : ${error.message}`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
async delete(BookingNo: string, dbTransaction?: any) {
|
|
25
|
+
try {
|
|
26
|
+
const options = {
|
|
27
|
+
where: {
|
|
28
|
+
BookingNo: BookingNo,
|
|
29
|
+
},
|
|
30
|
+
transaction: dbTransaction,
|
|
31
|
+
};
|
|
32
|
+
await BookingModel.destroy(options);
|
|
33
|
+
} catch (error) {
|
|
34
|
+
throw new Error(`An Error occured when delete : ${error.message}`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
async findAndCountAll(options?: any) {
|
|
39
|
+
try {
|
|
40
|
+
let Bookings: any;
|
|
41
|
+
if (options) {
|
|
42
|
+
Bookings = await BookingModel.findAndCountAll(options);
|
|
43
|
+
} else {
|
|
44
|
+
Bookings = await BookingModel.findAndCountAll();
|
|
45
|
+
}
|
|
46
|
+
return Bookings;
|
|
47
|
+
} catch (error) {
|
|
48
|
+
throw new Error(`An Error occured when retriving : ${error.message}`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|