law-common 11.3.1-beta.2 → 11.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/src/api/index.d.ts +2 -0
  2. package/dist/src/api/index.js +2 -0
  3. package/dist/src/api/interface/state.update.dto.interface.d.ts +6 -3
  4. package/dist/src/api/interface/state.update.dto.interface.js +6 -2
  5. package/dist/src/api/interface/vendor-invoice.entity.response.d.ts +3 -3
  6. package/dist/src/api/interface/vendor-invoice.entity.response.js +2 -2
  7. package/dist/src/api/interface/vendor_invoice.create.dto.interface.d.ts +1 -1
  8. package/dist/src/api/interface/vendor_invoice.update.dto.interface.d.ts +4 -2
  9. package/dist/src/api/interface/vendor_invoice_payment.create.dto.interface.d.ts +5 -0
  10. package/dist/src/api/interface/vendor_invoice_payment.create.dto.interface.js +2 -0
  11. package/dist/src/api/interface/vendor_invoice_payment.update.dto.interface.d.ts +18 -0
  12. package/dist/src/api/interface/vendor_invoice_payment.update.dto.interface.js +13 -0
  13. package/dist/src/constants/billing_constants.js +1 -1
  14. package/dist/src/entities/enums/state_status_enum.d.ts +10 -3
  15. package/dist/src/entities/enums/state_status_enum.js +13 -3
  16. package/dist/src/entities/enums/vendor_invoice_action.enum.d.ts +3 -1
  17. package/dist/src/entities/enums/vendor_invoice_action.enum.js +2 -0
  18. package/dist/src/entities/enums/vendor_invoice_action_status_enum.autocode.js +1 -1
  19. package/dist/src/entities/enums/vendor_invoice_action_status_enum.d.ts +1 -1
  20. package/dist/src/entities/enums/vendor_invoice_action_status_enum.js +13 -13
  21. package/dist/src/entities/enums/vendor_invoice_payment_mode_enum.d.ts +7 -0
  22. package/dist/src/entities/enums/vendor_invoice_payment_mode_enum.js +11 -0
  23. package/dist/src/entities/enums/vendor_invoice_payment_status_enum.d.ts +10 -0
  24. package/dist/src/entities/enums/vendor_invoice_payment_status_enum.js +14 -0
  25. package/dist/src/entities/enums/vendor_invoice_status_enum.autocode.js +1 -1
  26. package/dist/src/entities/enums/vendor_invoice_status_enum.d.ts +1 -1
  27. package/dist/src/entities/enums/vendor_invoice_status_enum.js +6 -6
  28. package/dist/src/entities/flow-configs/state_flow.config.js +263 -58
  29. package/dist/src/entities/flow-configs/vendor-invoice-flow.config.d.ts +11 -2
  30. package/dist/src/entities/flow-configs/vendor-invoice-flow.config.js +136 -197
  31. package/dist/src/entities/flow-configs/vendor_invoice_payment_flow.config.d.ts +6 -0
  32. package/dist/src/entities/flow-configs/vendor_invoice_payment_flow.config.js +205 -0
  33. package/dist/src/entities/index.d.ts +5 -0
  34. package/dist/src/entities/index.js +5 -0
  35. package/dist/src/entities/interface/client_quote.entity.interface.d.ts +3 -9
  36. package/dist/src/entities/interface/client_quote_rate.entity.interface.d.ts +1 -6
  37. package/dist/src/entities/interface/entity.utils.interface.d.ts +5 -2
  38. package/dist/src/entities/interface/entity.utils.interface.js +1 -0
  39. package/dist/src/entities/interface/vendor_invoice.entity.interface.autocode.js +4 -4
  40. package/dist/src/entities/interface/vendor_invoice.entity.interface.d.ts +5 -3
  41. package/dist/src/entities/interface/vendor_invoice_payment.entity.interface.d.ts +14 -0
  42. package/dist/src/entities/interface/vendor_invoice_payment.entity.interface.js +2 -0
  43. package/dist/src/entities/model/client_quote.entity.model.d.ts +2 -8
  44. package/dist/src/entities/model/client_quote.entity.model.js +7 -9
  45. package/dist/src/entities/model/client_quote_rate.entity.model.d.ts +1 -6
  46. package/dist/src/entities/model/client_quote_rate.entity.model.js +1 -6
  47. package/dist/src/entities/model/entity.model.interface.js +2 -0
  48. package/dist/src/entities/model/state.entity.model.js +1 -1
  49. package/dist/src/entities/model/vendor_invoice.entity.model.autocode.js +4 -4
  50. package/dist/src/entities/model/vendor_invoice.entity.model.d.ts +8 -5
  51. package/dist/src/entities/model/vendor_invoice.entity.model.js +99 -51
  52. package/dist/src/entities/model/vendor_invoice_item.entity.model.js +1 -1
  53. package/dist/src/entities/model/vendor_invoice_payment.entity.model.d.ts +62 -0
  54. package/dist/src/entities/model/vendor_invoice_payment.entity.model.js +209 -0
  55. package/dist/src/enums/error.key.enum.d.ts +2 -1
  56. package/dist/src/enums/error.key.enum.js +1 -0
  57. package/package.json +47 -42
