law-common 11.3.9 → 11.3.10-beta.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.
- package/README.md +1 -1
- package/dist/src/api/index.d.ts +2 -0
- package/dist/src/api/index.js +2 -0
- package/dist/src/api/interface/vendor_tds_liability.create.dto.interface.d.ts +5 -0
- package/dist/src/api/interface/vendor_tds_liability.create.dto.interface.js +2 -0
- package/dist/src/api/interface/vendor_tds_liability.update.dto.interface.d.ts +19 -0
- package/dist/src/api/interface/vendor_tds_liability.update.dto.interface.js +13 -0
- package/dist/src/entities/enums/vendor_invoice_status_enum.d.ts +1 -2
- package/dist/src/entities/enums/vendor_invoice_status_enum.js +0 -1
- package/dist/src/entities/enums/vendor_tds_liability_paid_status_enum.d.ts +4 -0
- package/dist/src/entities/enums/vendor_tds_liability_paid_status_enum.js +8 -0
- package/dist/src/entities/enums/vendor_tds_liability_status_enum.d.ts +5 -0
- package/dist/src/entities/enums/vendor_tds_liability_status_enum.js +9 -0
- package/dist/src/entities/flow-configs/vendor_tds_liability_flow.config.d.ts +7 -0
- package/dist/src/entities/flow-configs/vendor_tds_liability_flow.config.js +107 -0
- package/dist/src/entities/index.d.ts +5 -0
- package/dist/src/entities/index.js +5 -0
- package/dist/src/entities/interface/entity.utils.interface.d.ts +6 -3
- package/dist/src/entities/interface/entity.utils.interface.js +1 -0
- package/dist/src/entities/interface/vendor_tds_liability.entity.interface.d.ts +15 -0
- package/dist/src/entities/interface/vendor_tds_liability.entity.interface.js +2 -0
- package/dist/src/entities/model/entity.model.interface.js +2 -0
- package/dist/src/entities/model/vendor_tds_liability.entity.model.d.ts +66 -0
- package/dist/src/entities/model/vendor_tds_liability.entity.model.js +222 -0
- package/dist/src/enums/error.key.enum.d.ts +2 -1
- package/dist/src/enums/error.key.enum.js +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
# law-common
|
|
1
|
+
# law-common
|
package/dist/src/api/index.d.ts
CHANGED
|
@@ -105,3 +105,5 @@ export * from "./interface/vendor_invoice_payment.create.dto.interface";
|
|
|
105
105
|
export * from "./interface/vendor_invoice_payment.update.dto.interface";
|
|
106
106
|
export * from "./interface/leave_approval.create.dto.interface";
|
|
107
107
|
export * from "./interface/leave_approval.update.dto.interface";
|
|
108
|
+
export * from "./interface/vendor_tds_liability.create.dto.interface";
|
|
109
|
+
export * from "./interface/vendor_tds_liability.update.dto.interface";
|
package/dist/src/api/index.js
CHANGED
|
@@ -125,3 +125,5 @@ __exportStar(require("./interface/vendor_invoice_payment.create.dto.interface"),
|
|
|
125
125
|
__exportStar(require("./interface/vendor_invoice_payment.update.dto.interface"), exports);
|
|
126
126
|
__exportStar(require("./interface/leave_approval.create.dto.interface"), exports);
|
|
127
127
|
__exportStar(require("./interface/leave_approval.update.dto.interface"), exports);
|
|
128
|
+
__exportStar(require("./interface/vendor_tds_liability.create.dto.interface"), exports);
|
|
129
|
+
__exportStar(require("./interface/vendor_tds_liability.update.dto.interface"), exports);
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { IEntityCreateDto } from "../../entities";
|
|
2
|
+
import { IVendorTdsLiabilityEntity } from "../../entities/interface/vendor_tds_liability.entity.interface";
|
|
3
|
+
export type IVendorTdsLiabilityCreateExclude = "tdsPaid" | "paidStatus" | "status" | "dueDate" | "pendingAmount";
|
|
4
|
+
export interface IVendorTdsLiabilityCreateDto extends Omit<IEntityCreateDto<IVendorTdsLiabilityEntity>, IVendorTdsLiabilityCreateExclude> {
|
|
5
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DeepPartialButRequired } from "./api.utils.interface";
|
|
2
|
+
import { IVendorTdsLiabilityCreateDto } from "./vendor_tds_liability.create.dto.interface";
|
|
3
|
+
export type IVendorTdsLiabilityUpdateDto = DeepPartialButRequired<IVendorTdsLiabilityCreateDto, never> & {
|
|
4
|
+
actionData: IVendorTdsLiabilityActionDataDto;
|
|
5
|
+
};
|
|
6
|
+
export interface IVendorTdsLiabilityActionDataDto {
|
|
7
|
+
action: VendorTdsLiabilityActionEnum;
|
|
8
|
+
remark?: string;
|
|
9
|
+
tdsDeducted?: number;
|
|
10
|
+
}
|
|
11
|
+
export declare enum VendorTdsLiabilityActionEnum {
|
|
12
|
+
CREATE = "create",
|
|
13
|
+
UPDATE = "update",
|
|
14
|
+
DELETE = "delete",
|
|
15
|
+
DEACTIVATE = "deactivate",
|
|
16
|
+
ACTIVATE = "activate",
|
|
17
|
+
RESTORE = "restore",
|
|
18
|
+
TDS_DEDUCTED = "tds_deducted"
|
|
19
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VendorTdsLiabilityActionEnum = void 0;
|
|
4
|
+
var VendorTdsLiabilityActionEnum;
|
|
5
|
+
(function (VendorTdsLiabilityActionEnum) {
|
|
6
|
+
VendorTdsLiabilityActionEnum["CREATE"] = "create";
|
|
7
|
+
VendorTdsLiabilityActionEnum["UPDATE"] = "update";
|
|
8
|
+
VendorTdsLiabilityActionEnum["DELETE"] = "delete";
|
|
9
|
+
VendorTdsLiabilityActionEnum["DEACTIVATE"] = "deactivate";
|
|
10
|
+
VendorTdsLiabilityActionEnum["ACTIVATE"] = "activate";
|
|
11
|
+
VendorTdsLiabilityActionEnum["RESTORE"] = "restore";
|
|
12
|
+
VendorTdsLiabilityActionEnum["TDS_DEDUCTED"] = "tds_deducted";
|
|
13
|
+
})(VendorTdsLiabilityActionEnum || (exports.VendorTdsLiabilityActionEnum = VendorTdsLiabilityActionEnum = {}));
|
|
@@ -5,5 +5,4 @@ var VendorInvoicePaidStatusEnum;
|
|
|
5
5
|
(function (VendorInvoicePaidStatusEnum) {
|
|
6
6
|
VendorInvoicePaidStatusEnum["PENDING"] = "PENDING";
|
|
7
7
|
VendorInvoicePaidStatusEnum["SETTLED"] = "SETTLED";
|
|
8
|
-
VendorInvoicePaidStatusEnum["DELETED"] = "DELETED";
|
|
9
8
|
})(VendorInvoicePaidStatusEnum || (exports.VendorInvoicePaidStatusEnum = VendorInvoicePaidStatusEnum = {}));
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VendorTdsLiabilityPaidStatusEnum = void 0;
|
|
4
|
+
var VendorTdsLiabilityPaidStatusEnum;
|
|
5
|
+
(function (VendorTdsLiabilityPaidStatusEnum) {
|
|
6
|
+
VendorTdsLiabilityPaidStatusEnum["PAID"] = "PAID";
|
|
7
|
+
VendorTdsLiabilityPaidStatusEnum["UNPAID"] = "UNPAID";
|
|
8
|
+
})(VendorTdsLiabilityPaidStatusEnum || (exports.VendorTdsLiabilityPaidStatusEnum = VendorTdsLiabilityPaidStatusEnum = {}));
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VendorTdsLiabilityStatusEnum = void 0;
|
|
4
|
+
var VendorTdsLiabilityStatusEnum;
|
|
5
|
+
(function (VendorTdsLiabilityStatusEnum) {
|
|
6
|
+
VendorTdsLiabilityStatusEnum["APPROVED"] = "APPROVED";
|
|
7
|
+
VendorTdsLiabilityStatusEnum["DEACTIVATED"] = "DEACTIVATED";
|
|
8
|
+
VendorTdsLiabilityStatusEnum["DELETED"] = "DELETED";
|
|
9
|
+
})(VendorTdsLiabilityStatusEnum || (exports.VendorTdsLiabilityStatusEnum = VendorTdsLiabilityStatusEnum = {}));
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { FlowConfig } from "./flow-config.type";
|
|
2
|
+
import { VendorTdsLiabilityActionEnum } from "../../api";
|
|
3
|
+
import { VendorTdsLiabilityStatusEnum } from "../enums/vendor_tds_liability_status_enum";
|
|
4
|
+
export interface IVendorTdsLiabilityFlowConfigContextData {
|
|
5
|
+
tds_deducted?: number;
|
|
6
|
+
}
|
|
7
|
+
export declare const vendorTdsLiabilityFlowConfig: FlowConfig<VendorTdsLiabilityStatusEnum, VendorTdsLiabilityActionEnum, IVendorTdsLiabilityFlowConfigContextData>;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.vendorTdsLiabilityFlowConfig = void 0;
|
|
4
|
+
const base_flow_config_factory_1 = require("./base-flow-config.factory");
|
|
5
|
+
const api_1 = require("../../api");
|
|
6
|
+
const vendor_tds_liability_status_enum_1 = require("../enums/vendor_tds_liability_status_enum");
|
|
7
|
+
const exceptions_1 = require("../../exceptions");
|
|
8
|
+
const enums_1 = require("../../enums");
|
|
9
|
+
const VENDOR_TDS_LIABILITY_CREATE_PERMISSION = ["VENDOR_TDS_LIABILITY_CREATE"];
|
|
10
|
+
const VENDOR_TDS_LIABILITY_UPDATE_PERMISSION = ["VENDOR_TDS_LIABILITY_UPDATE"];
|
|
11
|
+
const VENDOR_TDS_LIABILITY_DELETE_PERMISSION = ["VENDOR_TDS_LIABILITY_DELETE"];
|
|
12
|
+
const VENDOR_TDS_LIABILITY_DEACTIVATE_PERMISSION = ["VENDOR_TDS_LIABILITY_DEACTIVATE"];
|
|
13
|
+
const VENDOR_TDS_LIABILITY_ACTIVATE_PERMISSION = ["VENDOR_TDS_LIABILITY_ACTIVATE"];
|
|
14
|
+
const VENDOR_TDS_LIABILITY_RESTORE_PERMISSION = ["VENDOR_TDS_LIABILITY_RESTORE"];
|
|
15
|
+
const ACTION_MAP = {
|
|
16
|
+
[api_1.VendorTdsLiabilityActionEnum.CREATE]: {
|
|
17
|
+
reachableStatues: [vendor_tds_liability_status_enum_1.VendorTdsLiabilityStatusEnum.APPROVED],
|
|
18
|
+
permissions: VENDOR_TDS_LIABILITY_CREATE_PERMISSION,
|
|
19
|
+
},
|
|
20
|
+
[api_1.VendorTdsLiabilityActionEnum.UPDATE]: {
|
|
21
|
+
reachableStatues: [vendor_tds_liability_status_enum_1.VendorTdsLiabilityStatusEnum.APPROVED],
|
|
22
|
+
permissions: VENDOR_TDS_LIABILITY_UPDATE_PERMISSION,
|
|
23
|
+
},
|
|
24
|
+
[api_1.VendorTdsLiabilityActionEnum.DELETE]: {
|
|
25
|
+
reachableStatues: [vendor_tds_liability_status_enum_1.VendorTdsLiabilityStatusEnum.DELETED],
|
|
26
|
+
permissions: VENDOR_TDS_LIABILITY_DELETE_PERMISSION,
|
|
27
|
+
},
|
|
28
|
+
[api_1.VendorTdsLiabilityActionEnum.DEACTIVATE]: {
|
|
29
|
+
reachableStatues: [vendor_tds_liability_status_enum_1.VendorTdsLiabilityStatusEnum.DEACTIVATED],
|
|
30
|
+
permissions: VENDOR_TDS_LIABILITY_DEACTIVATE_PERMISSION,
|
|
31
|
+
},
|
|
32
|
+
[api_1.VendorTdsLiabilityActionEnum.ACTIVATE]: {
|
|
33
|
+
reachableStatues: [vendor_tds_liability_status_enum_1.VendorTdsLiabilityStatusEnum.APPROVED],
|
|
34
|
+
permissions: VENDOR_TDS_LIABILITY_ACTIVATE_PERMISSION,
|
|
35
|
+
},
|
|
36
|
+
[api_1.VendorTdsLiabilityActionEnum.RESTORE]: {
|
|
37
|
+
reachableStatues: [vendor_tds_liability_status_enum_1.VendorTdsLiabilityStatusEnum.APPROVED],
|
|
38
|
+
permissions: VENDOR_TDS_LIABILITY_RESTORE_PERMISSION,
|
|
39
|
+
},
|
|
40
|
+
[api_1.VendorTdsLiabilityActionEnum.TDS_DEDUCTED]: {
|
|
41
|
+
reachableStatues: [vendor_tds_liability_status_enum_1.VendorTdsLiabilityStatusEnum.APPROVED],
|
|
42
|
+
permissions: VENDOR_TDS_LIABILITY_UPDATE_PERMISSION,
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
const { createActionConfig, createTransition } = (0, base_flow_config_factory_1.createFlowConfigFactory)()(ACTION_MAP);
|
|
46
|
+
// const createTransitionApprovedStatusPaymentAction = createTransition<
|
|
47
|
+
// VendorInvoiceActionEnum.PAYMENT,
|
|
48
|
+
// VendorInvoiceStatusEnum.APPROVED | VendorInvoiceStatusEnum.PAYMENT_DISBURSE
|
|
49
|
+
// >((context: IVendorInvoiceFlowConfigContextData) => {
|
|
50
|
+
// const { vendorInvoicePayment, existingVendorInvoice } = context;
|
|
51
|
+
// if (vendorInvoicePayment && existingVendorInvoice) {
|
|
52
|
+
// if (existingVendorInvoice.totalNetAmount === existingVendorInvoice.paidAmount + existingVendorInvoice.adjustedAmount + vendorInvoicePayment.amount) {
|
|
53
|
+
// return VendorInvoiceStatusEnum.PAYMENT_DISBURSE;
|
|
54
|
+
// }
|
|
55
|
+
// } else {
|
|
56
|
+
// throw new AppBadRequestException({
|
|
57
|
+
// key: ErrorKeyEnum.VENDOR_INVOICE_FLOW_CONTEXT_DATA,
|
|
58
|
+
// message: ["Both vendorInvoicePayment and existingVendorInvoice must be provided in the context data for processing payment action."],
|
|
59
|
+
// });
|
|
60
|
+
// }
|
|
61
|
+
// return VendorInvoiceStatusEnum.APPROVED;
|
|
62
|
+
// });
|
|
63
|
+
// APPROVED status transitions
|
|
64
|
+
const createTransitionApprovedStatusTdsDeductedAction = createTransition((context) => {
|
|
65
|
+
const { tds_deducted } = context;
|
|
66
|
+
if (tds_deducted !== undefined && tds_deducted !== null && !isNaN(tds_deducted) && tds_deducted >= 0) {
|
|
67
|
+
return vendor_tds_liability_status_enum_1.VendorTdsLiabilityStatusEnum.APPROVED;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
throw new exceptions_1.AppBadRequestException({
|
|
71
|
+
key: enums_1.ErrorKeyEnum.VENDOR_TDS_LIABILITY_FLOW_CONTEXT_DATA,
|
|
72
|
+
message: ["tds_deducted value must be provided in the context data for processing TDS Deducted action."],
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
const transitionApprovedStatusUpdateAction = createActionConfig(api_1.VendorTdsLiabilityActionEnum.UPDATE, vendor_tds_liability_status_enum_1.VendorTdsLiabilityStatusEnum.APPROVED);
|
|
77
|
+
const transitionApprovedStatusDeleteAction = createActionConfig(api_1.VendorTdsLiabilityActionEnum.DELETE, vendor_tds_liability_status_enum_1.VendorTdsLiabilityStatusEnum.DELETED);
|
|
78
|
+
const transitionApprovedStatusDeactivateAction = createActionConfig(api_1.VendorTdsLiabilityActionEnum.DEACTIVATE, vendor_tds_liability_status_enum_1.VendorTdsLiabilityStatusEnum.DEACTIVATED);
|
|
79
|
+
const transitionApprovedStatusTdsDeductedAction = createActionConfig(api_1.VendorTdsLiabilityActionEnum.TDS_DEDUCTED, createTransitionApprovedStatusTdsDeductedAction);
|
|
80
|
+
// DEACTIVATED status transitions
|
|
81
|
+
const transitionDeactivatedStatusDeleteAction = createActionConfig(api_1.VendorTdsLiabilityActionEnum.DELETE, vendor_tds_liability_status_enum_1.VendorTdsLiabilityStatusEnum.DELETED);
|
|
82
|
+
const transitionDeactivatedStatusActivateAction = createActionConfig(api_1.VendorTdsLiabilityActionEnum.ACTIVATE, vendor_tds_liability_status_enum_1.VendorTdsLiabilityStatusEnum.APPROVED);
|
|
83
|
+
// DELETED status transitions
|
|
84
|
+
const transitionDeletedStatusUpdateAction = createActionConfig(api_1.VendorTdsLiabilityActionEnum.UPDATE, vendor_tds_liability_status_enum_1.VendorTdsLiabilityStatusEnum.APPROVED);
|
|
85
|
+
const transitionDeletedStatusRestoreAction = createActionConfig(api_1.VendorTdsLiabilityActionEnum.RESTORE, vendor_tds_liability_status_enum_1.VendorTdsLiabilityStatusEnum.APPROVED);
|
|
86
|
+
exports.vendorTdsLiabilityFlowConfig = {
|
|
87
|
+
[vendor_tds_liability_status_enum_1.VendorTdsLiabilityStatusEnum.APPROVED]: {
|
|
88
|
+
actions: {
|
|
89
|
+
[api_1.VendorTdsLiabilityActionEnum.UPDATE]: transitionApprovedStatusUpdateAction,
|
|
90
|
+
[api_1.VendorTdsLiabilityActionEnum.DELETE]: transitionApprovedStatusDeleteAction,
|
|
91
|
+
[api_1.VendorTdsLiabilityActionEnum.DEACTIVATE]: transitionApprovedStatusDeactivateAction,
|
|
92
|
+
[api_1.VendorTdsLiabilityActionEnum.TDS_DEDUCTED]: transitionApprovedStatusTdsDeductedAction,
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
[vendor_tds_liability_status_enum_1.VendorTdsLiabilityStatusEnum.DEACTIVATED]: {
|
|
96
|
+
actions: {
|
|
97
|
+
[api_1.VendorTdsLiabilityActionEnum.DELETE]: transitionDeactivatedStatusDeleteAction,
|
|
98
|
+
[api_1.VendorTdsLiabilityActionEnum.ACTIVATE]: transitionDeactivatedStatusActivateAction,
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
[vendor_tds_liability_status_enum_1.VendorTdsLiabilityStatusEnum.DELETED]: {
|
|
102
|
+
actions: {
|
|
103
|
+
[api_1.VendorTdsLiabilityActionEnum.UPDATE]: transitionDeletedStatusUpdateAction,
|
|
104
|
+
[api_1.VendorTdsLiabilityActionEnum.RESTORE]: transitionDeletedStatusRestoreAction,
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
};
|
|
@@ -230,3 +230,8 @@ export * from "./enums/leave_approval_status_enum";
|
|
|
230
230
|
export * from "./flow-configs/leave_approval_flow.config";
|
|
231
231
|
export * from "./interface/leave_approval.entity.interface";
|
|
232
232
|
export * from "./model/leave_approval.entity.model";
|
|
233
|
+
export * from "./enums/vendor_tds_liability_paid_status_enum";
|
|
234
|
+
export * from "./enums/vendor_tds_liability_status_enum";
|
|
235
|
+
export * from "./interface/vendor_tds_liability.entity.interface";
|
|
236
|
+
export * from "./model/vendor_tds_liability.entity.model";
|
|
237
|
+
export * from "./flow-configs/vendor_tds_liability_flow.config";
|
|
@@ -246,3 +246,8 @@ __exportStar(require("./enums/leave_approval_status_enum"), exports);
|
|
|
246
246
|
__exportStar(require("./flow-configs/leave_approval_flow.config"), exports);
|
|
247
247
|
__exportStar(require("./interface/leave_approval.entity.interface"), exports);
|
|
248
248
|
__exportStar(require("./model/leave_approval.entity.model"), exports);
|
|
249
|
+
__exportStar(require("./enums/vendor_tds_liability_paid_status_enum"), exports);
|
|
250
|
+
__exportStar(require("./enums/vendor_tds_liability_status_enum"), exports);
|
|
251
|
+
__exportStar(require("./interface/vendor_tds_liability.entity.interface"), exports);
|
|
252
|
+
__exportStar(require("./model/vendor_tds_liability.entity.model"), exports);
|
|
253
|
+
__exportStar(require("./flow-configs/vendor_tds_liability_flow.config"), exports);
|
|
@@ -69,6 +69,7 @@ import { VendorInvoiceHistoryEntityModel } from "../model/vendor_invoice_history
|
|
|
69
69
|
import { VendorInvoiceItemEntityModel } from "../model/vendor_invoice_item.entity.model";
|
|
70
70
|
import { VendorInvoiceItemHistoryEntityModel } from "../model/vendor_invoice_item_history.entity.model";
|
|
71
71
|
import { VendorInvoicePaymentEntityModel } from "../model/vendor_invoice_payment.entity.model";
|
|
72
|
+
import { VendorTdsLiabilityEntityModel } from "../model/vendor_tds_liability.entity.model";
|
|
72
73
|
import { VoucherTypeEntityModel } from "../model/voucher_type.entity.model";
|
|
73
74
|
import { WebsiteLeadEntityModel } from "../model/website_lead.entity.model";
|
|
74
75
|
import { WebsiteNewsletterSubscriptionEntityModel } from "../model/website_newsletter_subscription.entity.model";
|
|
@@ -136,6 +137,7 @@ import { IVendorEntity } from "./vendor.entity.interface";
|
|
|
136
137
|
import { IVendorInvoiceEntity } from "./vendor_invoice.entity.interface";
|
|
137
138
|
import { IVendorInvoiceItemEntity } from "./vendor_invoice_item.entity.interface";
|
|
138
139
|
import { IVendorInvoicePaymentEntity } from "./vendor_invoice_payment.entity.interface";
|
|
140
|
+
import { IVendorTdsLiabilityEntity } from "./vendor_tds_liability.entity.interface";
|
|
139
141
|
import { IVendorInvoiceHistoryEntity } from "./vendot-invoice-history.entity.interface";
|
|
140
142
|
import { IVoucherTypeEntity } from "./voucher_type.entity.interface";
|
|
141
143
|
import { IWebsiteLeadEntity } from "./website_lead.entity.interface";
|
|
@@ -249,7 +251,8 @@ export declare enum EntityEnum {
|
|
|
249
251
|
CLIENT_QUOTE_RATE = "client_quote_rate",
|
|
250
252
|
ENTITY_HISTORY = "entity_history",
|
|
251
253
|
VENDOR_INVOICE_PAYMENT = "vendor_invoice_payment",
|
|
252
|
-
LEAVE_APPROVAL = "leave_approval"
|
|
254
|
+
LEAVE_APPROVAL = "leave_approval",
|
|
255
|
+
VENDOR_TDS_LIABILITY = "vendor_tds_liability"
|
|
253
256
|
}
|
|
254
257
|
export type EntityRelations = {
|
|
255
258
|
[K in EntityEnum | VirtualEntityEnum]: K;
|
|
@@ -274,7 +277,7 @@ export type IBaseEntityApiResponse<T> = {
|
|
|
274
277
|
[key in EntityEnum | VirtualEntityEnum]?: AggregationFields<EnumToModel<key>>[];
|
|
275
278
|
};
|
|
276
279
|
};
|
|
277
|
-
export type EnumEntityType<T extends EntityEnum | VirtualEntityEnum> = (T extends EntityEnum.BILLING ? IBillingEntity : T extends EntityEnum.BILLING_HISTORY ? IBillingHistoryEntity : T extends EntityEnum.MOVING_TIMESHEET ? IMovingTimesheetEntity : T extends EntityEnum.BILLING_TIMESHEET ? IBillingTimesheetEntity : T extends EntityEnum.BILLING_REIMBURSEMENT_EXPENSE ? IBillingReimbursementExpenseEntity : T extends EntityEnum.BILLING_TIMESHEET_HISTORY ? IBillingTimesheetHistoryEntity : T extends EntityEnum.BILLING_REIMBURESMENT_EXPENSE_HISTORY ? IBillingReimbursementExpenseHistoryEntity : T extends EntityEnum.TIMESHEET ? ITimesheetEntity : T extends EntityEnum.USER ? IUserEntity : T extends EntityEnum.PROJECT ? IProjectEntity : T extends EntityEnum.CLIENT ? IClientEntity : T extends EntityEnum.LEAVE ? ILeaveEntity : T extends EntityEnum.BANK ? IBankEntity : T extends EntityEnum.BILLING_TRANSACTION ? IBillingTransactionEntity : T extends EntityEnum.BILLING_TRANSACTION_HISTORY ? IBillingTransactionHistoryEntity : T extends EntityEnum.CLIENT_AFFILIATE ? IClientAffiliateEntity : T extends EntityEnum.CONFIGURATION ? IConfigurationEntity : T extends EntityEnum.HOLIDAY ? IHolidayEntity : T extends EntityEnum.HOLIDAY_LIST ? IHolidayListEntity : T extends EntityEnum.COUNTRY ? ICountryEntity : T extends EntityEnum.EXPENSE_TYPE ? IExpenseTypeEntity : T extends EntityEnum.INDUSTRY ? IIndustryEntity : T extends EntityEnum.INTERMEDIARY_BANK ? IIntermediaryBankEntity : T extends EntityEnum.OFFICE_LOCATION ? IOfficeLocationEntity : T extends EntityEnum.PERMISSION ? IPermissionEntity : T extends EntityEnum.ROLE ? IRoleEntity : T extends EntityEnum.TASK ? ITaskEntity : T extends EntityEnum.DESIGNATION ? IDesignationEntity : T extends EntityEnum.RATE ? IRateEntity : T extends EntityEnum.REIMBURSEMENT ? IReimbursementEntity : T extends EntityEnum.REIMBURSEMENT_EXPENSE ? IReimbursementExpenseEntity : T extends EntityEnum.REIMBURSEMENT_HISTORY ? IReimbursementHistoryEntity : T extends EntityEnum.WORK_FROM_HOME ? IWorkFromHomeEntity : T extends EntityEnum.ORGANIZATION ? IOrganizationEntity : T extends EntityEnum.PROJECT_USER_MAPPING ? IProjectUserMappingEntity : T extends EntityEnum.CLIENT_USER_MAPPING ? IClientUserMappingEntity : T extends EntityEnum.CLIENT_INTRODUCING_MAPPING ? IClientIntroducingMappingEntity : T extends EntityEnum.TO_DO_LIST ? IToDoListEntity : T extends EntityEnum.CRON_JOBS ? ICronJobsEntity : T extends EntityEnum.ROLE_PERMISSION_MAPPING ? IRolePermissionMappingEntity : T extends EntityEnum.BANK_HISTORY ? IBankHistoryEntity : T extends VirtualEntityEnum.LEAVE_COUNT ? ILeaveCountVirtualEntity : T extends EntityEnum.LEAVE_HISTORY ? ILeaveHistoryEntity : T extends EntityEnum.WORK_FROM_HOME_HISTORY ? IWorkFromHomeHistoryEntity : T extends EntityEnum.TIMESHEET_HISTORY ? ITimesheetHistoryEntity : T extends EntityEnum.ADDRESS_BOOK ? IAddressBookEntity : T extends EntityEnum.STATE ? IStateEntity : T extends EntityEnum.GST_RATE ? IGstRateEntity : T extends EntityEnum.ORGANIZATION_TYPE ? IOrganizationTypeEntity : T extends EntityEnum.TDS_RATE ? ITdsRateEntity : T extends EntityEnum.ORGANIZATION_TYPE_TDS_RATE_MAPPING ? IOrganizationTypeTdsRateMappingEntity : T extends EntityEnum.VOUCHER_TYPE ? IVoucherTypeEntity : T extends EntityEnum.TDS_RATE_VOUCHER_TYPE_MAPPING ? ITdsRateVoucherTypeMappingEntity : T extends EntityEnum.EXPENSE_HEAD ? IExpenseHeadEntity : T extends EntityEnum.DOCUMENT_UPLOAD ? IDocumentUploadEntity : T extends EntityEnum.VENDOR ? IVendorEntity : T extends EntityEnum.VENDOR_INVOICE ? IVendorInvoiceEntity : T extends EntityEnum.VENDOR_INVOICE_HISTORY ? IVendorInvoiceHistoryEntity : T extends EntityEnum.VENDOR_INVOICE_HISTORY ? IVendorInvoiceHistoryEntity : T extends EntityEnum.VENDOR_INVOICE_ITEM ? IVendorInvoiceItemEntity : T extends EntityEnum.VENDOR_INVOICE_ITEM_HISTORY ? IVendorInvoiceItemHistoryEntity : T extends EntityEnum.VENDOR_HISTORY ? IVendorHistoryEntity : T extends EntityEnum.WEBSITE_LEAD ? IWebsiteLeadEntity : T extends EntityEnum.WEBSITE_NEWSLETTER_SUBSCRIPTION ? IWebsiteNewsletterSubscriptionEntity : T extends EntityEnum.CLIENT_QUOTE ? IClientQuoteEntity : T extends EntityEnum.CLIENT_QUOTE_RATE ? IClientQuoteRateEntity : T extends EntityEnum.BILLING_PROFILE ? IBillingProfileEntity : T extends EntityEnum.PROJECT_REVENUE_SPLIT_MAPPING ? IProjectRevenueSplitMappingEntity : T extends EntityEnum.VENDOR_INVOICE_ITEM_HISTORY ? IVendorInvoiceItemHistoryEntity : T extends EntityEnum.VENDOR_HISTORY ? IVendorHistoryEntity : T extends EntityEnum.WEBSITE_LEAD ? IWebsiteLeadEntity : T extends EntityEnum.WEBSITE_NEWSLETTER_SUBSCRIPTION ? IWebsiteNewsletterSubscriptionEntity : T extends EntityEnum.CLIENT_QUOTE ? IClientQuoteEntity : T extends EntityEnum.CLIENT_QUOTE_RATE ? IClientQuoteRateEntity : T extends EntityEnum.ENTITY_HISTORY ? IEntityHistoryEntity : T extends EntityEnum.LEAVE_APPROVAL ? ILeaveApprovalEntity : T extends EntityEnum.VENDOR_INVOICE_PAYMENT ? IVendorInvoicePaymentEntity : never) & {
|
|
280
|
+
export type EnumEntityType<T extends EntityEnum | VirtualEntityEnum> = (T extends EntityEnum.BILLING ? IBillingEntity : T extends EntityEnum.BILLING_HISTORY ? IBillingHistoryEntity : T extends EntityEnum.MOVING_TIMESHEET ? IMovingTimesheetEntity : T extends EntityEnum.BILLING_TIMESHEET ? IBillingTimesheetEntity : T extends EntityEnum.BILLING_REIMBURSEMENT_EXPENSE ? IBillingReimbursementExpenseEntity : T extends EntityEnum.BILLING_TIMESHEET_HISTORY ? IBillingTimesheetHistoryEntity : T extends EntityEnum.BILLING_REIMBURESMENT_EXPENSE_HISTORY ? IBillingReimbursementExpenseHistoryEntity : T extends EntityEnum.TIMESHEET ? ITimesheetEntity : T extends EntityEnum.USER ? IUserEntity : T extends EntityEnum.PROJECT ? IProjectEntity : T extends EntityEnum.CLIENT ? IClientEntity : T extends EntityEnum.LEAVE ? ILeaveEntity : T extends EntityEnum.BANK ? IBankEntity : T extends EntityEnum.BILLING_TRANSACTION ? IBillingTransactionEntity : T extends EntityEnum.BILLING_TRANSACTION_HISTORY ? IBillingTransactionHistoryEntity : T extends EntityEnum.CLIENT_AFFILIATE ? IClientAffiliateEntity : T extends EntityEnum.CONFIGURATION ? IConfigurationEntity : T extends EntityEnum.HOLIDAY ? IHolidayEntity : T extends EntityEnum.HOLIDAY_LIST ? IHolidayListEntity : T extends EntityEnum.COUNTRY ? ICountryEntity : T extends EntityEnum.EXPENSE_TYPE ? IExpenseTypeEntity : T extends EntityEnum.INDUSTRY ? IIndustryEntity : T extends EntityEnum.INTERMEDIARY_BANK ? IIntermediaryBankEntity : T extends EntityEnum.OFFICE_LOCATION ? IOfficeLocationEntity : T extends EntityEnum.PERMISSION ? IPermissionEntity : T extends EntityEnum.ROLE ? IRoleEntity : T extends EntityEnum.TASK ? ITaskEntity : T extends EntityEnum.DESIGNATION ? IDesignationEntity : T extends EntityEnum.RATE ? IRateEntity : T extends EntityEnum.REIMBURSEMENT ? IReimbursementEntity : T extends EntityEnum.REIMBURSEMENT_EXPENSE ? IReimbursementExpenseEntity : T extends EntityEnum.REIMBURSEMENT_HISTORY ? IReimbursementHistoryEntity : T extends EntityEnum.WORK_FROM_HOME ? IWorkFromHomeEntity : T extends EntityEnum.ORGANIZATION ? IOrganizationEntity : T extends EntityEnum.PROJECT_USER_MAPPING ? IProjectUserMappingEntity : T extends EntityEnum.CLIENT_USER_MAPPING ? IClientUserMappingEntity : T extends EntityEnum.CLIENT_INTRODUCING_MAPPING ? IClientIntroducingMappingEntity : T extends EntityEnum.TO_DO_LIST ? IToDoListEntity : T extends EntityEnum.CRON_JOBS ? ICronJobsEntity : T extends EntityEnum.ROLE_PERMISSION_MAPPING ? IRolePermissionMappingEntity : T extends EntityEnum.BANK_HISTORY ? IBankHistoryEntity : T extends VirtualEntityEnum.LEAVE_COUNT ? ILeaveCountVirtualEntity : T extends EntityEnum.LEAVE_HISTORY ? ILeaveHistoryEntity : T extends EntityEnum.WORK_FROM_HOME_HISTORY ? IWorkFromHomeHistoryEntity : T extends EntityEnum.TIMESHEET_HISTORY ? ITimesheetHistoryEntity : T extends EntityEnum.ADDRESS_BOOK ? IAddressBookEntity : T extends EntityEnum.STATE ? IStateEntity : T extends EntityEnum.GST_RATE ? IGstRateEntity : T extends EntityEnum.ORGANIZATION_TYPE ? IOrganizationTypeEntity : T extends EntityEnum.TDS_RATE ? ITdsRateEntity : T extends EntityEnum.ORGANIZATION_TYPE_TDS_RATE_MAPPING ? IOrganizationTypeTdsRateMappingEntity : T extends EntityEnum.VOUCHER_TYPE ? IVoucherTypeEntity : T extends EntityEnum.TDS_RATE_VOUCHER_TYPE_MAPPING ? ITdsRateVoucherTypeMappingEntity : T extends EntityEnum.EXPENSE_HEAD ? IExpenseHeadEntity : T extends EntityEnum.DOCUMENT_UPLOAD ? IDocumentUploadEntity : T extends EntityEnum.VENDOR ? IVendorEntity : T extends EntityEnum.VENDOR_INVOICE ? IVendorInvoiceEntity : T extends EntityEnum.VENDOR_INVOICE_HISTORY ? IVendorInvoiceHistoryEntity : T extends EntityEnum.VENDOR_INVOICE_HISTORY ? IVendorInvoiceHistoryEntity : T extends EntityEnum.VENDOR_INVOICE_ITEM ? IVendorInvoiceItemEntity : T extends EntityEnum.VENDOR_INVOICE_ITEM_HISTORY ? IVendorInvoiceItemHistoryEntity : T extends EntityEnum.VENDOR_HISTORY ? IVendorHistoryEntity : T extends EntityEnum.WEBSITE_LEAD ? IWebsiteLeadEntity : T extends EntityEnum.WEBSITE_NEWSLETTER_SUBSCRIPTION ? IWebsiteNewsletterSubscriptionEntity : T extends EntityEnum.CLIENT_QUOTE ? IClientQuoteEntity : T extends EntityEnum.CLIENT_QUOTE_RATE ? IClientQuoteRateEntity : T extends EntityEnum.BILLING_PROFILE ? IBillingProfileEntity : T extends EntityEnum.PROJECT_REVENUE_SPLIT_MAPPING ? IProjectRevenueSplitMappingEntity : T extends EntityEnum.VENDOR_INVOICE_ITEM_HISTORY ? IVendorInvoiceItemHistoryEntity : T extends EntityEnum.VENDOR_HISTORY ? IVendorHistoryEntity : T extends EntityEnum.WEBSITE_LEAD ? IWebsiteLeadEntity : T extends EntityEnum.WEBSITE_NEWSLETTER_SUBSCRIPTION ? IWebsiteNewsletterSubscriptionEntity : T extends EntityEnum.CLIENT_QUOTE ? IClientQuoteEntity : T extends EntityEnum.CLIENT_QUOTE_RATE ? IClientQuoteRateEntity : T extends EntityEnum.ENTITY_HISTORY ? IEntityHistoryEntity : T extends EntityEnum.LEAVE_APPROVAL ? ILeaveApprovalEntity : T extends EntityEnum.VENDOR_INVOICE_PAYMENT ? IVendorInvoicePaymentEntity : T extends EntityEnum.VENDOR_TDS_LIABILITY ? IVendorTdsLiabilityEntity : never) & {
|
|
278
281
|
id: number;
|
|
279
282
|
};
|
|
280
283
|
export type EntityRelationConfig<T extends EntityEnum | VirtualEntityEnum> = {
|
|
@@ -406,7 +409,7 @@ export declare enum VirtualEntityEnum {
|
|
|
406
409
|
}
|
|
407
410
|
export type IHistoryConstraintSearchResponse<T> = IBaseResponse<IHistoryEntitySearchByConstraintResponse<T>[]>;
|
|
408
411
|
export type IHistoryConstraintSearchServiceResponse<T> = IHistoryEntitySearchByConstraintResponse<T>[];
|
|
409
|
-
export type EnumToModel<T extends EntityEnum | VirtualEntityEnum> = T extends EntityEnum.BILLING ? BillingEntityModel : T extends EntityEnum.BILLING_HISTORY ? BillingHistoryEntityModel : T extends EntityEnum.CLIENT ? ClientEntityModel : T extends EntityEnum.INTERMEDIARY_BANK ? IntermediaryBankEntityModel : T extends EntityEnum.PROJECT ? ProjectEntityModel : T extends EntityEnum.PROJECT_USER_MAPPING ? ProjectUserMappingEntityModel : T extends EntityEnum.REIMBURSEMENT ? ReimbursementEntityModel : T extends EntityEnum.REIMBURSEMENT_EXPENSE ? ReimbursementExpenseEntityModel : T extends EntityEnum.BILLING_REIMBURSEMENT_EXPENSE ? BillingReimbursementExpneseEntityModel : T extends EntityEnum.BILLING_REIMBURESMENT_EXPENSE_HISTORY ? BillingReimbursementExpenseHistoryEntityModel : T extends EntityEnum.LEAVE ? LeaveEntityModel : T extends EntityEnum.WORK_FROM_HOME ? WorkFromHomeEntityModel : T extends EntityEnum.HOLIDAY ? HolidayEntityModel : T extends VirtualEntityEnum.LEAVE_COUNT ? LeaveCountVirtualEntityModel : T extends EntityEnum.CLIENT_AFFILIATE ? ClientAffiliateEntityModel : T extends EntityEnum.BANK ? BankEntityModel : T extends EntityEnum.CONFIGURATION ? ConfigurationEntityModel : T extends EntityEnum.TASK ? TaskEntityModel : T extends EntityEnum.BILLING_TIMESHEET ? BillingTimesheetEntityModel : T extends EntityEnum.BILLING_TIMESHEET_HISTORY ? BillingTimesheetHistoryEntityModel : T extends EntityEnum.TIMESHEET ? TimesheetEntityModel : T extends EntityEnum.MOVING_TIMESHEET ? MovingTimesheetEntityModel : T extends EntityEnum.TIMESHEET_HISTORY ? TimesheetHistoryEntityModel : T extends EntityEnum.COUNTRY ? CountryEntityModel : T extends EntityEnum.BILLING_TRANSACTION ? BillingTransactionEntityModel : T extends EntityEnum.BILLING_TRANSACTION_HISTORY ? BillingTransactionHistoryEntityModel : T extends EntityEnum.ADDRESS_BOOK ? AddressBookEntityModel : T extends EntityEnum.STATE ? StateEntityModel : T extends EntityEnum.GST_RATE ? GstRateEntityModel : T extends EntityEnum.ORGANIZATION_TYPE ? OrganizationTypeEntityModel : T extends EntityEnum.TDS_RATE ? TdsRateEntityModel : T extends EntityEnum.ORGANIZATION_TYPE_TDS_RATE_MAPPING ? OrganizationTypeTdsRateMappingEntityModel : T extends EntityEnum.VOUCHER_TYPE ? VoucherTypeEntityModel : T extends EntityEnum.TDS_RATE_VOUCHER_TYPE_MAPPING ? TdsRateVoucherTypeMappingEntityModel : T extends EntityEnum.ORGANIZATION ? OrganizationEntityModel : T extends EntityEnum.INDUSTRY ? IndustryEntityModel : T extends EntityEnum.EXPENSE_TYPE ? ExpenseTypeEntityModel : T extends EntityEnum.DESIGNATION ? DesignationEntityModel : T extends EntityEnum.RATE ? RateEntityModel : T extends EntityEnum.ROLE ? RoleEntityModel : T extends EntityEnum.ROLE_PERMISSION_MAPPING ? RolePermissionMappingEntityModel : T extends EntityEnum.PERMISSION ? PermissionEntityModel : T extends EntityEnum.EXPENSE_HEAD ? ExpenseHeadEntityModel : T extends EntityEnum.DOCUMENT_UPLOAD ? DocumentUploadEntityModel : T extends EntityEnum.VENDOR ? VendorEntityModel : T extends EntityEnum.VENDOR_INVOICE ? VendorInvoiceEntityModel : T extends EntityEnum.VENDOR_INVOICE_HISTORY ? VendorInvoiceHistoryEntityModel : T extends EntityEnum.OFFICE_LOCATION ? OfficeLocationEntityModel : T extends EntityEnum.VENDOR_INVOICE_ITEM ? VendorInvoiceItemEntityModel : T extends EntityEnum.VENDOR_INVOICE_ITEM_HISTORY ? VendorInvoiceItemHistoryEntityModel : T extends EntityEnum.VENDOR_HISTORY ? VendorHistoryEntityModel : T extends EntityEnum.WEBSITE_LEAD ? WebsiteLeadEntityModel : T extends EntityEnum.WEBSITE_NEWSLETTER_SUBSCRIPTION ? WebsiteNewsletterSubscriptionEntityModel : T extends EntityEnum.WORK_FROM_HOME_HISTORY ? WorkFromHomeHistoryEntityModel : T extends EntityEnum.LEAVE_HISTORY ? LeaveHistoryEntityModel : T extends EntityEnum.BANK_HISTORY ? BankHistoryEntityModel : T extends EntityEnum.REIMBURSEMENT_HISTORY ? ReimbursementHistoryEntityModel : T extends EntityEnum.CLIENT_USER_MAPPING ? ClientUserMappingEntityModel : T extends EntityEnum.CLIENT_INTRODUCING_MAPPING ? ClientIntroducingMappingEntityModel : T extends EntityEnum.HOLIDAY_LIST ? HolidayListEntityModel : T extends EntityEnum.CRON_JOBS ? CronJobsEntityModel : T extends EntityEnum.TO_DO_LIST ? ToDoListEntityModel : T extends EntityEnum.CLIENT_QUOTE ? ClientQuoteEntityModel : T extends EntityEnum.CLIENT_QUOTE_RATE ? ClientQuoteRateEntityModel : T extends EntityEnum.BILLING_PROFILE ? BillingProfileEntityModel : T extends EntityEnum.PROJECT_REVENUE_SPLIT_MAPPING ? ProjectRevenueSplitMappingEntityModel : T extends EntityEnum.WEBSITE_LEAD ? WebsiteLeadEntityModel : T extends EntityEnum.WEBSITE_NEWSLETTER_SUBSCRIPTION ? WebsiteNewsletterSubscriptionEntityModel : T extends EntityEnum.CLIENT_QUOTE ? ClientQuoteEntityModel : T extends EntityEnum.CLIENT_QUOTE_RATE ? ClientQuoteRateEntityModel : T extends EntityEnum.DESIGNATION ? DesignationEntityModel : T extends EntityEnum.RATE ? RateEntityModel : T extends EntityEnum.ENTITY_HISTORY ? EntityHistoryEntityModel : T extends EntityEnum.LEAVE_APPROVAL ? LeaveApprovalEntityModel : T extends EntityEnum.VENDOR_INVOICE_PAYMENT ? VendorInvoicePaymentEntityModel : UserEntityModel;
|
|
412
|
+
export type EnumToModel<T extends EntityEnum | VirtualEntityEnum> = T extends EntityEnum.BILLING ? BillingEntityModel : T extends EntityEnum.BILLING_HISTORY ? BillingHistoryEntityModel : T extends EntityEnum.CLIENT ? ClientEntityModel : T extends EntityEnum.INTERMEDIARY_BANK ? IntermediaryBankEntityModel : T extends EntityEnum.PROJECT ? ProjectEntityModel : T extends EntityEnum.PROJECT_USER_MAPPING ? ProjectUserMappingEntityModel : T extends EntityEnum.REIMBURSEMENT ? ReimbursementEntityModel : T extends EntityEnum.REIMBURSEMENT_EXPENSE ? ReimbursementExpenseEntityModel : T extends EntityEnum.BILLING_REIMBURSEMENT_EXPENSE ? BillingReimbursementExpneseEntityModel : T extends EntityEnum.BILLING_REIMBURESMENT_EXPENSE_HISTORY ? BillingReimbursementExpenseHistoryEntityModel : T extends EntityEnum.LEAVE ? LeaveEntityModel : T extends EntityEnum.WORK_FROM_HOME ? WorkFromHomeEntityModel : T extends EntityEnum.HOLIDAY ? HolidayEntityModel : T extends VirtualEntityEnum.LEAVE_COUNT ? LeaveCountVirtualEntityModel : T extends EntityEnum.CLIENT_AFFILIATE ? ClientAffiliateEntityModel : T extends EntityEnum.BANK ? BankEntityModel : T extends EntityEnum.CONFIGURATION ? ConfigurationEntityModel : T extends EntityEnum.TASK ? TaskEntityModel : T extends EntityEnum.BILLING_TIMESHEET ? BillingTimesheetEntityModel : T extends EntityEnum.BILLING_TIMESHEET_HISTORY ? BillingTimesheetHistoryEntityModel : T extends EntityEnum.TIMESHEET ? TimesheetEntityModel : T extends EntityEnum.MOVING_TIMESHEET ? MovingTimesheetEntityModel : T extends EntityEnum.TIMESHEET_HISTORY ? TimesheetHistoryEntityModel : T extends EntityEnum.COUNTRY ? CountryEntityModel : T extends EntityEnum.BILLING_TRANSACTION ? BillingTransactionEntityModel : T extends EntityEnum.BILLING_TRANSACTION_HISTORY ? BillingTransactionHistoryEntityModel : T extends EntityEnum.ADDRESS_BOOK ? AddressBookEntityModel : T extends EntityEnum.STATE ? StateEntityModel : T extends EntityEnum.GST_RATE ? GstRateEntityModel : T extends EntityEnum.ORGANIZATION_TYPE ? OrganizationTypeEntityModel : T extends EntityEnum.TDS_RATE ? TdsRateEntityModel : T extends EntityEnum.ORGANIZATION_TYPE_TDS_RATE_MAPPING ? OrganizationTypeTdsRateMappingEntityModel : T extends EntityEnum.VOUCHER_TYPE ? VoucherTypeEntityModel : T extends EntityEnum.TDS_RATE_VOUCHER_TYPE_MAPPING ? TdsRateVoucherTypeMappingEntityModel : T extends EntityEnum.ORGANIZATION ? OrganizationEntityModel : T extends EntityEnum.INDUSTRY ? IndustryEntityModel : T extends EntityEnum.EXPENSE_TYPE ? ExpenseTypeEntityModel : T extends EntityEnum.DESIGNATION ? DesignationEntityModel : T extends EntityEnum.RATE ? RateEntityModel : T extends EntityEnum.ROLE ? RoleEntityModel : T extends EntityEnum.ROLE_PERMISSION_MAPPING ? RolePermissionMappingEntityModel : T extends EntityEnum.PERMISSION ? PermissionEntityModel : T extends EntityEnum.EXPENSE_HEAD ? ExpenseHeadEntityModel : T extends EntityEnum.DOCUMENT_UPLOAD ? DocumentUploadEntityModel : T extends EntityEnum.VENDOR ? VendorEntityModel : T extends EntityEnum.VENDOR_INVOICE ? VendorInvoiceEntityModel : T extends EntityEnum.VENDOR_INVOICE_HISTORY ? VendorInvoiceHistoryEntityModel : T extends EntityEnum.OFFICE_LOCATION ? OfficeLocationEntityModel : T extends EntityEnum.VENDOR_INVOICE_ITEM ? VendorInvoiceItemEntityModel : T extends EntityEnum.VENDOR_INVOICE_ITEM_HISTORY ? VendorInvoiceItemHistoryEntityModel : T extends EntityEnum.VENDOR_HISTORY ? VendorHistoryEntityModel : T extends EntityEnum.WEBSITE_LEAD ? WebsiteLeadEntityModel : T extends EntityEnum.WEBSITE_NEWSLETTER_SUBSCRIPTION ? WebsiteNewsletterSubscriptionEntityModel : T extends EntityEnum.WORK_FROM_HOME_HISTORY ? WorkFromHomeHistoryEntityModel : T extends EntityEnum.LEAVE_HISTORY ? LeaveHistoryEntityModel : T extends EntityEnum.BANK_HISTORY ? BankHistoryEntityModel : T extends EntityEnum.REIMBURSEMENT_HISTORY ? ReimbursementHistoryEntityModel : T extends EntityEnum.CLIENT_USER_MAPPING ? ClientUserMappingEntityModel : T extends EntityEnum.CLIENT_INTRODUCING_MAPPING ? ClientIntroducingMappingEntityModel : T extends EntityEnum.HOLIDAY_LIST ? HolidayListEntityModel : T extends EntityEnum.CRON_JOBS ? CronJobsEntityModel : T extends EntityEnum.TO_DO_LIST ? ToDoListEntityModel : T extends EntityEnum.CLIENT_QUOTE ? ClientQuoteEntityModel : T extends EntityEnum.CLIENT_QUOTE_RATE ? ClientQuoteRateEntityModel : T extends EntityEnum.BILLING_PROFILE ? BillingProfileEntityModel : T extends EntityEnum.PROJECT_REVENUE_SPLIT_MAPPING ? ProjectRevenueSplitMappingEntityModel : T extends EntityEnum.WEBSITE_LEAD ? WebsiteLeadEntityModel : T extends EntityEnum.WEBSITE_NEWSLETTER_SUBSCRIPTION ? WebsiteNewsletterSubscriptionEntityModel : T extends EntityEnum.CLIENT_QUOTE ? ClientQuoteEntityModel : T extends EntityEnum.CLIENT_QUOTE_RATE ? ClientQuoteRateEntityModel : T extends EntityEnum.DESIGNATION ? DesignationEntityModel : T extends EntityEnum.RATE ? RateEntityModel : T extends EntityEnum.ENTITY_HISTORY ? EntityHistoryEntityModel : T extends EntityEnum.LEAVE_APPROVAL ? LeaveApprovalEntityModel : T extends EntityEnum.VENDOR_INVOICE_PAYMENT ? VendorInvoicePaymentEntityModel : T extends EntityEnum.VENDOR_TDS_LIABILITY ? VendorTdsLiabilityEntityModel : UserEntityModel;
|
|
410
413
|
export type EntityMap = {
|
|
411
414
|
[key in EntityEnum | VirtualEntityEnum]: EnumToModel<key>[];
|
|
412
415
|
} & {
|
|
@@ -102,6 +102,7 @@ var EntityEnum;
|
|
|
102
102
|
EntityEnum["ENTITY_HISTORY"] = "entity_history";
|
|
103
103
|
EntityEnum["VENDOR_INVOICE_PAYMENT"] = "vendor_invoice_payment";
|
|
104
104
|
EntityEnum["LEAVE_APPROVAL"] = "leave_approval";
|
|
105
|
+
EntityEnum["VENDOR_TDS_LIABILITY"] = "vendor_tds_liability";
|
|
105
106
|
})(EntityEnum || (exports.EntityEnum = EntityEnum = {}));
|
|
106
107
|
var VirtualEntityEnum;
|
|
107
108
|
(function (VirtualEntityEnum) {
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IEntityAuditColumn } from "./entity-audit-columns.interface";
|
|
2
|
+
import { Nullable } from "./entity.utils.interface";
|
|
3
|
+
import { VendorTdsLiabilityPaidStatusEnum } from "../enums/vendor_tds_liability_paid_status_enum";
|
|
4
|
+
import { VendorTdsLiabilityStatusEnum } from "../enums/vendor_tds_liability_status_enum";
|
|
5
|
+
export interface IVendorTdsLiabilityEntity extends IEntityAuditColumn {
|
|
6
|
+
id: number;
|
|
7
|
+
period: number;
|
|
8
|
+
tdsRateId: number;
|
|
9
|
+
tdsDeducted: number;
|
|
10
|
+
tdsPaid?: Nullable<number>;
|
|
11
|
+
paidStatus: VendorTdsLiabilityPaidStatusEnum;
|
|
12
|
+
status: VendorTdsLiabilityStatusEnum;
|
|
13
|
+
dueDate: number;
|
|
14
|
+
pendingAmount?: Nullable<number>;
|
|
15
|
+
}
|
|
@@ -76,6 +76,7 @@ const vendor_invoice_history_entity_model_1 = require("./vendor_invoice_history.
|
|
|
76
76
|
const vendor_invoice_item_entity_model_1 = require("./vendor_invoice_item.entity.model");
|
|
77
77
|
const vendor_invoice_item_history_entity_model_1 = require("./vendor_invoice_item_history.entity.model");
|
|
78
78
|
const vendor_invoice_payment_entity_model_1 = require("./vendor_invoice_payment.entity.model");
|
|
79
|
+
const vendor_tds_liability_entity_model_1 = require("./vendor_tds_liability.entity.model");
|
|
79
80
|
const voucher_type_entity_model_1 = require("./voucher_type.entity.model");
|
|
80
81
|
const website_lead_entity_model_1 = require("./website_lead.entity.model");
|
|
81
82
|
const website_newsletter_subscription_entity_model_1 = require("./website_newsletter_subscription.entity.model");
|
|
@@ -180,6 +181,7 @@ exports.entityEnumToEntityModel = {
|
|
|
180
181
|
[entity_utils_interface_1.EntityEnum.ENTITY_HISTORY]: entity_history_entity_model_1.EntityHistoryEntityModel.fromEntity,
|
|
181
182
|
[entity_utils_interface_1.EntityEnum.VENDOR_INVOICE_PAYMENT]: vendor_invoice_payment_entity_model_1.VendorInvoicePaymentEntityModel.fromEntity,
|
|
182
183
|
[entity_utils_interface_1.EntityEnum.LEAVE_APPROVAL]: leave_approval_entity_model_1.LeaveApprovalEntityModel.fromEntity,
|
|
184
|
+
[entity_utils_interface_1.EntityEnum.VENDOR_TDS_LIABILITY]: vendor_tds_liability_entity_model_1.VendorTdsLiabilityEntityModel.fromEntity,
|
|
183
185
|
};
|
|
184
186
|
function entityMapToModels(entityMap) {
|
|
185
187
|
for (const entityName in entityMap) {
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { EntityEnum } from "../interface/entity.utils.interface";
|
|
2
|
+
import { BaseEntityModel } from "./base.entity.model";
|
|
3
|
+
import { RelationConfigs } from "../interface/relation-config.interface";
|
|
4
|
+
import { IUserEntity } from "../interface/user.entity.interface";
|
|
5
|
+
import { UserEntityModel } from "./user.entity.model";
|
|
6
|
+
import { IRowActions } from "./interface/row-actions.interface";
|
|
7
|
+
import { IVendorTdsLiabilityEntity } from "../interface/vendor_tds_liability.entity.interface";
|
|
8
|
+
import { VendorTdsLiabilityPaidStatusEnum } from "../enums/vendor_tds_liability_paid_status_enum";
|
|
9
|
+
import { VendorTdsLiabilityStatusEnum } from "../enums/vendor_tds_liability_status_enum";
|
|
10
|
+
import { TdsRateEntityModel } from "./tds_rate.entity.model";
|
|
11
|
+
import { OrganizationTypeEntityModel } from "./organization_type.entity.model";
|
|
12
|
+
import { VendorEntityModel } from "./vendor.entity.model";
|
|
13
|
+
import { StateEntityModel } from "./state.entity.model";
|
|
14
|
+
import { CountryEntityModel } from "./country.entity.model";
|
|
15
|
+
import { VendorInvoiceEntityModel } from "./vendor_invoice.entity.model";
|
|
16
|
+
import { VendorInvoiceItemEntityModel } from "./vendor_invoice_item.entity.model";
|
|
17
|
+
import { VoucherTypeEntityModel } from "./voucher_type.entity.model";
|
|
18
|
+
import { GstRateEntityModel } from "./gst_rate.entity.model";
|
|
19
|
+
import { VendorTdsLiabilityActionEnum } from "../../api";
|
|
20
|
+
import { IVendorTdsLiabilityFlowConfigContextData } from "../flow-configs/vendor_tds_liability_flow.config";
|
|
21
|
+
export declare class VendorTdsLiabilityEntityModel extends BaseEntityModel<EntityEnum.VENDOR_TDS_LIABILITY> implements IVendorTdsLiabilityEntity {
|
|
22
|
+
id: number;
|
|
23
|
+
period: number;
|
|
24
|
+
tdsRateId: number;
|
|
25
|
+
tdsDeducted: number;
|
|
26
|
+
tdsPaid?: number;
|
|
27
|
+
paidStatus: VendorTdsLiabilityPaidStatusEnum;
|
|
28
|
+
status: VendorTdsLiabilityStatusEnum;
|
|
29
|
+
dueDate: number;
|
|
30
|
+
pendingAmount?: number;
|
|
31
|
+
createdOn: number;
|
|
32
|
+
updatedOn: number;
|
|
33
|
+
createdBy: number;
|
|
34
|
+
updatedBy: number;
|
|
35
|
+
tdsRate?: TdsRateEntityModel;
|
|
36
|
+
static relationConfigs: RelationConfigs<[EntityEnum.TDS_RATE], EntityEnum.VENDOR_TDS_LIABILITY>;
|
|
37
|
+
static fromEntity(entity: IVendorTdsLiabilityEntity): VendorTdsLiabilityEntityModel;
|
|
38
|
+
getRelationConfigs(): any[];
|
|
39
|
+
get organizationTypes(): OrganizationTypeEntityModel[] | undefined;
|
|
40
|
+
get vendors(): VendorEntityModel[] | undefined;
|
|
41
|
+
get states(): StateEntityModel[] | undefined;
|
|
42
|
+
get countrys(): CountryEntityModel[] | undefined;
|
|
43
|
+
get vendorInvoiceItems(): VendorInvoiceItemEntityModel[] | undefined;
|
|
44
|
+
get vendorInvoices(): VendorInvoiceEntityModel[] | undefined;
|
|
45
|
+
get voucherTypes(): VoucherTypeEntityModel[] | undefined;
|
|
46
|
+
get gstRates(): GstRateEntityModel[] | undefined;
|
|
47
|
+
getNextStatus(currentUser: IUserEntity, action: VendorTdsLiabilityActionEnum, vendorTdsLiabilityFlowConfigContextData: IVendorTdsLiabilityFlowConfigContextData): VendorTdsLiabilityStatusEnum;
|
|
48
|
+
getAvailableActions(currentUser: UserEntityModel, config?: {
|
|
49
|
+
combinedActions?: Record<string, {
|
|
50
|
+
combineActions: VendorTdsLiabilityActionEnum[];
|
|
51
|
+
label: string;
|
|
52
|
+
}>;
|
|
53
|
+
customLabels?: Partial<Record<VendorTdsLiabilityActionEnum, string>>;
|
|
54
|
+
}): IRowActions<EntityEnum.VENDOR_TDS_LIABILITY>[];
|
|
55
|
+
getUpdateActionVisibility(currentUser: UserEntityModel): {
|
|
56
|
+
[key: string]: () => boolean;
|
|
57
|
+
};
|
|
58
|
+
formatPeriod(formatStr: string): string;
|
|
59
|
+
static derivePeriodFromDateCode({ dateCode }: {
|
|
60
|
+
dateCode: number;
|
|
61
|
+
}): number;
|
|
62
|
+
static deriveDueDateFromPeriod({ period }: {
|
|
63
|
+
period: number;
|
|
64
|
+
}): number;
|
|
65
|
+
static filterByPeriodTdsRateId(period: number, tdsRateId: number, vendorTdsLiabilityEntities: VendorTdsLiabilityEntityModel[]): VendorTdsLiabilityEntityModel | undefined;
|
|
66
|
+
}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VendorTdsLiabilityEntityModel = void 0;
|
|
4
|
+
const date_fns_1 = require("date-fns");
|
|
5
|
+
const entity_utils_interface_1 = require("../interface/entity.utils.interface");
|
|
6
|
+
const base_entity_model_1 = require("./base.entity.model");
|
|
7
|
+
const relation_type_enum_1 = require("../enums/relation-type.enum");
|
|
8
|
+
const exceptions_1 = require("../../exceptions");
|
|
9
|
+
const error_key_enum_1 = require("../../enums/error.key.enum");
|
|
10
|
+
const utils_1 = require("../../utils");
|
|
11
|
+
const vendor_tds_liability_paid_status_enum_1 = require("../enums/vendor_tds_liability_paid_status_enum");
|
|
12
|
+
const vendor_tds_liability_status_enum_1 = require("../enums/vendor_tds_liability_status_enum");
|
|
13
|
+
// import { IVendorTdsLiabilityFlowConfigContextData } from "../flow-configs/vendor_tds_liability_flow.config";
|
|
14
|
+
const vendor_tds_liability_flow_config_1 = require("../flow-configs/vendor_tds_liability_flow.config");
|
|
15
|
+
class VendorTdsLiabilityEntityModel extends base_entity_model_1.BaseEntityModel {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this.id = 0;
|
|
19
|
+
this.period = 0;
|
|
20
|
+
this.tdsRateId = 0;
|
|
21
|
+
this.tdsDeducted = 0;
|
|
22
|
+
this.paidStatus = vendor_tds_liability_paid_status_enum_1.VendorTdsLiabilityPaidStatusEnum.PAID;
|
|
23
|
+
this.status = vendor_tds_liability_status_enum_1.VendorTdsLiabilityStatusEnum.APPROVED;
|
|
24
|
+
this.dueDate = 0;
|
|
25
|
+
this.createdOn = 0;
|
|
26
|
+
this.updatedOn = 0;
|
|
27
|
+
this.createdBy = 0;
|
|
28
|
+
this.updatedBy = 0;
|
|
29
|
+
}
|
|
30
|
+
static fromEntity(entity) {
|
|
31
|
+
const result = new VendorTdsLiabilityEntityModel(entity_utils_interface_1.EntityEnum.VENDOR_TDS_LIABILITY);
|
|
32
|
+
Object.assign(result, entity);
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
35
|
+
getRelationConfigs() {
|
|
36
|
+
return this.constructor.prototype.constructor.relationConfigs || [];
|
|
37
|
+
}
|
|
38
|
+
get organizationTypes() {
|
|
39
|
+
// many_to_many -> many_to_many verified
|
|
40
|
+
// {'vendor_tds_liability->tds_rate': 'many_to_one', 'tds_rate->organization_type': 'many_to_many'}
|
|
41
|
+
// ['vendor_tds_liability', 'tds_rate'] -> many_to_one
|
|
42
|
+
// ['tds_rate', 'organization_type'] -> many_to_many
|
|
43
|
+
var _a;
|
|
44
|
+
return (_a = this.tdsRate) === null || _a === void 0 ? void 0 : _a.organizationTypes.filter((organizationType) => !!organizationType).reduce((accumulator, current) => {
|
|
45
|
+
if (!accumulator.some((organizationType) => organizationType.id === current.id)) {
|
|
46
|
+
accumulator.push(current);
|
|
47
|
+
}
|
|
48
|
+
return accumulator;
|
|
49
|
+
}, []);
|
|
50
|
+
}
|
|
51
|
+
get vendors() {
|
|
52
|
+
// many_to_many -> many_to_many verified
|
|
53
|
+
// {'vendor_tds_liability->tds_rate': 'many_to_one', 'tds_rate->organization_type': 'many_to_many', 'organization_type->vendor': 'one_to_many'}
|
|
54
|
+
// ['tds_rate', 'organization_type'] -> many_to_many
|
|
55
|
+
// ['organization_type', 'vendor'] -> one_to_many
|
|
56
|
+
var _a;
|
|
57
|
+
return (_a = this.organizationTypes) === null || _a === void 0 ? void 0 : _a.flatMap((organizationType) => organizationType.vendors).filter((vendor) => !!vendor).reduce((accumulator, current) => {
|
|
58
|
+
if (!accumulator.some((vendor) => vendor.id === current.id)) {
|
|
59
|
+
accumulator.push(current);
|
|
60
|
+
}
|
|
61
|
+
return accumulator;
|
|
62
|
+
}, []);
|
|
63
|
+
}
|
|
64
|
+
get states() {
|
|
65
|
+
// many_to_many -> many_to_many verified
|
|
66
|
+
// {'vendor_tds_liability->tds_rate': 'many_to_one', 'tds_rate->organization_type': 'many_to_many', 'organization_type->vendor': 'one_to_many', 'vendor->state': 'many_to_one'}
|
|
67
|
+
// ['organization_type', 'vendor'] -> one_to_many
|
|
68
|
+
// ['vendor', 'state'] -> many_to_one
|
|
69
|
+
var _a;
|
|
70
|
+
return (_a = this.vendors) === null || _a === void 0 ? void 0 : _a.flatMap((vendor) => vendor.stateModel).filter((state) => !!state).reduce((accumulator, current) => {
|
|
71
|
+
if (!accumulator.some((state) => state.id === current.id)) {
|
|
72
|
+
accumulator.push(current);
|
|
73
|
+
}
|
|
74
|
+
return accumulator;
|
|
75
|
+
}, []);
|
|
76
|
+
}
|
|
77
|
+
get countrys() {
|
|
78
|
+
// many_to_many -> many_to_many verified
|
|
79
|
+
// {'vendor_tds_liability->tds_rate': 'many_to_one', 'tds_rate->organization_type': 'many_to_many', 'organization_type->vendor': 'one_to_many', 'vendor->country': 'many_to_one'}
|
|
80
|
+
// ['organization_type', 'vendor'] -> one_to_many
|
|
81
|
+
// ['vendor', 'country'] -> many_to_one
|
|
82
|
+
var _a;
|
|
83
|
+
return (_a = this.vendors) === null || _a === void 0 ? void 0 : _a.flatMap((vendor) => vendor.countryModel).filter((country) => !!country).reduce((accumulator, current) => {
|
|
84
|
+
if (!accumulator.some((country) => country.id === current.id)) {
|
|
85
|
+
accumulator.push(current);
|
|
86
|
+
}
|
|
87
|
+
return accumulator;
|
|
88
|
+
}, []);
|
|
89
|
+
}
|
|
90
|
+
get vendorInvoiceItems() {
|
|
91
|
+
var _a;
|
|
92
|
+
return (_a = this.tdsRate) === null || _a === void 0 ? void 0 : _a.vendorInvoiceItems;
|
|
93
|
+
}
|
|
94
|
+
get vendorInvoices() {
|
|
95
|
+
// many_to_many -> many_to_many verified
|
|
96
|
+
// {'vendor_tds_liability->tds_rate': 'many_to_one', 'tds_rate->vendor_invoice_item': 'one_to_many', 'vendor_invoice_item->vendor_invoice': 'many_to_one'}
|
|
97
|
+
// ['tds_rate', 'vendor_invoice_item'] -> one_to_many
|
|
98
|
+
// ['vendor_invoice_item', 'vendor_invoice'] -> many_to_one
|
|
99
|
+
var _a;
|
|
100
|
+
return (_a = this.vendorInvoiceItems) === null || _a === void 0 ? void 0 : _a.flatMap((vendorInvoiceItem) => vendorInvoiceItem.vendorInvoice).filter((vendorInvoice) => !!vendorInvoice).reduce((accumulator, current) => {
|
|
101
|
+
if (!accumulator.some((vendorInvoice) => vendorInvoice.id === current.id)) {
|
|
102
|
+
accumulator.push(current);
|
|
103
|
+
}
|
|
104
|
+
return accumulator;
|
|
105
|
+
}, []);
|
|
106
|
+
}
|
|
107
|
+
get voucherTypes() {
|
|
108
|
+
// many_to_many -> many_to_many verified
|
|
109
|
+
// {'vendor_tds_liability->tds_rate': 'many_to_one', 'tds_rate->vendor_invoice_item': 'one_to_many', 'vendor_invoice_item->voucher_type': 'many_to_one'}
|
|
110
|
+
// ['tds_rate', 'vendor_invoice_item'] -> one_to_many
|
|
111
|
+
// ['vendor_invoice_item', 'voucher_type'] -> many_to_one
|
|
112
|
+
var _a;
|
|
113
|
+
return (_a = this.vendorInvoiceItems) === null || _a === void 0 ? void 0 : _a.flatMap((vendorInvoiceItem) => vendorInvoiceItem.voucherType).filter((voucherType) => !!voucherType).reduce((accumulator, current) => {
|
|
114
|
+
if (!accumulator.some((voucherType) => voucherType.id === current.id)) {
|
|
115
|
+
accumulator.push(current);
|
|
116
|
+
}
|
|
117
|
+
return accumulator;
|
|
118
|
+
}, []);
|
|
119
|
+
}
|
|
120
|
+
get gstRates() {
|
|
121
|
+
// many_to_many -> many_to_many verified
|
|
122
|
+
// {'vendor_tds_liability->tds_rate': 'many_to_one', 'tds_rate->vendor_invoice_item': 'one_to_many', 'vendor_invoice_item->gst_rate': 'many_to_one'}
|
|
123
|
+
// ['tds_rate', 'vendor_invoice_item'] -> one_to_many
|
|
124
|
+
// ['vendor_invoice_item', 'gst_rate'] -> many_to_one
|
|
125
|
+
var _a;
|
|
126
|
+
return (_a = this.vendorInvoiceItems) === null || _a === void 0 ? void 0 : _a.flatMap((vendorInvoiceItem) => vendorInvoiceItem.gstRate).filter((gstRate) => !!gstRate).reduce((accumulator, current) => {
|
|
127
|
+
if (!accumulator.some((gstRate) => gstRate.id === current.id)) {
|
|
128
|
+
accumulator.push(current);
|
|
129
|
+
}
|
|
130
|
+
return accumulator;
|
|
131
|
+
}, []);
|
|
132
|
+
}
|
|
133
|
+
getNextStatus(currentUser, action, vendorTdsLiabilityFlowConfigContextData) {
|
|
134
|
+
if (!this.status) {
|
|
135
|
+
throw new exceptions_1.AppBadRequestException({
|
|
136
|
+
key: error_key_enum_1.ErrorKeyEnum.STATUS,
|
|
137
|
+
message: [`Status not found: ${this.status}`],
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
const flowForStatus = vendor_tds_liability_flow_config_1.vendorTdsLiabilityFlowConfig[this.status];
|
|
141
|
+
if (!flowForStatus) {
|
|
142
|
+
throw new exceptions_1.AppBadRequestException({
|
|
143
|
+
key: error_key_enum_1.ErrorKeyEnum.STATUS,
|
|
144
|
+
message: [`No flow configuration found for status: ${this.status}`],
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
if (!action) {
|
|
148
|
+
throw new exceptions_1.AppBadRequestException({
|
|
149
|
+
key: error_key_enum_1.ErrorKeyEnum.ACTION_DATA,
|
|
150
|
+
message: ["actionData is required"],
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
const matchingPermissionConfig = flowForStatus.actions[action];
|
|
154
|
+
if (!matchingPermissionConfig) {
|
|
155
|
+
throw new exceptions_1.AppBadRequestException({
|
|
156
|
+
key: error_key_enum_1.ErrorKeyEnum.ACTION,
|
|
157
|
+
message: [`Action '${action}' is not valid for the current status.`],
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
if (!currentUser.permissions || currentUser.permissions.length === 0) {
|
|
161
|
+
throw new exceptions_1.AppBadRequestException({
|
|
162
|
+
key: error_key_enum_1.ErrorKeyEnum.PERMISSIONS,
|
|
163
|
+
message: ["Permission not available for currentUser"],
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
const hasPermission = matchingPermissionConfig.permissions.some((permission) => currentUser.permissions.includes(permission));
|
|
167
|
+
if (!hasPermission) {
|
|
168
|
+
throw new exceptions_1.AppBadRequestException({
|
|
169
|
+
key: error_key_enum_1.ErrorKeyEnum.PERMISSION,
|
|
170
|
+
message: [`Current user does not have permission to ${action} vendorTdsLiability`],
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
const nextStatus = matchingPermissionConfig.next(vendorTdsLiabilityFlowConfigContextData);
|
|
174
|
+
return nextStatus;
|
|
175
|
+
}
|
|
176
|
+
getAvailableActions(currentUser, config) {
|
|
177
|
+
var _a;
|
|
178
|
+
const params = {
|
|
179
|
+
flowConfig: vendor_tds_liability_flow_config_1.vendorTdsLiabilityFlowConfig,
|
|
180
|
+
currentStatus: this.status,
|
|
181
|
+
userPermissions: (_a = currentUser.permissions) !== null && _a !== void 0 ? _a : [],
|
|
182
|
+
visibilityData: this.getUpdateActionVisibility.bind(this, currentUser),
|
|
183
|
+
combinedActions: config === null || config === void 0 ? void 0 : config.combinedActions,
|
|
184
|
+
customLabels: config === null || config === void 0 ? void 0 : config.customLabels,
|
|
185
|
+
};
|
|
186
|
+
return utils_1.EntityActionFlowResolverV2.getAvailableActionsData(params);
|
|
187
|
+
}
|
|
188
|
+
getUpdateActionVisibility(currentUser) {
|
|
189
|
+
return {};
|
|
190
|
+
}
|
|
191
|
+
formatPeriod(formatStr) {
|
|
192
|
+
const year = Math.floor(this.period / 100);
|
|
193
|
+
const month = this.period % 100;
|
|
194
|
+
return (0, date_fns_1.format)(new Date(year, month - 1), formatStr);
|
|
195
|
+
}
|
|
196
|
+
static derivePeriodFromDateCode({ dateCode }) {
|
|
197
|
+
return parseInt(dateCode.toString().slice(0, 6));
|
|
198
|
+
}
|
|
199
|
+
static deriveDueDateFromPeriod({ period }) {
|
|
200
|
+
// YYYYMM -> YYYY(MM + 1)07
|
|
201
|
+
const year = Math.floor(period / 100);
|
|
202
|
+
const month = period % 100;
|
|
203
|
+
const nextMonth = month === 12 ? 1 : month + 1;
|
|
204
|
+
const nextYear = month === 12 ? year + 1 : year;
|
|
205
|
+
return nextYear * 10000 + nextMonth * 100 + 7;
|
|
206
|
+
}
|
|
207
|
+
static filterByPeriodTdsRateId(period, tdsRateId, vendorTdsLiabilityEntities) {
|
|
208
|
+
return vendorTdsLiabilityEntities.find((entity) => entity.period === period && entity.tdsRateId === tdsRateId);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
exports.VendorTdsLiabilityEntityModel = VendorTdsLiabilityEntityModel;
|
|
212
|
+
VendorTdsLiabilityEntityModel.relationConfigs = [
|
|
213
|
+
{
|
|
214
|
+
name: entity_utils_interface_1.EntityEnum.TDS_RATE,
|
|
215
|
+
relation: relation_type_enum_1.RelationType.ONE,
|
|
216
|
+
key: "tdsRate",
|
|
217
|
+
mapKeyConfig: {
|
|
218
|
+
relationKey: "id",
|
|
219
|
+
key: "tdsRateId",
|
|
220
|
+
},
|
|
221
|
+
},
|
|
222
|
+
];
|
|
@@ -35,5 +35,6 @@ export declare enum ErrorKeyEnum {
|
|
|
35
35
|
VENDOR_INVOICE_ITEMS = "VENDOR_INVOICE_ITEMS",
|
|
36
36
|
PROJECT_USER_MAPPING = "PROJECT_USER_MAPPING",
|
|
37
37
|
CONFIGURATION_KEY = "CONFIGURATION_KEY",
|
|
38
|
-
VENDOR_INVOICE_FLOW_CONTEXT_DATA = "VENDOR_INVOICE_FLOW_CONTEXT_DATA"
|
|
38
|
+
VENDOR_INVOICE_FLOW_CONTEXT_DATA = "VENDOR_INVOICE_FLOW_CONTEXT_DATA",
|
|
39
|
+
VENDOR_TDS_LIABILITY_FLOW_CONTEXT_DATA = "VENDOR_TDS_LIABILITY_FLOW_CONTEXT_DATA"
|
|
39
40
|
}
|
|
@@ -40,4 +40,5 @@ var ErrorKeyEnum;
|
|
|
40
40
|
ErrorKeyEnum["PROJECT_USER_MAPPING"] = "PROJECT_USER_MAPPING";
|
|
41
41
|
ErrorKeyEnum["CONFIGURATION_KEY"] = "CONFIGURATION_KEY";
|
|
42
42
|
ErrorKeyEnum["VENDOR_INVOICE_FLOW_CONTEXT_DATA"] = "VENDOR_INVOICE_FLOW_CONTEXT_DATA";
|
|
43
|
+
ErrorKeyEnum["VENDOR_TDS_LIABILITY_FLOW_CONTEXT_DATA"] = "VENDOR_TDS_LIABILITY_FLOW_CONTEXT_DATA";
|
|
43
44
|
})(ErrorKeyEnum || (exports.ErrorKeyEnum = ErrorKeyEnum = {}));
|