law-common 11.2.0 → 11.2.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/state.update.dto.interface.d.ts +6 -3
- package/dist/src/api/interface/state.update.dto.interface.js +6 -2
- package/dist/src/api/interface/vendor-invoice.entity.response.d.ts +3 -3
- package/dist/src/api/interface/vendor-invoice.entity.response.js +2 -2
- package/dist/src/api/interface/vendor_invoice.create.dto.interface.d.ts +1 -1
- package/dist/src/api/interface/vendor_invoice.update.dto.interface.d.ts +3 -2
- package/dist/src/api/interface/vendor_invoice_payment.create.dto.interface.d.ts +5 -0
- package/dist/src/api/interface/vendor_invoice_payment.create.dto.interface.js +2 -0
- package/dist/src/api/interface/vendor_invoice_payment.update.dto.interface.d.ts +18 -0
- package/dist/src/api/interface/vendor_invoice_payment.update.dto.interface.js +13 -0
- package/dist/src/entities/enums/state_status_enum.d.ts +10 -3
- package/dist/src/entities/enums/state_status_enum.js +13 -3
- package/dist/src/entities/enums/vendor_invoice_action.enum.d.ts +3 -1
- package/dist/src/entities/enums/vendor_invoice_action.enum.js +2 -0
- package/dist/src/entities/enums/vendor_invoice_action_status_enum.autocode.js +1 -1
- package/dist/src/entities/enums/vendor_invoice_action_status_enum.d.ts +1 -1
- package/dist/src/entities/enums/vendor_invoice_action_status_enum.js +13 -13
- package/dist/src/entities/enums/vendor_invoice_payment_mode_enum.d.ts +7 -0
- package/dist/src/entities/enums/vendor_invoice_payment_mode_enum.js +11 -0
- package/dist/src/entities/enums/vendor_invoice_payment_status_enum.d.ts +10 -0
- package/dist/src/entities/enums/vendor_invoice_payment_status_enum.js +14 -0
- package/dist/src/entities/enums/vendor_invoice_status_enum.autocode.js +1 -1
- package/dist/src/entities/enums/vendor_invoice_status_enum.d.ts +1 -1
- package/dist/src/entities/enums/vendor_invoice_status_enum.js +6 -6
- package/dist/src/entities/flow-configs/state_flow.config.js +263 -58
- package/dist/src/entities/flow-configs/vendor-invoice-flow.config.d.ts +11 -2
- package/dist/src/entities/flow-configs/vendor-invoice-flow.config.js +138 -197
- package/dist/src/entities/flow-configs/vendor_invoice_payment_flow.config.d.ts +6 -0
- package/dist/src/entities/flow-configs/vendor_invoice_payment_flow.config.js +205 -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 +5 -2
- package/dist/src/entities/interface/entity.utils.interface.js +1 -0
- package/dist/src/entities/interface/vendor_invoice.entity.interface.autocode.js +4 -4
- package/dist/src/entities/interface/vendor_invoice.entity.interface.d.ts +5 -3
- package/dist/src/entities/interface/vendor_invoice_payment.entity.interface.d.ts +14 -0
- package/dist/src/entities/interface/vendor_invoice_payment.entity.interface.js +2 -0
- package/dist/src/entities/model/bank.entity.model.d.ts +0 -1
- package/dist/src/entities/model/bank.entity.model.js +0 -7
- package/dist/src/entities/model/billing.entity.model.js +7 -7
- package/dist/src/entities/model/entity.model.interface.js +2 -0
- package/dist/src/entities/model/project.entity.model.d.ts +1 -1
- package/dist/src/entities/model/project.entity.model.js +1 -1
- package/dist/src/entities/model/state.entity.model.js +1 -1
- package/dist/src/entities/model/vendor_invoice.entity.model.autocode.js +4 -4
- package/dist/src/entities/model/vendor_invoice.entity.model.d.ts +8 -5
- package/dist/src/entities/model/vendor_invoice.entity.model.js +99 -51
- package/dist/src/entities/model/vendor_invoice_item.entity.model.js +1 -1
- package/dist/src/entities/model/vendor_invoice_payment.entity.model.d.ts +62 -0
- package/dist/src/entities/model/vendor_invoice_payment.entity.model.js +209 -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 +47 -42
|
@@ -3,221 +3,162 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.vendorInvoiceFlowConfig = void 0;
|
|
4
4
|
const vendor_invoice_action_enum_1 = require("../enums/vendor_invoice_action.enum");
|
|
5
5
|
const vendor_invoice_action_status_enum_1 = require("../enums/vendor_invoice_action_status_enum");
|
|
6
|
+
const base_flow_config_factory_1 = require("./base-flow-config.factory");
|
|
7
|
+
const vendor_invoice_payment_entity_model_1 = require("../model/vendor_invoice_payment.entity.model");
|
|
8
|
+
const exceptions_1 = require("../../exceptions");
|
|
9
|
+
const enums_1 = require("../../enums");
|
|
10
|
+
const VENDOR_INVOICE_APPROVE_PERMISSION = ["VENDOR_INVOICE_APPROVE"];
|
|
11
|
+
const VENDOR_INVOICE_UPDATE_PERMISSION = ["VENDOR_INVOICE_UPDATE"];
|
|
12
|
+
const ACTION_MAP = {
|
|
13
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.APPROVE]: {
|
|
14
|
+
reachableStatues: [vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.APPROVED, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.DELETED],
|
|
15
|
+
permissions: VENDOR_INVOICE_APPROVE_PERMISSION,
|
|
16
|
+
},
|
|
17
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.EDIT]: {
|
|
18
|
+
reachableStatues: [vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.CREATE_APPROVAL, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.EDIT_APPROVAL],
|
|
19
|
+
permissions: VENDOR_INVOICE_UPDATE_PERMISSION,
|
|
20
|
+
},
|
|
21
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.REJECT]: {
|
|
22
|
+
reachableStatues: [vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.REJECTED, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.REQUEST_CHANGES],
|
|
23
|
+
permissions: VENDOR_INVOICE_APPROVE_PERMISSION,
|
|
24
|
+
},
|
|
25
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE]: {
|
|
26
|
+
reachableStatues: [vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.DELETED, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.DELETE_APPROVAL],
|
|
27
|
+
permissions: VENDOR_INVOICE_UPDATE_PERMISSION,
|
|
28
|
+
},
|
|
29
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.UPDATE_PAYMENT]: {
|
|
30
|
+
reachableStatues: [vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.PAYMENT_DISBURSE, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.APPROVED],
|
|
31
|
+
permissions: VENDOR_INVOICE_UPDATE_PERMISSION,
|
|
32
|
+
},
|
|
33
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.PAYMENT]: {
|
|
34
|
+
reachableStatues: [vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.PAYMENT_DISBURSE, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.APPROVED],
|
|
35
|
+
permissions: VENDOR_INVOICE_UPDATE_PERMISSION,
|
|
36
|
+
},
|
|
37
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE_PAYMENT]: {
|
|
38
|
+
reachableStatues: [vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.PAYMENT_DISBURSE, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.APPROVED],
|
|
39
|
+
permissions: VENDOR_INVOICE_UPDATE_PERMISSION,
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
const { createActionConfig, createTransition } = (0, base_flow_config_factory_1.createFlowConfigFactory)()(ACTION_MAP);
|
|
43
|
+
const createTransitionAnyStatusUpdatePaymentAction = createTransition((context) => {
|
|
44
|
+
const { existingVendorInvoice, vendorInvoicePayments } = context;
|
|
45
|
+
if (existingVendorInvoice && vendorInvoicePayments) {
|
|
46
|
+
const amountPaidThroughPayments = vendor_invoice_payment_entity_model_1.VendorInvoicePaymentEntityModel.getTotalAmount(vendorInvoicePayments);
|
|
47
|
+
if (existingVendorInvoice.totalNetAmount === existingVendorInvoice.adjustedAmount + amountPaidThroughPayments) {
|
|
48
|
+
return vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.PAYMENT_DISBURSE;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
return vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.APPROVED;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
throw new exceptions_1.AppBadRequestException({
|
|
56
|
+
key: enums_1.ErrorKeyEnum.VENDOR_INVOICE_FLOW_CONTEXT_DATA,
|
|
57
|
+
message: ["Both existingVendorInvoice and vendorInvoicePayments must be provided in the context data for processing update payment action."],
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
// return existingVendorInvoice ? existingVendorInvoice.actionStatus : VendorInvoiceStatusEnum.APPROVED;
|
|
61
|
+
});
|
|
62
|
+
// CREATE_APPROVAL status transitions
|
|
63
|
+
const transitionCreateApprovalStatusApproveAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.APPROVE, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.APPROVED);
|
|
64
|
+
const transitionCreateApprovalStatusEditAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.EDIT, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.CREATE_APPROVAL);
|
|
65
|
+
const transitionCreateApprovalStatusRejectAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.REJECT, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.REJECTED);
|
|
66
|
+
const transitionCreateApprovalStatusDeleteAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.DELETED);
|
|
67
|
+
// EDIT_APPROVAL status transitions
|
|
68
|
+
const transitionEditApprovalStatusApproveAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.APPROVE, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.APPROVED);
|
|
69
|
+
const transitionEditApprovalStatusEditAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.EDIT, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.EDIT_APPROVAL);
|
|
70
|
+
const transitionEditApprovalStatusRejectAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.REJECT, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.REQUEST_CHANGES);
|
|
71
|
+
// DELETE_APPROVAL status transitions
|
|
72
|
+
const transitionDeleteApprovalStatusApproveAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.APPROVE, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.DELETED);
|
|
73
|
+
const transitionDeleteApprovalStatusRejectAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.REJECT, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.REQUEST_CHANGES);
|
|
74
|
+
// APPROVED status transitions
|
|
75
|
+
const transitionApprovedStatusEditAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.EDIT, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.EDIT_APPROVAL);
|
|
76
|
+
const transitionApprovedStatusDeleteAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.DELETE_APPROVAL);
|
|
77
|
+
const createTransitionApprovedStatusPaymentAction = createTransition((context) => {
|
|
78
|
+
const { vendorInvoicePayment, existingVendorInvoice } = context;
|
|
79
|
+
if (vendorInvoicePayment && existingVendorInvoice) {
|
|
80
|
+
if (existingVendorInvoice.totalInvoiceAmount === existingVendorInvoice.paidAmount + existingVendorInvoice.adjustedAmount + vendorInvoicePayment.amount) {
|
|
81
|
+
return vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.PAYMENT_DISBURSE;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
throw new exceptions_1.AppBadRequestException({
|
|
86
|
+
key: enums_1.ErrorKeyEnum.VENDOR_INVOICE_FLOW_CONTEXT_DATA,
|
|
87
|
+
message: ["Both vendorInvoicePayment and existingVendorInvoice must be provided in the context data for processing payment action."],
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
return vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.APPROVED;
|
|
91
|
+
});
|
|
92
|
+
const transitionApprovedStatusPaymentAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.PAYMENT, createTransitionApprovedStatusPaymentAction);
|
|
93
|
+
const createTransitionApprovedStatusUpdatePaymentAction = createTransition((context) => {
|
|
94
|
+
return createTransitionAnyStatusUpdatePaymentAction(context);
|
|
95
|
+
});
|
|
96
|
+
const transitionApprovedStatusUpdatePaymentAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.UPDATE_PAYMENT, createTransitionApprovedStatusUpdatePaymentAction);
|
|
97
|
+
const createTransitionApprovedStatusDeleteAction = createTransition((context) => {
|
|
98
|
+
return createTransitionAnyStatusUpdatePaymentAction(context);
|
|
99
|
+
});
|
|
100
|
+
const transitionApprovedStatusDeletePaymentAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE_PAYMENT, createTransitionApprovedStatusDeleteAction);
|
|
101
|
+
// REQUEST_CHANGES status transitions
|
|
102
|
+
const transitionRequestChangesStatusEditAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.EDIT, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.EDIT_APPROVAL);
|
|
103
|
+
const transitionRequestChangesStatusDeleteAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.DELETE_APPROVAL);
|
|
104
|
+
// PAYMENT_DISBURSE status transitions
|
|
105
|
+
const createTransitionPaymentDisburseStatusUpdatePaymentAction = createTransition((context) => {
|
|
106
|
+
return createTransitionAnyStatusUpdatePaymentAction(context);
|
|
107
|
+
});
|
|
108
|
+
const transitionPaymentDisburseStatusUpdatePaymentAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.UPDATE_PAYMENT, createTransitionPaymentDisburseStatusUpdatePaymentAction);
|
|
109
|
+
const createTransitionPaymentDisburseStatusDeletePaymentAction = createTransition((context) => {
|
|
110
|
+
return createTransitionAnyStatusUpdatePaymentAction(context);
|
|
111
|
+
});
|
|
112
|
+
const transitionPaymentDisburseStatusDeleteAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE_PAYMENT, createTransitionPaymentDisburseStatusDeletePaymentAction);
|
|
6
113
|
exports.vendorInvoiceFlowConfig = {
|
|
7
|
-
[vendor_invoice_action_status_enum_1.
|
|
114
|
+
[vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.CREATE_APPROVAL]: {
|
|
8
115
|
actions: {
|
|
9
|
-
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.APPROVE]:
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.EDIT]: {
|
|
14
|
-
permissions: ["VENDOR_INVOICE_UPDATE"],
|
|
15
|
-
next: () => vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.CREATE_APPROVAL,
|
|
16
|
-
},
|
|
17
|
-
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.REJECT]: {
|
|
18
|
-
permissions: ["VENDOR_INVOICE_APPROVE"],
|
|
19
|
-
next: () => vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.REJECTED,
|
|
20
|
-
},
|
|
21
|
-
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE]: {
|
|
22
|
-
permissions: ["VENDOR_INVOICE_UPDATE"],
|
|
23
|
-
next: () => vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.DELETED,
|
|
24
|
-
},
|
|
116
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.APPROVE]: transitionCreateApprovalStatusApproveAction,
|
|
117
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.EDIT]: transitionCreateApprovalStatusEditAction,
|
|
118
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.REJECT]: transitionCreateApprovalStatusRejectAction,
|
|
119
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE]: transitionCreateApprovalStatusDeleteAction,
|
|
25
120
|
},
|
|
26
121
|
},
|
|
27
|
-
[vendor_invoice_action_status_enum_1.
|
|
122
|
+
[vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.EDIT_APPROVAL]: {
|
|
28
123
|
actions: {
|
|
29
|
-
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.APPROVE]:
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
},
|
|
33
|
-
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.EDIT]: {
|
|
34
|
-
permissions: ["VENDOR_INVOICE_UPDATE"],
|
|
35
|
-
next: () => vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.EDIT_APPROVAL,
|
|
36
|
-
},
|
|
37
|
-
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.REJECT]: {
|
|
38
|
-
permissions: ["VENDOR_INVOICE_APPROVE"],
|
|
39
|
-
// next: () => VendorInvoiceActionStatusEnum.RESOLVED_REJECTED,
|
|
40
|
-
next: () => vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.REQUEST_CHANGES,
|
|
41
|
-
},
|
|
124
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.APPROVE]: transitionEditApprovalStatusApproveAction,
|
|
125
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.EDIT]: transitionEditApprovalStatusEditAction,
|
|
126
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.REJECT]: transitionEditApprovalStatusRejectAction,
|
|
42
127
|
// [VendorInvoiceActionEnum.RECALL]: {
|
|
43
|
-
// permissions:
|
|
44
|
-
// next: () =>
|
|
128
|
+
// permissions: VENDOR_INVOICE_UPDATE_PERMISSION,
|
|
129
|
+
// next: () => VendorInvoiceStatusEnum.DELETED,
|
|
45
130
|
// },
|
|
46
131
|
},
|
|
47
132
|
},
|
|
48
|
-
[vendor_invoice_action_status_enum_1.
|
|
133
|
+
[vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.DELETE_APPROVAL]: {
|
|
49
134
|
actions: {
|
|
50
|
-
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.APPROVE]:
|
|
51
|
-
|
|
52
|
-
next: () => vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.DELETED,
|
|
53
|
-
},
|
|
54
|
-
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.REJECT]: {
|
|
55
|
-
permissions: ["VENDOR_INVOICE_APPROVE"],
|
|
56
|
-
// next: () => VendorInvoiceActionStatusEnum.RESOLVED_REJECTED,
|
|
57
|
-
next: () => vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.REQUEST_CHANGES,
|
|
58
|
-
},
|
|
135
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.APPROVE]: transitionDeleteApprovalStatusApproveAction,
|
|
136
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.REJECT]: transitionDeleteApprovalStatusRejectAction,
|
|
59
137
|
// [VendorInvoiceActionEnum.RECALL]: {
|
|
60
|
-
// permissions:
|
|
61
|
-
// next: () =>
|
|
138
|
+
// permissions: VENDOR_INVOICE_UPDATE_PERMISSION,
|
|
139
|
+
// next: () => VendorInvoiceStatusEnum.DELETED,
|
|
62
140
|
// },
|
|
63
141
|
},
|
|
64
142
|
},
|
|
65
|
-
[vendor_invoice_action_status_enum_1.
|
|
143
|
+
[vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.APPROVED]: {
|
|
144
|
+
actions: {
|
|
145
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.EDIT]: transitionApprovedStatusEditAction,
|
|
146
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE]: transitionApprovedStatusDeleteAction,
|
|
147
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.UPDATE_PAYMENT]: transitionApprovedStatusUpdatePaymentAction,
|
|
148
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.PAYMENT]: transitionApprovedStatusPaymentAction,
|
|
149
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE_PAYMENT]: transitionApprovedStatusDeletePaymentAction,
|
|
150
|
+
},
|
|
151
|
+
},
|
|
152
|
+
[vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.REQUEST_CHANGES]: {
|
|
66
153
|
actions: {
|
|
67
|
-
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.EDIT]:
|
|
68
|
-
|
|
69
|
-
next: () => vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.EDIT_APPROVAL,
|
|
70
|
-
},
|
|
71
|
-
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE]: {
|
|
72
|
-
permissions: ["VENDOR_INVOICE_UPDATE"],
|
|
73
|
-
next: () => vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.DELETE_APPROVAL,
|
|
74
|
-
},
|
|
75
|
-
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.UPDATE_PAYMENT]: {
|
|
76
|
-
permissions: ["VENDOR_INVOICE_UPDATE"],
|
|
77
|
-
next: () => vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.PAYMENT_DISBURSE,
|
|
78
|
-
},
|
|
154
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.EDIT]: transitionRequestChangesStatusEditAction,
|
|
155
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE]: transitionRequestChangesStatusDeleteAction,
|
|
79
156
|
},
|
|
80
157
|
},
|
|
81
|
-
[vendor_invoice_action_status_enum_1.
|
|
158
|
+
[vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.PAYMENT_DISBURSE]: {
|
|
82
159
|
actions: {
|
|
83
|
-
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.
|
|
84
|
-
|
|
85
|
-
next: () => vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.EDIT_APPROVAL,
|
|
86
|
-
},
|
|
87
|
-
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE]: {
|
|
88
|
-
permissions: ["VENDOR_INVOICE_UPDATE"],
|
|
89
|
-
next: () => vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.DELETE_APPROVAL,
|
|
90
|
-
},
|
|
160
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.UPDATE_PAYMENT]: transitionPaymentDisburseStatusUpdatePaymentAction,
|
|
161
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE_PAYMENT]: transitionPaymentDisburseStatusDeleteAction,
|
|
91
162
|
},
|
|
92
163
|
},
|
|
93
|
-
// [VendorInvoiceActionStatusEnum.RESOLVED_REJECTED]: {
|
|
94
|
-
// actions: {
|
|
95
|
-
// [VendorInvoiceActionEnum.EDIT]: {
|
|
96
|
-
// permissions: ["VENDOR_INVOICE_UPDATE"],
|
|
97
|
-
// next: () => VendorInvoiceActionStatusEnum.EDIT_APPROVAL,
|
|
98
|
-
// },
|
|
99
|
-
// [VendorInvoiceActionEnum.DELETE]: {
|
|
100
|
-
// permissions: ["VENDOR_INVOICE_UPDATE"],
|
|
101
|
-
// next: () => VendorInvoiceActionStatusEnum.DELETE_APPROVAL,
|
|
102
|
-
// },
|
|
103
|
-
// },
|
|
104
|
-
// },
|
|
105
164
|
};
|
|
106
|
-
// import { IVendorInvoiceFlowContextData } from "../../api";
|
|
107
|
-
// import { VendorInvoiceActionEnum } from "../enums/vendor_invoice_action.enum";
|
|
108
|
-
// import { VendorInvoiceActionStatusEnum } from "../enums/vendor_invoice_action_status_enum";
|
|
109
|
-
// import { VendorInvoiceItemActionEnum } from "../enums/vendor_invoice_item_action.enum";
|
|
110
|
-
// import { VendorInvoiceItemStatus } from "../enums/vendor_invoice_item_status.enum";
|
|
111
|
-
// import { IVendorInvoiceItemEntity } from "../interface/vendor_invoice_item.entity.interface";
|
|
112
|
-
// import { FlowConfig, ParentChildFlowConfig } from "./flow-config.type";
|
|
113
|
-
// export type VendorInvoiceFlowConfig<S extends string, A extends string, CS extends string = never, CA extends string = never> = {
|
|
114
|
-
// parent?: FlowConfig<S, A>;
|
|
115
|
-
// child?: FlowConfig<CS, CA>;
|
|
116
|
-
// };
|
|
117
|
-
// export const vendorInvoiceConfigFlow: ParentChildFlowConfig<
|
|
118
|
-
// VendorInvoiceActionStatusEnum,
|
|
119
|
-
// VendorInvoiceActionEnum,
|
|
120
|
-
// VendorInvoiceItemStatus,
|
|
121
|
-
// VendorInvoiceItemActionEnum,
|
|
122
|
-
// IVendorInvoiceFlowContextData
|
|
123
|
-
// > = {
|
|
124
|
-
// parent: {
|
|
125
|
-
// [VendorInvoiceActionStatusEnum.PENDING_APPROVAL]: {
|
|
126
|
-
// actions: {
|
|
127
|
-
// [VendorInvoiceActionEnum.EDIT]: {
|
|
128
|
-
// permissions: ["VENDOR_INVOICE_UPDATE"],
|
|
129
|
-
// next: (data?: IVendorInvoiceFlowContextData) => {
|
|
130
|
-
// if (data && areAllVendorItemsInFinalState(data)) {
|
|
131
|
-
// if (areAllVendorItemsApproved(data)) {
|
|
132
|
-
// return VendorInvoiceActionStatusEnum.APPROVED;
|
|
133
|
-
// }
|
|
134
|
-
// if (areAllVendorItemsRejected(data)) {
|
|
135
|
-
// return VendorInvoiceActionStatusEnum.REJECTED;
|
|
136
|
-
// }
|
|
137
|
-
// // approved + deleted
|
|
138
|
-
// if (areAllVendorItemsInStates(data.items, [VendorInvoiceItemStatus.APPROVED, VendorInvoiceItemStatus.DELETED])) {
|
|
139
|
-
// return VendorInvoiceActionStatusEnum.APPROVED;
|
|
140
|
-
// }
|
|
141
|
-
// // rejected + deleted
|
|
142
|
-
// if (areAllVendorItemsInStates(data.items, [VendorInvoiceItemStatus.REJECTED, VendorInvoiceItemStatus.DELETED])) {
|
|
143
|
-
// return VendorInvoiceActionStatusEnum.REJECTED;
|
|
144
|
-
// }
|
|
145
|
-
// return VendorInvoiceActionStatusEnum.PARTIALLY_APPROVED;
|
|
146
|
-
// }
|
|
147
|
-
// return VendorInvoiceActionStatusEnum.PENDING_APPROVAL;
|
|
148
|
-
// },
|
|
149
|
-
// },
|
|
150
|
-
// [VendorInvoiceActionEnum.DELETE]: {
|
|
151
|
-
// permissions: ["VENDOR_INVOICE_UPDATE"],
|
|
152
|
-
// next: () => VendorInvoiceActionStatusEnum.DELETED,
|
|
153
|
-
// },
|
|
154
|
-
// },
|
|
155
|
-
// },
|
|
156
|
-
// [VendorInvoiceActionStatusEnum.APPROVED]: {
|
|
157
|
-
// actions: {
|
|
158
|
-
// [VendorInvoiceActionEnum.UPDATE_PAYMENT]: {
|
|
159
|
-
// permissions: ["VENDOR_INVOICE_PAYMENT_PROCESSOR"],
|
|
160
|
-
// next: () => VendorInvoiceActionStatusEnum.PAYMENT_DISBURSE,
|
|
161
|
-
// },
|
|
162
|
-
// },
|
|
163
|
-
// },
|
|
164
|
-
// [VendorInvoiceActionStatusEnum.PARTIALLY_APPROVED]: {
|
|
165
|
-
// actions: {
|
|
166
|
-
// [VendorInvoiceActionEnum.UPDATE_PAYMENT]: {
|
|
167
|
-
// permissions: ["VENDOR_INVOICE_PAYMENT_PROCESSOR"],
|
|
168
|
-
// next: () => VendorInvoiceActionStatusEnum.PAYMENT_DISBURSE,
|
|
169
|
-
// },
|
|
170
|
-
// },
|
|
171
|
-
// },
|
|
172
|
-
// },
|
|
173
|
-
// child: {
|
|
174
|
-
// [VendorInvoiceItemStatus.PENDING]: {
|
|
175
|
-
// actions: {
|
|
176
|
-
// [VendorInvoiceItemActionEnum.APPROVE]: {
|
|
177
|
-
// permissions: ["VENDOR_INVOICE_APPROVE"],
|
|
178
|
-
// next: () => VendorInvoiceItemStatus.APPROVED,
|
|
179
|
-
// },
|
|
180
|
-
// [VendorInvoiceItemActionEnum.PENDING]: {
|
|
181
|
-
// permissions: ["VENDOR_INVOICE_UPDATE"],
|
|
182
|
-
// next: () => VendorInvoiceItemStatus.PENDING,
|
|
183
|
-
// },
|
|
184
|
-
// [VendorInvoiceItemActionEnum.REJECT]: {
|
|
185
|
-
// permissions: ["VENDOR_INVOICE_APPROVE"],
|
|
186
|
-
// next: () => VendorInvoiceItemStatus.REJECTED,
|
|
187
|
-
// },
|
|
188
|
-
// [VendorInvoiceItemActionEnum.DELETE]: {
|
|
189
|
-
// permissions: ["VENDOR_INVOICE_UPDATE"],
|
|
190
|
-
// next: () => VendorInvoiceItemStatus.DELETED,
|
|
191
|
-
// },
|
|
192
|
-
// },
|
|
193
|
-
// },
|
|
194
|
-
// [VendorInvoiceItemStatus.DELETED]: {
|
|
195
|
-
// actions: {
|
|
196
|
-
// [VendorInvoiceItemActionEnum.PENDING]: {
|
|
197
|
-
// permissions: ["VENDOR_INVOICE_UPDATE"],
|
|
198
|
-
// next: () => VendorInvoiceItemStatus.PENDING,
|
|
199
|
-
// },
|
|
200
|
-
// },
|
|
201
|
-
// },
|
|
202
|
-
// },
|
|
203
|
-
// };
|
|
204
|
-
// function areAllVendorItemsApproved(data: IVendorInvoiceFlowContextData): boolean {
|
|
205
|
-
// const { items } = data;
|
|
206
|
-
// return items.length > 0 ? items.every((row) => row.status === VendorInvoiceItemStatus.APPROVED) : false;
|
|
207
|
-
// }
|
|
208
|
-
// function areAllVendorItemsRejected(data: IVendorInvoiceFlowContextData): boolean {
|
|
209
|
-
// const { items } = data;
|
|
210
|
-
// return items.length > 0 ? items.every((row) => row.status === VendorInvoiceItemStatus.REJECTED) : false;
|
|
211
|
-
// }
|
|
212
|
-
// function areAllVendorItemsInFinalState(data: IVendorInvoiceFlowContextData): boolean {
|
|
213
|
-
// const { items } = data;
|
|
214
|
-
// return items.length > 0
|
|
215
|
-
// ? items.every(
|
|
216
|
-
// (row) =>
|
|
217
|
-
// row.status === VendorInvoiceItemStatus.APPROVED || row.status === VendorInvoiceItemStatus.REJECTED || row.status === VendorInvoiceItemStatus.DELETED,
|
|
218
|
-
// )
|
|
219
|
-
// : false;
|
|
220
|
-
// }
|
|
221
|
-
// function areAllVendorItemsInStates(items: IVendorInvoiceItemEntity[], states: VendorInvoiceItemStatus[]): boolean {
|
|
222
|
-
// return items.every((row) => states.includes(row.status));
|
|
223
|
-
// }
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { FlowConfig } from "./flow-config.type";
|
|
2
|
+
import { VendorInvoicePaymentActionEnum } from "../../api";
|
|
3
|
+
import { VendorInvoicePaymentStatusEnum } from "../enums/vendor_invoice_payment_status_enum";
|
|
4
|
+
export interface IVendorInvoicePaymentFlowConfigContextData {
|
|
5
|
+
}
|
|
6
|
+
export declare const vendorInvoicePaymentFlowConfig: FlowConfig<VendorInvoicePaymentStatusEnum, VendorInvoicePaymentActionEnum, IVendorInvoicePaymentFlowConfigContextData>;
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.vendorInvoicePaymentFlowConfig = void 0;
|
|
4
|
+
const base_flow_config_factory_1 = require("./base-flow-config.factory");
|
|
5
|
+
const api_1 = require("../../api");
|
|
6
|
+
const vendor_invoice_payment_status_enum_1 = require("../enums/vendor_invoice_payment_status_enum");
|
|
7
|
+
const VENDOR_INVOICE_PAYMENT_CREATE_PERMISSION = ["VENDOR_INVOICE_PAYMENT_CREATE"];
|
|
8
|
+
const VENDOR_INVOICE_PAYMENT_UPDATE_PERMISSION = ["VENDOR_INVOICE_PAYMENT_UPDATE"];
|
|
9
|
+
const VENDOR_INVOICE_PAYMENT_DELETE_PERMISSION = ["VENDOR_INVOICE_PAYMENT_DELETE"];
|
|
10
|
+
const VENDOR_INVOICE_PAYMENT_APPROVE_PERMISSION = ["VENDOR_INVOICE_PAYMENT_APPROVE"];
|
|
11
|
+
const VENDOR_INVOICE_PAYMENT_REJECT_PERMISSION = ["VENDOR_INVOICE_PAYMENT_REJECT"];
|
|
12
|
+
const VENDOR_INVOICE_PAYMENT_RECALL_PERMISSION = ["VENDOR_INVOICE_PAYMENT_RECALL"];
|
|
13
|
+
const VENDOR_INVOICE_PAYMENT_DEACTIVATE_PERMISSION = ["VENDOR_INVOICE_PAYMENT_DEACTIVATE"];
|
|
14
|
+
const ACTION_MAP = {
|
|
15
|
+
[api_1.VendorInvoicePaymentActionEnum.CREATE]: {
|
|
16
|
+
reachableStatues: [
|
|
17
|
+
vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.CREATE_APPROVAL_PENDING,
|
|
18
|
+
vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.APPROVED,
|
|
19
|
+
// VendorInvoicePaymentStatusEnum.CREATED,
|
|
20
|
+
],
|
|
21
|
+
permissions: VENDOR_INVOICE_PAYMENT_CREATE_PERMISSION,
|
|
22
|
+
},
|
|
23
|
+
[api_1.VendorInvoicePaymentActionEnum.UPDATE]: {
|
|
24
|
+
reachableStatues: [vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.APPROVED, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.UPDATE_APPROVAL_PENDING],
|
|
25
|
+
permissions: VENDOR_INVOICE_PAYMENT_UPDATE_PERMISSION,
|
|
26
|
+
},
|
|
27
|
+
[api_1.VendorInvoicePaymentActionEnum.DELETE]: {
|
|
28
|
+
reachableStatues: [vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DELETED],
|
|
29
|
+
permissions: VENDOR_INVOICE_PAYMENT_DELETE_PERMISSION,
|
|
30
|
+
},
|
|
31
|
+
[api_1.VendorInvoicePaymentActionEnum.APPROVE]: {
|
|
32
|
+
reachableStatues: [vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.APPROVED],
|
|
33
|
+
permissions: VENDOR_INVOICE_PAYMENT_APPROVE_PERMISSION,
|
|
34
|
+
},
|
|
35
|
+
[api_1.VendorInvoicePaymentActionEnum.REJECT]: {
|
|
36
|
+
reachableStatues: [vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.REJECTED, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.RESOLVED_REJECTED],
|
|
37
|
+
permissions: VENDOR_INVOICE_PAYMENT_REJECT_PERMISSION,
|
|
38
|
+
},
|
|
39
|
+
[api_1.VendorInvoicePaymentActionEnum.RECALL]: {
|
|
40
|
+
reachableStatues: [vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.APPROVED],
|
|
41
|
+
permissions: VENDOR_INVOICE_PAYMENT_RECALL_PERMISSION,
|
|
42
|
+
},
|
|
43
|
+
[api_1.VendorInvoicePaymentActionEnum.DEACTIVATE]: {
|
|
44
|
+
reachableStatues: [vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DEACTIVATED],
|
|
45
|
+
permissions: VENDOR_INVOICE_PAYMENT_DEACTIVATE_PERMISSION,
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
const { createActionConfig } = (0, base_flow_config_factory_1.createFlowConfigFactory)()(ACTION_MAP);
|
|
49
|
+
// DEACTIVATED status transitions
|
|
50
|
+
const transitionDeactivatedStatusCreateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.CREATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.CREATE_APPROVAL_PENDING);
|
|
51
|
+
const transitionDeactivatedStatusUpdateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.UPDATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.UPDATE_APPROVAL_PENDING);
|
|
52
|
+
const transitionDeactivatedStatusDeleteAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.DELETE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DELETE_APPROVAL_PENDING);
|
|
53
|
+
const transitionDeactivatedStatusApproveAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.APPROVE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.APPROVED);
|
|
54
|
+
const transitionDeactivatedStatusRejectAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.REJECT, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.REJECTED);
|
|
55
|
+
const transitionDeactivatedStatusDeactivateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.DEACTIVATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DEACTIVATED);
|
|
56
|
+
// CREATED status transitions
|
|
57
|
+
const transitionCreatedStatusCreateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.CREATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.CREATE_APPROVAL_PENDING);
|
|
58
|
+
const transitionCreatedStatusDeleteAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.DELETE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DELETE_APPROVAL_PENDING);
|
|
59
|
+
const transitionCreatedStatusApproveAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.APPROVE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.APPROVED);
|
|
60
|
+
const transitionCreatedStatusRejectAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.REJECT, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.REJECTED);
|
|
61
|
+
const transitionCreatedStatusDeactivateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.DEACTIVATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DEACTIVATED);
|
|
62
|
+
// UPDATED status transitions
|
|
63
|
+
const transitionUpdatedStatusCreateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.CREATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.CREATE_APPROVAL_PENDING);
|
|
64
|
+
const transitionUpdatedStatusDeleteAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.DELETE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DELETE_APPROVAL_PENDING);
|
|
65
|
+
const transitionUpdatedStatusApproveAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.APPROVE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.APPROVED);
|
|
66
|
+
const transitionUpdatedStatusRejectAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.REJECT, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.REJECTED);
|
|
67
|
+
const transitionUpdatedStatusDeactivateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.DEACTIVATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DEACTIVATED);
|
|
68
|
+
// DELETED status transitions
|
|
69
|
+
const transitionDeletedStatusCreateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.CREATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.CREATE_APPROVAL_PENDING);
|
|
70
|
+
const transitionDeletedStatusUpdateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.UPDATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.UPDATE_APPROVAL_PENDING);
|
|
71
|
+
const transitionDeletedStatusDeleteAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.DELETE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DELETE_APPROVAL_PENDING);
|
|
72
|
+
const transitionDeletedStatusApproveAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.APPROVE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.APPROVED);
|
|
73
|
+
const transitionDeletedStatusRejectAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.REJECT, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.REJECTED);
|
|
74
|
+
const transitionDeletedStatusDeactivateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.DEACTIVATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DEACTIVATED);
|
|
75
|
+
// APPROVED status transitions
|
|
76
|
+
const transitionApprovedStatusCreateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.CREATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.CREATE_APPROVAL_PENDING);
|
|
77
|
+
const transitionApprovedStatusUpdateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.UPDATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.APPROVED);
|
|
78
|
+
const transitionApprovedStatusDeleteAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.DELETE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DELETED);
|
|
79
|
+
const transitionApprovedStatusApproveAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.APPROVE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.APPROVED);
|
|
80
|
+
const transitionApprovedStatusRejectAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.REJECT, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.REJECTED);
|
|
81
|
+
const transitionApprovedStatusDeactivateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.DEACTIVATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DEACTIVATED);
|
|
82
|
+
// REJECTED status transitions
|
|
83
|
+
const transitionRejectedStatusCreateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.CREATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.CREATE_APPROVAL_PENDING);
|
|
84
|
+
const transitionRejectedStatusUpdateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.UPDATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.UPDATE_APPROVAL_PENDING);
|
|
85
|
+
const transitionRejectedStatusDeleteAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.DELETE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DELETE_APPROVAL_PENDING);
|
|
86
|
+
const transitionRejectedStatusApproveAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.APPROVE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.APPROVED);
|
|
87
|
+
const transitionRejectedStatusRejectAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.REJECT, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.REJECTED);
|
|
88
|
+
const transitionRejectedStatusDeactivateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.DEACTIVATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DEACTIVATED);
|
|
89
|
+
// CREATE_APPROVAL_PENDING status transitions
|
|
90
|
+
const transitionCreateApprovalPendingStatusCreateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.CREATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.CREATE_APPROVAL_PENDING);
|
|
91
|
+
const transitionCreateApprovalPendingStatusUpdateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.UPDATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.UPDATE_APPROVAL_PENDING);
|
|
92
|
+
const transitionCreateApprovalPendingStatusDeleteAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.DELETE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DELETE_APPROVAL_PENDING);
|
|
93
|
+
const transitionCreateApprovalPendingStatusApproveAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.APPROVE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.APPROVED);
|
|
94
|
+
const transitionCreateApprovalPendingStatusRejectAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.REJECT, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.REJECTED);
|
|
95
|
+
const transitionCreateApprovalPendingStatusDeactivateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.DEACTIVATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DEACTIVATED);
|
|
96
|
+
// UPDATE_APPROVAL_PENDING status transitions
|
|
97
|
+
const transitionUpdateApprovalPendingStatusCreateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.CREATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.CREATE_APPROVAL_PENDING);
|
|
98
|
+
const transitionUpdateApprovalPendingStatusUpdateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.UPDATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.UPDATE_APPROVAL_PENDING);
|
|
99
|
+
const transitionUpdateApprovalPendingStatusDeleteAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.DELETE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DELETE_APPROVAL_PENDING);
|
|
100
|
+
const transitionUpdateApprovalPendingStatusApproveAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.APPROVE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.APPROVED);
|
|
101
|
+
const transitionUpdateApprovalPendingStatusRejectAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.REJECT, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.REJECTED);
|
|
102
|
+
const transitionUpdateApprovalPendingStatusDeactivateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.DEACTIVATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DEACTIVATED);
|
|
103
|
+
// DELETE_APPROVAL_PENDING status transitions
|
|
104
|
+
const transitionDeleteApprovalPendingStatusCreateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.CREATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.CREATE_APPROVAL_PENDING);
|
|
105
|
+
const transitionDeleteApprovalPendingStatusUpdateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.UPDATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.UPDATE_APPROVAL_PENDING);
|
|
106
|
+
const transitionDeleteApprovalPendingStatusDeleteAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.DELETE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DELETE_APPROVAL_PENDING);
|
|
107
|
+
const transitionDeleteApprovalPendingStatusApproveAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.APPROVE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DELETED);
|
|
108
|
+
const transitionDeleteApprovalPendingStatusRejectAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.REJECT, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.REJECTED);
|
|
109
|
+
const transitionDeleteApprovalPendingStatusDeactivateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.DEACTIVATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DEACTIVATED);
|
|
110
|
+
// RESOLVED_REJECTED status transitions
|
|
111
|
+
const transitionResolvedRejectedStatusDeleteAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.DELETE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DELETED);
|
|
112
|
+
const transitionResolvedRejectedStatusApproveAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.APPROVE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.APPROVED);
|
|
113
|
+
const transitionResolvedRejectedStatusRejectAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.REJECT, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.REJECTED);
|
|
114
|
+
const transitionResolvedRejectedStatusDeactivateAction = createActionConfig(api_1.VendorInvoicePaymentActionEnum.DEACTIVATE, vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DEACTIVATED);
|
|
115
|
+
exports.vendorInvoicePaymentFlowConfig = {
|
|
116
|
+
[vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DEACTIVATED]: {
|
|
117
|
+
actions: {
|
|
118
|
+
// [VendorInvoicePaymentActionEnum.CREATE]: transitionDeactivatedStatusCreateAction,
|
|
119
|
+
[api_1.VendorInvoicePaymentActionEnum.UPDATE]: transitionDeactivatedStatusUpdateAction,
|
|
120
|
+
[api_1.VendorInvoicePaymentActionEnum.DELETE]: transitionDeactivatedStatusDeleteAction,
|
|
121
|
+
// [VendorInvoicePaymentActionEnum.APPROVE]: transitionDeactivatedStatusApproveAction,
|
|
122
|
+
// [VendorInvoicePaymentActionEnum.REJECT]: transitionDeactivatedStatusRejectAction,
|
|
123
|
+
// [VendorInvoicePaymentActionEnum.RECALL]: transitionDeactivatedStatusRecallAction,
|
|
124
|
+
// [VendorInvoicePaymentActionEnum.DEACTIVATE]: transitionDeactivatedStatusDeactivateAction,
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
[vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DELETED]: {
|
|
128
|
+
actions: {
|
|
129
|
+
// [VendorInvoicePaymentActionEnum.VIEW]: transitionDeletedStatusViewAction,
|
|
130
|
+
// [VendorInvoicePaymentActionEnum.CREATE]: transitionDeletedStatusCreateAction,
|
|
131
|
+
// [VendorInvoicePaymentActionEnum.UPDATE]: transitionDeletedStatusUpdateAction,
|
|
132
|
+
// [VendorInvoicePaymentActionEnum.DELETE]: transitionDeletedStatusDeleteAction,
|
|
133
|
+
// [VendorInvoicePaymentActionEnum.APPROVE]: transitionDeletedStatusApproveAction,
|
|
134
|
+
// [VendorInvoicePaymentActionEnum.REJECT]: transitionDeletedStatusRejectAction,
|
|
135
|
+
// [VendorInvoicePaymentActionEnum.RECALL]: transitionDeletedStatusRecallAction,
|
|
136
|
+
// [VendorInvoicePaymentActionEnum.DEACTIVATE]: transitionDeletedStatusDeactivateAction,
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
[vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.APPROVED]: {
|
|
140
|
+
actions: {
|
|
141
|
+
// [VendorInvoicePaymentActionEnum.CREATE]: transitionApprovedStatusCreateAction,
|
|
142
|
+
[api_1.VendorInvoicePaymentActionEnum.UPDATE]: transitionApprovedStatusUpdateAction,
|
|
143
|
+
[api_1.VendorInvoicePaymentActionEnum.DELETE]: transitionApprovedStatusDeleteAction,
|
|
144
|
+
// [VendorInvoicePaymentActionEnum.APPROVE]: transitionApprovedStatusApproveAction,
|
|
145
|
+
// [VendorInvoicePaymentActionEnum.REJECT]: transitionApprovedStatusRejectAction,
|
|
146
|
+
// [VendorInvoicePaymentActionEnum.RECALL]: transitionApprovedStatusRecallAction,
|
|
147
|
+
[api_1.VendorInvoicePaymentActionEnum.DEACTIVATE]: transitionApprovedStatusDeactivateAction,
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
[vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.REJECTED]: {
|
|
151
|
+
actions: {
|
|
152
|
+
// [VendorInvoicePaymentActionEnum.CREATE]: transitionRejectedStatusCreateAction,
|
|
153
|
+
[api_1.VendorInvoicePaymentActionEnum.UPDATE]: transitionRejectedStatusUpdateAction,
|
|
154
|
+
[api_1.VendorInvoicePaymentActionEnum.DELETE]: transitionRejectedStatusDeleteAction,
|
|
155
|
+
// [VendorInvoicePaymentActionEnum.APPROVE]: transitionRejectedStatusApproveAction,
|
|
156
|
+
// [VendorInvoicePaymentActionEnum.REJECT]: transitionRejectedStatusRejectAction,
|
|
157
|
+
// [VendorInvoicePaymentActionEnum.RECALL]: transitionRejectedStatusRecallAction,
|
|
158
|
+
[api_1.VendorInvoicePaymentActionEnum.DEACTIVATE]: transitionRejectedStatusDeactivateAction,
|
|
159
|
+
},
|
|
160
|
+
},
|
|
161
|
+
[vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.CREATE_APPROVAL_PENDING]: {
|
|
162
|
+
actions: {
|
|
163
|
+
// [VendorInvoicePaymentActionEnum.CREATE]: transitionCreateApprovalPendingStatusCreateAction,
|
|
164
|
+
[api_1.VendorInvoicePaymentActionEnum.UPDATE]: transitionCreateApprovalPendingStatusUpdateAction,
|
|
165
|
+
[api_1.VendorInvoicePaymentActionEnum.DELETE]: transitionCreateApprovalPendingStatusDeleteAction,
|
|
166
|
+
[api_1.VendorInvoicePaymentActionEnum.APPROVE]: transitionCreateApprovalPendingStatusApproveAction,
|
|
167
|
+
[api_1.VendorInvoicePaymentActionEnum.REJECT]: transitionCreateApprovalPendingStatusRejectAction,
|
|
168
|
+
// [VendorInvoicePaymentActionEnum.RECALL]: transitionCreateApprovalPendingStatusRecallAction,
|
|
169
|
+
// [VendorInvoicePaymentActionEnum.DEACTIVATE]: transitionCreateApprovalPendingStatusDeactivateAction,
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
[vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.UPDATE_APPROVAL_PENDING]: {
|
|
173
|
+
actions: {
|
|
174
|
+
// [VendorInvoicePaymentActionEnum.CREATE]: transitionUpdateApprovalPendingStatusCreateAction,
|
|
175
|
+
[api_1.VendorInvoicePaymentActionEnum.UPDATE]: transitionUpdateApprovalPendingStatusUpdateAction,
|
|
176
|
+
// [VendorInvoicePaymentActionEnum.DELETE]: transitionUpdateApprovalPendingStatusDeleteAction,
|
|
177
|
+
[api_1.VendorInvoicePaymentActionEnum.APPROVE]: transitionUpdateApprovalPendingStatusApproveAction,
|
|
178
|
+
[api_1.VendorInvoicePaymentActionEnum.REJECT]: transitionUpdateApprovalPendingStatusRejectAction,
|
|
179
|
+
// [VendorInvoicePaymentActionEnum.RECALL]: transitionUpdateApprovalPendingStatusRecallAction,
|
|
180
|
+
// [VendorInvoicePaymentActionEnum.DEACTIVATE]: transitionUpdateApprovalPendingStatusDeactivateAction,
|
|
181
|
+
},
|
|
182
|
+
},
|
|
183
|
+
[vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.DELETE_APPROVAL_PENDING]: {
|
|
184
|
+
actions: {
|
|
185
|
+
// [VendorInvoicePaymentActionEnum.CREATE]: transitionDeleteApprovalPendingStatusCreateAction,
|
|
186
|
+
// [VendorInvoicePaymentActionEnum.UPDATE]: transitionDeleteApprovalPendingStatusUpdateAction,
|
|
187
|
+
// [VendorInvoicePaymentActionEnum.DELETE]: transitionDeleteApprovalPendingStatusDeleteAction,
|
|
188
|
+
[api_1.VendorInvoicePaymentActionEnum.APPROVE]: transitionDeleteApprovalPendingStatusApproveAction,
|
|
189
|
+
[api_1.VendorInvoicePaymentActionEnum.REJECT]: transitionDeleteApprovalPendingStatusRejectAction,
|
|
190
|
+
// [VendorInvoicePaymentActionEnum.RECALL]: transitionDeleteApprovalPendingStatusRecallAction,
|
|
191
|
+
// [VendorInvoicePaymentActionEnum.DEACTIVATE]: transitionDeleteApprovalPendingStatusDeactivateAction,
|
|
192
|
+
},
|
|
193
|
+
},
|
|
194
|
+
[vendor_invoice_payment_status_enum_1.VendorInvoicePaymentStatusEnum.RESOLVED_REJECTED]: {
|
|
195
|
+
actions: {
|
|
196
|
+
// [VendorInvoicePaymentActionEnum.CREATE]: transitionResolvedRejectedStatusCreateAction,
|
|
197
|
+
// [VendorInvoicePaymentActionEnum.UPDATE]: transitionResolvedRejectedStatusUpdateAction,
|
|
198
|
+
[api_1.VendorInvoicePaymentActionEnum.DELETE]: transitionResolvedRejectedStatusDeleteAction,
|
|
199
|
+
// [VendorInvoicePaymentActionEnum.APPROVE]: transitionResolvedRejectedStatusApproveAction,
|
|
200
|
+
// [VendorInvoicePaymentActionEnum.REJECT]: transitionResolvedRejectedStatusRejectAction,
|
|
201
|
+
// [VendorInvoicePaymentActionEnum.RECALL]: transitionResolvedRejectedStatusRecallAction,
|
|
202
|
+
[api_1.VendorInvoicePaymentActionEnum.DEACTIVATE]: transitionResolvedRejectedStatusDeactivateAction,
|
|
203
|
+
},
|
|
204
|
+
},
|
|
205
|
+
};
|
|
@@ -221,6 +221,11 @@ export * from "./enums/entity_history_status_enum";
|
|
|
221
221
|
export * from "./flow-configs/entity_history_flow.config";
|
|
222
222
|
export * from "./interface/entity_history.entity.interface";
|
|
223
223
|
export * from "./model/entity_history.entity.model";
|
|
224
|
+
export * from "./enums/vendor_invoice_payment_mode_enum";
|
|
225
|
+
export * from "./enums/vendor_invoice_payment_status_enum";
|
|
226
|
+
export * from "./interface/vendor_invoice_payment.entity.interface";
|
|
227
|
+
export * from "./model/vendor_invoice_payment.entity.model";
|
|
228
|
+
export * from "./flow-configs/vendor_invoice_payment_flow.config";
|
|
224
229
|
export * from "./enums/leave_approval_status_enum";
|
|
225
230
|
export * from "./flow-configs/leave_approval_flow.config";
|
|
226
231
|
export * from "./interface/leave_approval.entity.interface";
|
|
@@ -237,6 +237,11 @@ __exportStar(require("./enums/entity_history_status_enum"), exports);
|
|
|
237
237
|
__exportStar(require("./flow-configs/entity_history_flow.config"), exports);
|
|
238
238
|
__exportStar(require("./interface/entity_history.entity.interface"), exports);
|
|
239
239
|
__exportStar(require("./model/entity_history.entity.model"), exports);
|
|
240
|
+
__exportStar(require("./enums/vendor_invoice_payment_mode_enum"), exports);
|
|
241
|
+
__exportStar(require("./enums/vendor_invoice_payment_status_enum"), exports);
|
|
242
|
+
__exportStar(require("./interface/vendor_invoice_payment.entity.interface"), exports);
|
|
243
|
+
__exportStar(require("./model/vendor_invoice_payment.entity.model"), exports);
|
|
244
|
+
__exportStar(require("./flow-configs/vendor_invoice_payment_flow.config"), exports);
|
|
240
245
|
__exportStar(require("./enums/leave_approval_status_enum"), exports);
|
|
241
246
|
__exportStar(require("./flow-configs/leave_approval_flow.config"), exports);
|
|
242
247
|
__exportStar(require("./interface/leave_approval.entity.interface"), exports);
|