@@ -3,221 +3,160 @@ 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 exceptions_1 = require("../../exceptions");
8
+ const enums_1 = require("../../enums");
9
+ const VENDOR_INVOICE_APPROVE_PERMISSION = ["VENDOR_INVOICE_APPROVE"];
10
+ const VENDOR_INVOICE_UPDATE_PERMISSION = ["VENDOR_INVOICE_UPDATE"];
11
+ const ACTION_MAP = {
12
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.APPROVE]: {
13
+ reachableStatues: [vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.APPROVED, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.DELETED],
14
+ permissions: VENDOR_INVOICE_APPROVE_PERMISSION,
15
+ },
16
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.EDIT]: {
17
+ reachableStatues: [vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.CREATE_APPROVAL, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.EDIT_APPROVAL],
18
+ permissions: VENDOR_INVOICE_UPDATE_PERMISSION,
19
+ },
20
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.REJECT]: {
21
+ reachableStatues: [vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.REJECTED, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.REQUEST_CHANGES],
22
+ permissions: VENDOR_INVOICE_APPROVE_PERMISSION,
23
+ },
24
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE]: {
25
+ reachableStatues: [vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.DELETED, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.DELETE_APPROVAL],
26
+ permissions: VENDOR_INVOICE_UPDATE_PERMISSION,
27
+ },
28
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.UPDATE_PAYMENT]: {
29
+ reachableStatues: [vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.PAYMENT_DISBURSE, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.APPROVED],
30
+ permissions: VENDOR_INVOICE_UPDATE_PERMISSION,
31
+ },
32
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.PAYMENT]: {
33
+ reachableStatues: [vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.PAYMENT_DISBURSE, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.APPROVED],
34
+ permissions: VENDOR_INVOICE_UPDATE_PERMISSION,
35
+ },
36
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE_PAYMENT]: {
37
+ reachableStatues: [vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.PAYMENT_DISBURSE, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.APPROVED],
38
+ permissions: VENDOR_INVOICE_UPDATE_PERMISSION,
39
+ },
40
+ };
41
+ const { createActionConfig, createTransition } = (0, base_flow_config_factory_1.createFlowConfigFactory)()(ACTION_MAP);
42
+ const createTransitionAnyStatusUpdatePaymentAction = createTransition((context) => {
43
+ const { existingVendorInvoice, amountDifference } = context;
44
+ if (existingVendorInvoice && amountDifference !== undefined) {
45
+ if (existingVendorInvoice.totalNetAmount === existingVendorInvoice.adjustedAmount + amountDifference + existingVendorInvoice.paidAmount) {
46
+ return vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.PAYMENT_DISBURSE;
47
+ }
48
+ else {
49
+ return vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.APPROVED;
50
+ }
51
+ }
52
+ else {
53
+ throw new exceptions_1.AppBadRequestException({
54
+ key: enums_1.ErrorKeyEnum.VENDOR_INVOICE_FLOW_CONTEXT_DATA,
55
+ message: ["Both existingVendorInvoice and amountDifference must be provided in the context data for processing update payment action."],
56
+ });
57
+ }
58
+ // return existingVendorInvoice ? existingVendorInvoice.actionStatus : VendorInvoiceStatusEnum.APPROVED;
59
+ });
60
+ // CREATE_APPROVAL status transitions
61
+ const transitionCreateApprovalStatusApproveAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.APPROVE, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.APPROVED);
62
+ const transitionCreateApprovalStatusEditAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.EDIT, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.CREATE_APPROVAL);
63
+ const transitionCreateApprovalStatusRejectAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.REJECT, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.REJECTED);
64
+ const transitionCreateApprovalStatusDeleteAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.DELETED);
65
+ // EDIT_APPROVAL status transitions
66
+ const transitionEditApprovalStatusApproveAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.APPROVE, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.APPROVED);
67
+ const transitionEditApprovalStatusEditAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.EDIT, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.EDIT_APPROVAL);
68
+ const transitionEditApprovalStatusRejectAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.REJECT, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.REQUEST_CHANGES);
69
+ // DELETE_APPROVAL status transitions
70
+ const transitionDeleteApprovalStatusApproveAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.APPROVE, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.DELETED);
71
+ const transitionDeleteApprovalStatusRejectAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.REJECT, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.REQUEST_CHANGES);
72
+ // APPROVED status transitions
73
+ const transitionApprovedStatusEditAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.EDIT, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.EDIT_APPROVAL);
74
+ const transitionApprovedStatusDeleteAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.DELETE_APPROVAL);
75
+ const createTransitionApprovedStatusPaymentAction = createTransition((context) => {
76
+ const { vendorInvoicePayment, existingVendorInvoice } = context;
77
+ if (vendorInvoicePayment && existingVendorInvoice) {
78
+ if (existingVendorInvoice.totalNetAmount === existingVendorInvoice.paidAmount + existingVendorInvoice.adjustedAmount + vendorInvoicePayment.amount) {
79
+ return vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.PAYMENT_DISBURSE;
80
+ }
81
+ }
82
+ else {
83
+ throw new exceptions_1.AppBadRequestException({
84
+ key: enums_1.ErrorKeyEnum.VENDOR_INVOICE_FLOW_CONTEXT_DATA,
85
+ message: ["Both vendorInvoicePayment and existingVendorInvoice must be provided in the context data for processing payment action."],
86
+ });
87
+ }
88
+ return vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.APPROVED;
89
+ });
90
+ const transitionApprovedStatusPaymentAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.PAYMENT, createTransitionApprovedStatusPaymentAction);
91
+ const createTransitionApprovedStatusUpdatePaymentAction = createTransition((context) => {
92
+ return createTransitionAnyStatusUpdatePaymentAction(context);
93
+ });
94
+ const transitionApprovedStatusUpdatePaymentAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.UPDATE_PAYMENT, createTransitionApprovedStatusUpdatePaymentAction);
95
+ const createTransitionApprovedStatusDeleteAction = createTransition((context) => {
96
+ return createTransitionAnyStatusUpdatePaymentAction(context);
97
+ });
98
+ const transitionApprovedStatusDeletePaymentAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE_PAYMENT, createTransitionApprovedStatusDeleteAction);
99
+ // REQUEST_CHANGES status transitions
100
+ const transitionRequestChangesStatusEditAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.EDIT, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.EDIT_APPROVAL);
101
+ const transitionRequestChangesStatusDeleteAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.DELETE_APPROVAL);
102
+ // PAYMENT_DISBURSE status transitions
103
+ const createTransitionPaymentDisburseStatusUpdatePaymentAction = createTransition((context) => {
104
+ return createTransitionAnyStatusUpdatePaymentAction(context);
105
+ });
106
+ const transitionPaymentDisburseStatusUpdatePaymentAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.UPDATE_PAYMENT, createTransitionPaymentDisburseStatusUpdatePaymentAction);
107
+ const createTransitionPaymentDisburseStatusDeletePaymentAction = createTransition((context) => {
108
+ return createTransitionAnyStatusUpdatePaymentAction(context);
109
+ });
110
+ const transitionPaymentDisburseStatusDeleteAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE_PAYMENT, createTransitionPaymentDisburseStatusDeletePaymentAction);
6
111
  exports.vendorInvoiceFlowConfig = {
7
- [vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.CREATE_APPROVAL]: {
112
+ [vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.CREATE_APPROVAL]: {
8
113
  actions: {
9
- [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.APPROVE]: {
10
- permissions: ["VENDOR_INVOICE_APPROVE"],
11
- next: () => vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.APPROVED,
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
- },
114
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.APPROVE]: transitionCreateApprovalStatusApproveAction,
115
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.EDIT]: transitionCreateApprovalStatusEditAction,
116
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.REJECT]: transitionCreateApprovalStatusRejectAction,
117
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE]: transitionCreateApprovalStatusDeleteAction,
25
118
  },
