law-common 10.45.3-beta.1 → 10.45.3-beta.11
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/dist/src/entities/enums/billing.transaction.enum.d.ts +2 -1
- package/dist/src/entities/enums/billing.transaction.enum.js +1 -0
- package/dist/src/entities/interface/billing_transaction.entity.interface.d.ts +1 -0
- package/dist/src/entities/model/base.entity.model.d.ts +0 -4
- package/dist/src/entities/model/base.entity.model.js +8 -9
- package/dist/src/entities/model/billing-transaction.model.d.ts +1 -0
- package/dist/src/entities/model/billing-transaction.model.js +6 -4
- package/dist/src/entities/model/entity.model.interface.js +28 -19
- package/package.json +1 -1
|
@@ -2,7 +2,8 @@ export declare enum BillingTransactionType {
|
|
|
2
2
|
TDS = "TDS",
|
|
3
3
|
WRITE_OFF = "WRITE_OFF",
|
|
4
4
|
CREDIT_NOTE = "CREDIT_NOTE",
|
|
5
|
-
PAYMENT = "PAYMENT"
|
|
5
|
+
PAYMENT = "PAYMENT",
|
|
6
|
+
ADVANCE_ADJUSTED = "ADVANCE_ADJUSTED"
|
|
6
7
|
}
|
|
7
8
|
export declare namespace BillingTransactionType {
|
|
8
9
|
function getNames(): string[];
|
|
@@ -9,6 +9,7 @@ var BillingTransactionType;
|
|
|
9
9
|
BillingTransactionType["WRITE_OFF"] = "WRITE_OFF";
|
|
10
10
|
BillingTransactionType["CREDIT_NOTE"] = "CREDIT_NOTE";
|
|
11
11
|
BillingTransactionType["PAYMENT"] = "PAYMENT";
|
|
12
|
+
BillingTransactionType["ADVANCE_ADJUSTED"] = "ADVANCE_ADJUSTED";
|
|
12
13
|
})(BillingTransactionType || (exports.BillingTransactionType = BillingTransactionType = {}));
|
|
13
14
|
(function (BillingTransactionType) {
|
|
14
15
|
function getNames() {
|
|
@@ -5,6 +5,7 @@ import { IEntityFilterData } from "./entity.utils.interface";
|
|
|
5
5
|
export interface IBillingTransactionEntity extends IEntityAuditColumn {
|
|
6
6
|
id: number;
|
|
7
7
|
billingId: number;
|
|
8
|
+
advanceBillingId?: number;
|
|
8
9
|
type: BillingTransactionType;
|
|
9
10
|
amount: number;
|
|
10
11
|
details: string;
|
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
import { EntityEnum, EntityIndexMap, VirtualEntityEnum } from "../interface/entity.utils.interface";
|
|
2
|
-
export declare enum RelationType {
|
|
3
|
-
ONE = "one",
|
|
4
|
-
MANY = "many"
|
|
5
|
-
}
|
|
6
2
|
export declare abstract class BaseEntityModel<T extends EntityEnum | VirtualEntityEnum> {
|
|
7
3
|
readonly entityName: T;
|
|
8
4
|
constructor(entityName: T);
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BaseEntityModel =
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
RelationType["ONE"] = "one";
|
|
7
|
-
RelationType["MANY"] = "many";
|
|
8
|
-
})(RelationType || (exports.RelationType = RelationType = {}));
|
|
3
|
+
exports.BaseEntityModel = void 0;
|
|
4
|
+
// @ts-nocheck
|
|
5
|
+
const relation_type_enum_1 = require("../enums/relation-type.enum");
|
|
9
6
|
class BaseEntityModel {
|
|
10
7
|
constructor(entityName) {
|
|
11
8
|
this.entityName = entityName;
|
|
@@ -16,7 +13,7 @@ class BaseEntityModel {
|
|
|
16
13
|
const relatedMappingKey = relationConfig.mapKeyConfig.relationKey;
|
|
17
14
|
const thisKey = relationConfig.key;
|
|
18
15
|
// debugger;
|
|
19
|
-
if (relationConfig.relation === RelationType.ONE) {
|
|
16
|
+
if (relationConfig.relation === relation_type_enum_1.RelationType.ONE) {
|
|
20
17
|
const relatedEntitiesIndex = entityIndexMap[relationConfig.name] || {};
|
|
21
18
|
if (Object.is(relatedEntitiesIndex, null))
|
|
22
19
|
continue;
|
|
@@ -31,7 +28,9 @@ class BaseEntityModel {
|
|
|
31
28
|
console.warn(`[populateRelationsByIndex] Missing child key "${childKey}" in parent "${parentKey}" on entity "${this.entityName}". Parent value:`, this[parentKey]);
|
|
32
29
|
continue;
|
|
33
30
|
}
|
|
34
|
-
foundRelatedEntities = [
|
|
31
|
+
foundRelatedEntities = [
|
|
32
|
+
relatedEntitiesIndex[this[parentKey][childKey]],
|
|
33
|
+
];
|
|
35
34
|
}
|
|
36
35
|
else {
|
|
37
36
|
// foundRelatedEntities = relatedEntities[this[thisKey]] ? [relatedEntities[this[thisKey]]] : [];
|
|
@@ -57,7 +56,7 @@ class BaseEntityModel {
|
|
|
57
56
|
}
|
|
58
57
|
this[thisKey] = foundRelatedEntities[0];
|
|
59
58
|
}
|
|
60
|
-
else if (relationConfig.relation === RelationType.MANY) {
|
|
59
|
+
else if (relationConfig.relation === relation_type_enum_1.RelationType.MANY) {
|
|
61
60
|
this[thisKey] = [];
|
|
62
61
|
const relatedEntities = entityIndexMap[relationConfig.name] || {};
|
|
63
62
|
for (const relatedEntity of Object.values(relatedEntities)) {
|
|
@@ -10,6 +10,7 @@ import { UserEntityModel } from "./user.entity.model";
|
|
|
10
10
|
export declare class BillingTransactionEntityModel extends BaseEntityModel<EntityEnum.BILLING_TRANSACTION> implements IBillingTransactionEntity {
|
|
11
11
|
id: number;
|
|
12
12
|
billingId: number;
|
|
13
|
+
advanceBillingId?: number;
|
|
13
14
|
type: BillingTransactionType;
|
|
14
15
|
amount: number;
|
|
15
16
|
details: string;
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.BillingTransactionEntityModel = void 0;
|
|
4
4
|
const billing_transaction_status_enum_1 = require("../enums/billing-transaction-status.enum");
|
|
5
5
|
const billing_transaction_enum_1 = require("../enums/billing.transaction.enum");
|
|
6
|
+
const relation_type_enum_1 = require("../enums/relation-type.enum");
|
|
6
7
|
const entity_utils_interface_1 = require("../interface/entity.utils.interface");
|
|
7
8
|
const base_entity_model_1 = require("./base.entity.model");
|
|
8
9
|
class BillingTransactionEntityModel extends base_entity_model_1.BaseEntityModel {
|
|
@@ -10,6 +11,7 @@ class BillingTransactionEntityModel extends base_entity_model_1.BaseEntityModel
|
|
|
10
11
|
super(...arguments);
|
|
11
12
|
this.id = 0;
|
|
12
13
|
this.billingId = 0;
|
|
14
|
+
this.advanceBillingId = 0;
|
|
13
15
|
this.type = billing_transaction_enum_1.BillingTransactionType.PAYMENT;
|
|
14
16
|
this.amount = 0;
|
|
15
17
|
this.details = "";
|
|
@@ -34,7 +36,7 @@ exports.BillingTransactionEntityModel = BillingTransactionEntityModel;
|
|
|
34
36
|
BillingTransactionEntityModel.relationConfigs = [
|
|
35
37
|
{
|
|
36
38
|
name: entity_utils_interface_1.EntityEnum.USER,
|
|
37
|
-
relation:
|
|
39
|
+
relation: relation_type_enum_1.RelationType.ONE,
|
|
38
40
|
key: "createdByUser",
|
|
39
41
|
mapKeyConfig: {
|
|
40
42
|
relationKey: "id",
|
|
@@ -43,7 +45,7 @@ BillingTransactionEntityModel.relationConfigs = [
|
|
|
43
45
|
},
|
|
44
46
|
{
|
|
45
47
|
name: entity_utils_interface_1.EntityEnum.USER,
|
|
46
|
-
relation:
|
|
48
|
+
relation: relation_type_enum_1.RelationType.ONE,
|
|
47
49
|
key: "updatedByUser",
|
|
48
50
|
mapKeyConfig: {
|
|
49
51
|
relationKey: "id",
|
|
@@ -52,7 +54,7 @@ BillingTransactionEntityModel.relationConfigs = [
|
|
|
52
54
|
},
|
|
53
55
|
{
|
|
54
56
|
name: entity_utils_interface_1.EntityEnum.BANK,
|
|
55
|
-
relation:
|
|
57
|
+
relation: relation_type_enum_1.RelationType.ONE,
|
|
56
58
|
key: "bank",
|
|
57
59
|
mapKeyConfig: {
|
|
58
60
|
relationKey: "id",
|
|
@@ -61,7 +63,7 @@ BillingTransactionEntityModel.relationConfigs = [
|
|
|
61
63
|
},
|
|
62
64
|
{
|
|
63
65
|
name: entity_utils_interface_1.EntityEnum.BILLING,
|
|
64
|
-
relation:
|
|
66
|
+
relation: relation_type_enum_1.RelationType.ONE,
|
|
65
67
|
key: "billing",
|
|
66
68
|
mapKeyConfig: {
|
|
67
69
|
relationKey: "id",
|
|
@@ -10,30 +10,30 @@ exports.entityMapToEntityIndexMap = entityMapToEntityIndexMap;
|
|
|
10
10
|
exports.parseEntitiesWithoutModels = parseEntitiesWithoutModels;
|
|
11
11
|
exports.removeEntityById = removeEntityById;
|
|
12
12
|
const entity_utils_interface_1 = require("../interface/entity.utils.interface");
|
|
13
|
+
const address_book_model_1 = require("./address_book.model");
|
|
13
14
|
const bank_entity_model_1 = require("./bank.entity.model");
|
|
14
15
|
const base_entity_model_1 = require("./base.entity.model");
|
|
15
16
|
const billing_reimbursement_expense_entity_model_1 = require("./billing-reimbursement-expense.entity.model");
|
|
16
17
|
const billing_timesheet_entity_model_1 = require("./billing-timesheet.entity.model");
|
|
18
|
+
const billing_transaction_model_1 = require("./billing-transaction.model");
|
|
17
19
|
const billing_entity_model_1 = require("./billing.entity.model");
|
|
18
20
|
const client_affiliate_entity_model_1 = require("./client-affiliate.entity.model");
|
|
19
21
|
const client_entity_model_1 = require("./client.entity.model");
|
|
22
|
+
const configuration_model_1 = require("./configuration.model");
|
|
23
|
+
const country_entity_model_1 = require("./country.entity.model");
|
|
24
|
+
const gst_rate_entity_model_1 = require("./gst_rate.entity.model");
|
|
20
25
|
const holiday_entity_model_1 = require("./holiday.entity.model");
|
|
21
26
|
const leave_entity_model_1 = require("./leave.entity.model");
|
|
22
27
|
const leave_count_entity_model_1 = require("./leave_count.entity.model");
|
|
23
|
-
const
|
|
28
|
+
const organization_type_entity_model_1 = require("./organization_type.entity.model");
|
|
24
29
|
const project_user_mapping_entity_model_1 = require("./project-user-mapping.entity.model");
|
|
25
30
|
const project_entity_model_1 = require("./project.entity.model");
|
|
26
31
|
const reimbursement_expense_entity_model_1 = require("./reimbursement-expense.entity.model");
|
|
27
32
|
const reimbursement_entity_model_1 = require("./reimbursement.entity.model");
|
|
33
|
+
const state_entity_model_1 = require("./state.entity.model");
|
|
28
34
|
const task_entity_model_1 = require("./task.entity.model");
|
|
29
35
|
const timesheet_entity_model_1 = require("./timesheet.entity.model");
|
|
30
36
|
const user_entity_model_1 = require("./user.entity.model");
|
|
31
|
-
const country_entity_model_1 = require("./country.entity.model");
|
|
32
|
-
const address_book_model_1 = require("./address_book.model");
|
|
33
|
-
const billing_transaction_model_1 = require("./billing-transaction.model");
|
|
34
|
-
const state_entity_model_1 = require("./state.entity.model");
|
|
35
|
-
const gst_rate_entity_model_1 = require("./gst_rate.entity.model");
|
|
36
|
-
const organization_type_entity_model_1 = require("./organization_type.entity.model");
|
|
37
37
|
function mapToIndex(entityMap) {
|
|
38
38
|
return Object.keys(entityMap).reduce((acc, key) => {
|
|
39
39
|
// @ts-ignore
|
|
@@ -92,17 +92,18 @@ function entityMapToModels(entityMap) {
|
|
|
92
92
|
if (!(entityName in exports.entityEnumToEntityModel)) {
|
|
93
93
|
throw new Error(`Unknown entity: ${entityName}`);
|
|
94
94
|
}
|
|
95
|
-
entityMap[entityName] = entityMap[entityName].map((entity) =>
|
|
95
|
+
entityMap[entityName] = entityMap[entityName].map((entity) => exports.entityEnumToEntityModel[entityName](
|
|
96
96
|
// @ts-ignore
|
|
97
|
-
|
|
97
|
+
entity));
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
function parseEntities(json, baseEntity, entityMap) {
|
|
101
|
-
var _a;
|
|
102
101
|
if (!(baseEntity in exports.entityEnumToEntityModel)) {
|
|
103
102
|
throw new Error(`Unknown entity: ${baseEntity}`);
|
|
104
103
|
}
|
|
105
|
-
entityMap[baseEntity] = ((
|
|
104
|
+
entityMap[baseEntity] = ((entityMap[baseEntity] && entityMap[baseEntity].length > 0
|
|
105
|
+
? [...entityMap[baseEntity], ...json["baseEntities"]]
|
|
106
|
+
: json["baseEntities"]) || []).map(
|
|
106
107
|
// @ts-ignore
|
|
107
108
|
(e) => exports.entityEnumToEntityModel[baseEntity](e));
|
|
108
109
|
if (json["relatedEntities"]) {
|
|
@@ -162,9 +163,10 @@ class EntityModelRelationHelper {
|
|
|
162
163
|
if (!(entityName in exports.entityEnumToEntityModel)) {
|
|
163
164
|
throw new Error(`Unknown entity: ${entityName}`);
|
|
164
165
|
}
|
|
165
|
-
this.entityModelMap[entityName] =
|
|
166
|
-
|
|
167
|
-
|
|
166
|
+
this.entityModelMap[entityName] =
|
|
167
|
+
this.entityMap[entityName].map((entity) => exports.entityEnumToEntityModel[entityName
|
|
168
|
+
// @ts-ignore
|
|
169
|
+
](entity));
|
|
168
170
|
}
|
|
169
171
|
return this;
|
|
170
172
|
}
|
|
@@ -193,7 +195,8 @@ class EntityModelRelationHelper {
|
|
|
193
195
|
}
|
|
194
196
|
populateRelationsByEntityEnum(entityEnum) {
|
|
195
197
|
for (const key of Object.keys(this.entityModelIndexMap[entityEnum] || {})) {
|
|
196
|
-
const entityModel = this
|
|
198
|
+
const entityModel = this
|
|
199
|
+
.entityModelIndexMap[entityEnum][key];
|
|
197
200
|
entityModel.populateRelationsByIndex(this.entityModelIndexMap);
|
|
198
201
|
}
|
|
199
202
|
}
|
|
@@ -202,9 +205,12 @@ class EntityModelRelationHelper {
|
|
|
202
205
|
}
|
|
203
206
|
addEntityModel(entityModel, config = { populateRelations: false }) {
|
|
204
207
|
const entityEnum = entityModel.entityName;
|
|
205
|
-
this.entityModelIndexMap[entityEnum] =
|
|
208
|
+
this.entityModelIndexMap[entityEnum] =
|
|
209
|
+
this.entityModelIndexMap[entityEnum] || {};
|
|
206
210
|
// @ts-ignore
|
|
207
|
-
this.entityModelIndexMap[entityEnum][entityModel.id] =
|
|
211
|
+
this.entityModelIndexMap[entityEnum][entityModel.id] =
|
|
212
|
+
// @ts-ignore
|
|
213
|
+
entityModel;
|
|
208
214
|
if (config.populateRelations) {
|
|
209
215
|
this.populateRelationsByEntityModel(entityModel);
|
|
210
216
|
}
|
|
@@ -219,9 +225,12 @@ class EntityModelRelationHelper {
|
|
|
219
225
|
}
|
|
220
226
|
updateEntityModel(entityModel, config = { populateRelations: false }) {
|
|
221
227
|
const entityEnum = entityModel.entityName;
|
|
222
|
-
this.entityModelIndexMap[entityEnum] =
|
|
228
|
+
this.entityModelIndexMap[entityEnum] =
|
|
229
|
+
this.entityModelIndexMap[entityEnum] || {};
|
|
223
230
|
// @ts-ignore
|
|
224
|
-
this.entityModelIndexMap[entityEnum][entityModel.id] =
|
|
231
|
+
this.entityModelIndexMap[entityEnum][entityModel.id] =
|
|
232
|
+
// @ts-ignore
|
|
233
|
+
entityModel;
|
|
225
234
|
if (config.populateRelations) {
|
|
226
235
|
this.populateRelationsByEntityModel(entityModel);
|
|
227
236
|
}
|