26
119
  },
27
- [vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.EDIT_APPROVAL]: {
120
+ [vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.EDIT_APPROVAL]: {
28
121
  actions: {
29
- [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.APPROVE]: {
30
- permissions: ["VENDOR_INVOICE_APPROVE"],
31
- next: () => vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.APPROVED,
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
- },
122
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.APPROVE]: transitionEditApprovalStatusApproveAction,
123
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.EDIT]: transitionEditApprovalStatusEditAction,
124
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.REJECT]: transitionEditApprovalStatusRejectAction,
42
125
  // [VendorInvoiceActionEnum.RECALL]: {
43
- // permissions: ["VENDOR_INVOICE_UPDATE"],
44
- // next: () => VendorInvoiceActionStatusEnum.DELETED,
126
+ // permissions: VENDOR_INVOICE_UPDATE_PERMISSION,
127
+ // next: () => VendorInvoiceStatusEnum.DELETED,
45
128
  // },
46
129
  },
47
130
  },
48
- [vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.DELETE_APPROVAL]: {
131
+ [vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.DELETE_APPROVAL]: {
49
132
  actions: {
50
- [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.APPROVE]: {
51
- permissions: ["VENDOR_INVOICE_APPROVE"],
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
- },
133
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.APPROVE]: transitionDeleteApprovalStatusApproveAction,
134
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.REJECT]: transitionDeleteApprovalStatusRejectAction,
59
135
  // [VendorInvoiceActionEnum.RECALL]: {
60
- // permissions: ["VENDOR_INVOICE_UPDATE"],
61
- // next: () => VendorInvoiceActionStatusEnum.DELETED,
136
+ // permissions: VENDOR_INVOICE_UPDATE_PERMISSION,
137
+ // next: () => VendorInvoiceStatusEnum.DELETED,
62
138
  // },
63
139
  },
64
140
  },
65
- [vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.APPROVED]: {
141
+ [vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.APPROVED]: {
142
+ actions: {
143
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.EDIT]: transitionApprovedStatusEditAction,
144
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE]: transitionApprovedStatusDeleteAction,
145
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.UPDATE_PAYMENT]: transitionApprovedStatusUpdatePaymentAction,
146
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.PAYMENT]: transitionApprovedStatusPaymentAction,
147
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE_PAYMENT]: transitionApprovedStatusDeletePaymentAction,
148
+ },
149
+ },
150
+ [vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.REQUEST_CHANGES]: {
66
151
  actions: {
67
- [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.EDIT]: {
68
- permissions: ["VENDOR_INVOICE_UPDATE"],
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
- },
152
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.EDIT]: transitionRequestChangesStatusEditAction,
153
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE]: transitionRequestChangesStatusDeleteAction,
79
154
  },
80
155
  },
81
- [vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.REQUEST_CHANGES]: {
156
+ [vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.PAYMENT_DISBURSE]: {
82
157
  actions: {
83
- [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.EDIT]: {
84
- permissions: ["VENDOR_INVOICE_UPDATE"],
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
- },
158
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.UPDATE_PAYMENT]: transitionPaymentDisburseStatusUpdatePaymentAction,
159
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE_PAYMENT]: transitionPaymentDisburseStatusDeleteAction,
91
160
  },
92
161
  },
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
162
  };
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);
@@ -1,18 +1,12 @@
1
+ import { ClientQuoteStatusEnum } from "../enums/client_quote_status_enum";
1
2
  import { IEntityAuditColumn } from "./entity-audit-columns.interface";
2
3
  import { Nullable } from "./entity.utils.interface";
3
- import { ClientQuoteCurrencyEnum } from "../enums/client_quote_currency_enum";
4
- import { ClientQuoteStatusEnum } from "../enums/client_quote_status_enum";
5
4
  export interface IClientQuoteEntity extends IEntityAuditColumn {
6
5
  id: number;
7
6
  clientName: string;
8
7
  projectName?: Nullable<string>;
9
- currency: ClientQuoteCurrencyEnum;
10
- marginPercentage: number;
11
8
  status: ClientQuoteStatusEnum;
12
- costMinTotal: number;
13
- costMaxTotal: number;
9
+ costTotal: number;
14
10
  billingMinTotal: number;
15
- billingMaxTotal: number;
16
- idealMinTotal: number;
17
- idealMaxTotal: number;
11
+ recommendedTotal: number;
18
12
  }