law-common 11.0.1 → 11.0.3-beta.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 (29) 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_payment.create.dto.interface.d.ts +5 -0
  6. package/dist/src/api/interface/vendor_invoice_payment.create.dto.interface.js +2 -0
  7. package/dist/src/api/interface/vendor_invoice_payment.update.dto.interface.d.ts +18 -0
  8. package/dist/src/api/interface/vendor_invoice_payment.update.dto.interface.js +13 -0
  9. package/dist/src/entities/enums/state_status_enum.d.ts +10 -3
  10. package/dist/src/entities/enums/state_status_enum.js +13 -3
  11. package/dist/src/entities/enums/vendor_invoice_payment_mode_enum.d.ts +7 -0
  12. package/dist/src/entities/enums/vendor_invoice_payment_mode_enum.js +11 -0
  13. package/dist/src/entities/enums/vendor_invoice_payment_status_enum.d.ts +12 -0
  14. package/dist/src/entities/enums/vendor_invoice_payment_status_enum.js +16 -0
  15. package/dist/src/entities/flow-configs/state_flow.config.js +263 -58
  16. package/dist/src/entities/flow-configs/vendor_invoice_payment_flow.config.d.ts +6 -0
  17. package/dist/src/entities/flow-configs/vendor_invoice_payment_flow.config.js +256 -0
  18. package/dist/src/entities/index.d.ts +5 -0
  19. package/dist/src/entities/index.js +5 -0
  20. package/dist/src/entities/interface/entity.utils.interface.d.ts +5 -2
  21. package/dist/src/entities/interface/entity.utils.interface.js +1 -0
  22. package/dist/src/entities/interface/vendor_invoice_payment.entity.interface.d.ts +14 -0
  23. package/dist/src/entities/interface/vendor_invoice_payment.entity.interface.js +2 -0
  24. package/dist/src/entities/model/base.entity.model.js +2 -2
  25. package/dist/src/entities/model/entity.model.interface.js +2 -0
  26. package/dist/src/entities/model/state.entity.model.js +1 -1
  27. package/dist/src/entities/model/vendor_invoice_payment.entity.model.d.ts +61 -0
  28. package/dist/src/entities/model/vendor_invoice_payment.entity.model.js +206 -0
  29. package/package.json +2 -2
@@ -101,5 +101,7 @@ export * from "./interface/client_quote_rate.update.dto.interface";
101
101
  export * from "./interface/project-revenue-split.create.dto";
102
102
  export * from "./interface/entity_history.create.dto.interface";
103
103
  export * from "./interface/entity_history.update.dto.interface";
104
+ export * from "./interface/vendor_invoice_payment.create.dto.interface";
105
+ export * from "./interface/vendor_invoice_payment.update.dto.interface";
104
106
  export * from "./interface/leave_approval.create.dto.interface";
105
107
  export * from "./interface/leave_approval.update.dto.interface";
@@ -121,5 +121,7 @@ __exportStar(require("./interface/client_quote_rate.update.dto.interface"), expo
121
121
  __exportStar(require("./interface/project-revenue-split.create.dto"), exports);
122
122
  __exportStar(require("./interface/entity_history.create.dto.interface"), exports);
123
123
  __exportStar(require("./interface/entity_history.update.dto.interface"), exports);
124
+ __exportStar(require("./interface/vendor_invoice_payment.create.dto.interface"), exports);
125
+ __exportStar(require("./interface/vendor_invoice_payment.update.dto.interface"), exports);
124
126
  __exportStar(require("./interface/leave_approval.create.dto.interface"), exports);
125
127
  __exportStar(require("./interface/leave_approval.update.dto.interface"), exports);
@@ -8,8 +8,11 @@ export interface IStateActionDataDto {
8
8
  remark?: string;
9
9
  }
10
10
  export declare enum StateActionEnum {
11
- VIEW = "view",
12
- EDIT = "edit",
11
+ UPDATE = "update",
13
12
  DELETE = "delete",
14
- CREATE = "create"
13
+ CREATE = "create",
14
+ APPROVE = "approve",
15
+ REJECT = "reject",
16
+ RECALL = "recall",
17
+ DEACTIVATE = "deactivate"
15
18
  }
@@ -3,8 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StateActionEnum = void 0;
4
4
  var StateActionEnum;
5
5
  (function (StateActionEnum) {
6
- StateActionEnum["VIEW"] = "view";
7
- StateActionEnum["EDIT"] = "edit";
6
+ // VIEW = "view",
7
+ StateActionEnum["UPDATE"] = "update";
8
8
  StateActionEnum["DELETE"] = "delete";
9
9
  StateActionEnum["CREATE"] = "create";
10
+ StateActionEnum["APPROVE"] = "approve";
11
+ StateActionEnum["REJECT"] = "reject";
12
+ StateActionEnum["RECALL"] = "recall";
13
+ StateActionEnum["DEACTIVATE"] = "deactivate";
10
14
  })(StateActionEnum || (exports.StateActionEnum = StateActionEnum = {}));
@@ -0,0 +1,5 @@
1
+ import { IEntityCreateDto } from "../../entities";
2
+ import { IVendorInvoicePaymentEntity } from "../../entities/interface/vendor_invoice_payment.entity.interface";
3
+ export type IVendorInvoicePaymentCreateExclude = "status";
4
+ export interface IVendorInvoicePaymentCreateDto extends Omit<IEntityCreateDto<IVendorInvoicePaymentEntity>, IVendorInvoicePaymentCreateExclude> {
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,18 @@
1
+ import { DeepPartialButRequired } from "./api.utils.interface";
2
+ import { IVendorInvoicePaymentCreateDto } from "./vendor_invoice_payment.create.dto.interface";
3
+ export type IVendorInvoicePaymentUpdateDto = DeepPartialButRequired<IVendorInvoicePaymentCreateDto, never> & {
4
+ actionData: IVendorInvoicePaymentActionDataDto;
5
+ };
6
+ export interface IVendorInvoicePaymentActionDataDto {
7
+ action: VendorInvoicePaymentActionEnum;
8
+ remark?: string;
9
+ }
10
+ export declare enum VendorInvoicePaymentActionEnum {
11
+ UPDATE = "update",
12
+ DELETE = "delete",
13
+ CREATE = "create",
14
+ APPROVE = "approve",
15
+ REJECT = "reject",
16
+ RECALL = "recall",
17
+ DEACTIVATE = "deactivate"
18
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VendorInvoicePaymentActionEnum = void 0;
4
+ var VendorInvoicePaymentActionEnum;
5
+ (function (VendorInvoicePaymentActionEnum) {
6
+ VendorInvoicePaymentActionEnum["UPDATE"] = "update";
7
+ VendorInvoicePaymentActionEnum["DELETE"] = "delete";
8
+ VendorInvoicePaymentActionEnum["CREATE"] = "create";
9
+ VendorInvoicePaymentActionEnum["APPROVE"] = "approve";
10
+ VendorInvoicePaymentActionEnum["REJECT"] = "reject";
11
+ VendorInvoicePaymentActionEnum["RECALL"] = "recall";
12
+ VendorInvoicePaymentActionEnum["DEACTIVATE"] = "deactivate";
13
+ })(VendorInvoicePaymentActionEnum || (exports.VendorInvoicePaymentActionEnum = VendorInvoicePaymentActionEnum = {}));
@@ -1,5 +1,12 @@
1
1
  export declare enum StateStatusEnum {
2
- ACTIVE = "ACTIVE",
3
- DEACTIVE = "DEACTIVE",
4
- INACTIVE = "INACTIVE"
2
+ DEACTIVATED = "DEACTIVATED",
3
+ CREATED = "CREATED",
4
+ UPDATED = "UPDATED",
5
+ DELETED = "DELETED",
6
+ APPROVED = "APPROVED",
7
+ REJECTED = "REJECTED",
8
+ CREATE_APPROVAL_PENDING = "CREATE_APPROVAL_PENDING",
9
+ UPDATE_APPROVAL_PENDING = "UPDATE_APPROVAL_PENDING",
10
+ DELETE_APPROVAL_PENDING = "DELETE_APPROVAL_PENDING",
11
+ RESOLVED_REJECTED = "RESOLVED_REJECTED"
5
12
  }
@@ -3,7 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StateStatusEnum = void 0;
4
4
  var StateStatusEnum;
5
5
  (function (StateStatusEnum) {
6
- StateStatusEnum["ACTIVE"] = "ACTIVE";
7
- StateStatusEnum["DEACTIVE"] = "DEACTIVE";
8
- StateStatusEnum["INACTIVE"] = "INACTIVE";
6
+ // NO_ROW = "NO_ROW",
7
+ // ACTIVE = "ACTIVE",
8
+ StateStatusEnum["DEACTIVATED"] = "DEACTIVATED";
9
+ // INACTIVE = "INACTIVE",
10
+ StateStatusEnum["CREATED"] = "CREATED";
11
+ StateStatusEnum["UPDATED"] = "UPDATED";
12
+ StateStatusEnum["DELETED"] = "DELETED";
13
+ StateStatusEnum["APPROVED"] = "APPROVED";
14
+ StateStatusEnum["REJECTED"] = "REJECTED";
15
+ StateStatusEnum["CREATE_APPROVAL_PENDING"] = "CREATE_APPROVAL_PENDING";
16
+ StateStatusEnum["UPDATE_APPROVAL_PENDING"] = "UPDATE_APPROVAL_PENDING";
17
+ StateStatusEnum["DELETE_APPROVAL_PENDING"] = "DELETE_APPROVAL_PENDING";
18
+ StateStatusEnum["RESOLVED_REJECTED"] = "RESOLVED_REJECTED";
9
19
  })(StateStatusEnum || (exports.StateStatusEnum = StateStatusEnum = {}));
@@ -0,0 +1,7 @@
1
+ export declare enum VendorInvoicePaymentModeEnum {
2
+ CASH = "CASH",
3
+ NEFT = "NEFT",
4
+ RTGS = "RTGS",
5
+ UPI = "UPI",
6
+ CHEQUE = "CHEQUE"
7
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VendorInvoicePaymentModeEnum = void 0;
4
+ var VendorInvoicePaymentModeEnum;
5
+ (function (VendorInvoicePaymentModeEnum) {
6
+ VendorInvoicePaymentModeEnum["CASH"] = "CASH";
7
+ VendorInvoicePaymentModeEnum["NEFT"] = "NEFT";
8
+ VendorInvoicePaymentModeEnum["RTGS"] = "RTGS";
9
+ VendorInvoicePaymentModeEnum["UPI"] = "UPI";
10
+ VendorInvoicePaymentModeEnum["CHEQUE"] = "CHEQUE";
11
+ })(VendorInvoicePaymentModeEnum || (exports.VendorInvoicePaymentModeEnum = VendorInvoicePaymentModeEnum = {}));
@@ -0,0 +1,12 @@
1
+ export declare enum VendorInvoicePaymentStatusEnum {
2
+ DEACTIVATED = "DEACTIVATED",
3
+ CREATED = "CREATED",
4
+ UPDATED = "UPDATED",
5
+ DELETED = "DELETED",
6
+ APPROVED = "APPROVED",
7
+ REJECTED = "REJECTED",
8
+ CREATE_APPROVAL_PENDING = "CREATE_APPROVAL_PENDING",
9
+ UPDATE_APPROVAL_PENDING = "UPDATE_APPROVAL_PENDING",
10
+ DELETE_APPROVAL_PENDING = "DELETE_APPROVAL_PENDING",
11
+ RESOLVED_REJECTED = "RESOLVED_REJECTED"
12
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VendorInvoicePaymentStatusEnum = void 0;
4
+ var VendorInvoicePaymentStatusEnum;
5
+ (function (VendorInvoicePaymentStatusEnum) {
6
+ VendorInvoicePaymentStatusEnum["DEACTIVATED"] = "DEACTIVATED";
7
+ VendorInvoicePaymentStatusEnum["CREATED"] = "CREATED";
8
+ VendorInvoicePaymentStatusEnum["UPDATED"] = "UPDATED";
9
+ VendorInvoicePaymentStatusEnum["DELETED"] = "DELETED";
10
+ VendorInvoicePaymentStatusEnum["APPROVED"] = "APPROVED";
11
+ VendorInvoicePaymentStatusEnum["REJECTED"] = "REJECTED";
12
+ VendorInvoicePaymentStatusEnum["CREATE_APPROVAL_PENDING"] = "CREATE_APPROVAL_PENDING";
13
+ VendorInvoicePaymentStatusEnum["UPDATE_APPROVAL_PENDING"] = "UPDATE_APPROVAL_PENDING";
14
+ VendorInvoicePaymentStatusEnum["DELETE_APPROVAL_PENDING"] = "DELETE_APPROVAL_PENDING";
15
+ VendorInvoicePaymentStatusEnum["RESOLVED_REJECTED"] = "RESOLVED_REJECTED";
16
+ })(VendorInvoicePaymentStatusEnum || (exports.VendorInvoicePaymentStatusEnum = VendorInvoicePaymentStatusEnum = {}));
@@ -3,88 +3,293 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.stateFlowConfig = void 0;
4
4
  const api_1 = require("../../api");
5
5
  const state_status_enum_1 = require("../enums/state_status_enum");
6
+ const base_flow_config_factory_1 = require("./base-flow-config.factory");
6
7
  /**
7
8
  * State Flow Configuration - Status transition rules for state master.
8
9
  *
9
10
  * @example
10
11
  * // Simple transition (fixed target status)
11
- * createActionConfig(StateStatusEnum.INACTIVE, StateActionEnum.DELETE)
12
+ * createActionConfig(StateStatusEnum.APPROVED, StateActionEnum.APPROVE)
12
13
  *
13
14
  * @example
14
- * // Function-based transition (choose one of possible statuses via context data)
15
- * // Note: this example uses an extended context shape for illustration.
16
- * type IExtendedContext = IStateFlowConfigContextData & { nextStatus?: StateStatusEnum };
17
- * const transitionWithContext = (context: IExtendedContext) =>
18
- * context.nextStatus === StateStatusEnum.DEACTIVE ? StateStatusEnum.DEACTIVE : StateStatusEnum.ACTIVE;
19
- * createActionConfig(transitionWithContext, StateActionEnum.EDIT)
15
+ * // Function-based transition (choose one of possible reachableStatues via context data)
16
+ * createActionConfig(
17
+ * (context) => (context.nextStatus as StateStatusEnum.EDIT_APPROVAL | StateStatusEnum.UPDATED) ?? StateStatusEnum.EDIT_APPROVAL,
18
+ * StateActionEnum.UPDATE,
19
+ * )
20
20
  *
21
21
  * @example
22
- * // Subset transition — restricts the valid next statuses for a specific (currentStatus, action) pair.
23
- * //
24
- * // StateActionStatusMap says EDIT can go to: ACTIVE | DEACTIVE | INACTIVE (globally).
25
- * // But from ACTIVE status, EDIT should only allow ACTIVE or DEACTIVE (not INACTIVE).
26
- * // The Subset type parameter enforces this narrowing at compile time.
27
- * //
28
- * // TypeScript will reject any value outside the declared Subset:
29
- * // createActionConfig<StateActionEnum.EDIT, StateStatusEnum.ACTIVE | StateStatusEnum.DEACTIVE>(
30
- * // StateStatusEnum.INACTIVE, // ❌ compile error — INACTIVE not in Subset
31
- * // StateActionEnum.EDIT
32
- * // )
33
- * //
34
- * // Correct usage with a fixed subset value:
35
- * createActionConfig<StateActionEnum.EDIT, StateStatusEnum.ACTIVE | StateStatusEnum.DEACTIVE>(
36
- * StateStatusEnum.ACTIVE,
37
- * StateActionEnum.EDIT
22
+ * // Subset transition — restricts the valid next reachableStatues for a specific (currentStatus, action) pair.
23
+ * createActionConfig<StateActionEnum.APPROVE, StateStatusEnum.APPROVED | StateStatusEnum.CREATED>(
24
+ * (context) => (context.nextStatus as StateStatusEnum.APPROVED | StateStatusEnum.CREATED) ?? StateStatusEnum.APPROVED,
25
+ * StateActionEnum.APPROVE,
38
26
  * )
39
- * //
40
- * // Correct usage with a context-driven subset function:
41
- * type IExtendedContext2 = IStateFlowConfigContextData & { deactivate?: boolean };
42
- * createActionConfig<StateActionEnum.EDIT, StateStatusEnum.ACTIVE | StateStatusEnum.DEACTIVE>(
43
- * (context: IExtendedContext2) =>
44
- * context.deactivate ? StateStatusEnum.DEACTIVE : StateStatusEnum.ACTIVE,
45
- * StateActionEnum.EDIT
27
+ *
28
+ * @example
29
+ * // prev_active transition returns the status before the pending change was submitted
30
+ * createActionConfig(
31
+ * (context): StateStatusEnum.CREATED | StateStatusEnum.UPDATED | StateStatusEnum.APPROVED =>
32
+ * context.prevActiveStatus ?? StateStatusEnum.CREATED,
33
+ * StateActionEnum.RECALL,
46
34
  * )
47
35
  */
48
36
  const STATE_CREATE_PERMISSION = ["STATE_CREATE"];
49
37
  const STATE_UPDATE_PERMISSION = ["STATE_UPDATE"];
50
38
  const STATE_DELETE_PERMISSION = ["STATE_DELETE"];
51
- const STATE_VIEW_PERMISSION = ["STATE_VIEW"];
52
- const createTransition = (transition) => (context) => {
53
- if (typeof transition === "function") {
54
- return transition(context);
55
- }
56
- return transition;
57
- };
58
- const actionPermissionMap = {
59
- [api_1.StateActionEnum.CREATE]: STATE_CREATE_PERMISSION,
60
- [api_1.StateActionEnum.EDIT]: STATE_UPDATE_PERMISSION,
61
- [api_1.StateActionEnum.DELETE]: STATE_DELETE_PERMISSION,
62
- [api_1.StateActionEnum.VIEW]: STATE_VIEW_PERMISSION,
39
+ const STATE_APPROVE_PERMISSION = ["STATE_APPROVE"];
40
+ const STATE_REJECT_PERMISSION = ["STATE_REJECT"];
41
+ const STATE_RECALL_PERMISSION = ["STATE_RECALL"];
42
+ const STATE_DEACTIVATE_PERMISSION = ["STATE_DEACTIVATE"];
43
+ const ACTION_MAP = {
44
+ [api_1.StateActionEnum.CREATE]: {
45
+ reachableStatues: [state_status_enum_1.StateStatusEnum.CREATE_APPROVAL_PENDING, state_status_enum_1.StateStatusEnum.APPROVED, state_status_enum_1.StateStatusEnum.CREATED],
46
+ permissions: STATE_CREATE_PERMISSION,
47
+ },
48
+ [api_1.StateActionEnum.UPDATE]: {
49
+ reachableStatues: [state_status_enum_1.StateStatusEnum.UPDATE_APPROVAL_PENDING, state_status_enum_1.StateStatusEnum.UPDATED, state_status_enum_1.StateStatusEnum.CREATE_APPROVAL_PENDING],
50
+ permissions: STATE_UPDATE_PERMISSION,
51
+ },
52
+ [api_1.StateActionEnum.DELETE]: {
53
+ reachableStatues: [state_status_enum_1.StateStatusEnum.DELETE_APPROVAL_PENDING, state_status_enum_1.StateStatusEnum.DELETED],
54
+ permissions: STATE_DELETE_PERMISSION,
55
+ },
56
+ [api_1.StateActionEnum.APPROVE]: {
57
+ reachableStatues: [state_status_enum_1.StateStatusEnum.APPROVED, state_status_enum_1.StateStatusEnum.CREATED, state_status_enum_1.StateStatusEnum.UPDATED, state_status_enum_1.StateStatusEnum.DELETED],
58
+ permissions: STATE_APPROVE_PERMISSION,
59
+ },
60
+ [api_1.StateActionEnum.REJECT]: {
61
+ reachableStatues: [
62
+ state_status_enum_1.StateStatusEnum.REJECTED,
63
+ state_status_enum_1.StateStatusEnum.CREATED,
64
+ state_status_enum_1.StateStatusEnum.UPDATED,
65
+ state_status_enum_1.StateStatusEnum.APPROVED,
66
+ state_status_enum_1.StateStatusEnum.RESOLVED_REJECTED,
67
+ ],
68
+ permissions: STATE_REJECT_PERMISSION,
69
+ },
70
+ [api_1.StateActionEnum.RECALL]: {
71
+ reachableStatues: [state_status_enum_1.StateStatusEnum.CREATED, state_status_enum_1.StateStatusEnum.UPDATED, state_status_enum_1.StateStatusEnum.APPROVED],
72
+ permissions: STATE_RECALL_PERMISSION,
73
+ },
74
+ [api_1.StateActionEnum.DEACTIVATE]: {
75
+ reachableStatues: [state_status_enum_1.StateStatusEnum.DEACTIVATED],
76
+ permissions: STATE_DEACTIVATE_PERMISSION,
77
+ },
63
78
  };
64
- const createActionConfig = (nextStatus, action, overridePermissions) => ({
65
- permissions: overridePermissions !== null && overridePermissions !== void 0 ? overridePermissions : actionPermissionMap[action],
66
- next: createTransition(nextStatus),
67
- });
68
- const transitionActiveStatusEditAction = (context) => state_status_enum_1.StateStatusEnum.DEACTIVE;
79
+ // type StateActionStatusMap = {
80
+ // [A in StateActionEnum]: (typeof ACTION_MAP)[A]["reachableStatues"];
81
+ // };
82
+ // type StateStatusForAction<A extends StateActionEnum> = StateActionStatusMap[A][number];
83
+ // type StateTransition<A extends StateActionEnum, Subset extends StateStatusForAction<A> = StateStatusForAction<A>> =
84
+ // | Subset
85
+ // | ((context: IStateFlowConfigContextData) => Subset);
86
+ // const createTransition =
87
+ // <A extends StateActionEnum, Subset extends StateStatusForAction<A> = StateStatusForAction<A>>(transition: StateTransition<A, Subset>) =>
88
+ // (context: IStateFlowConfigContextData): Subset => {
89
+ // if (typeof transition === "function") {
90
+ // return transition(context);
91
+ // }
92
+ // return transition;
93
+ // };
94
+ // const createActionConfig = <A extends StateActionEnum, Subset extends StateStatusForAction<A> = StateStatusForAction<A>>(
95
+ // nextStatus: StateTransition<A, Subset>,
96
+ // action: A,
97
+ // overridePermissions?: string[],
98
+ // ) => ({
99
+ // permissions: overridePermissions ?? ACTION_MAP[action].permissions,
100
+ // next: createTransition<A, Subset>(nextStatus),
101
+ // });
102
+ const { createActionConfig } = (0, base_flow_config_factory_1.createFlowConfigFactory)()(ACTION_MAP);
103
+ // DEACTIVATED status transitions
104
+ const transitionDeactivatedStatusCreateAction = createActionConfig(api_1.StateActionEnum.CREATE, state_status_enum_1.StateStatusEnum.CREATE_APPROVAL_PENDING);
105
+ const transitionDeactivatedStatusUpdateAction = createActionConfig(api_1.StateActionEnum.UPDATE, state_status_enum_1.StateStatusEnum.UPDATE_APPROVAL_PENDING);
106
+ const transitionDeactivatedStatusDeleteAction = createActionConfig(api_1.StateActionEnum.DELETE, state_status_enum_1.StateStatusEnum.DELETE_APPROVAL_PENDING);
107
+ const transitionDeactivatedStatusApproveAction = createActionConfig(api_1.StateActionEnum.APPROVE, state_status_enum_1.StateStatusEnum.APPROVED);
108
+ const transitionDeactivatedStatusRejectAction = createActionConfig(api_1.StateActionEnum.REJECT, state_status_enum_1.StateStatusEnum.REJECTED);
109
+ const transitionDeactivatedStatusRecallAction = createActionConfig(api_1.StateActionEnum.RECALL, state_status_enum_1.StateStatusEnum.CREATED);
110
+ const transitionDeactivatedStatusDeactivateAction = createActionConfig(api_1.StateActionEnum.DEACTIVATE, state_status_enum_1.StateStatusEnum.DEACTIVATED);
111
+ // CREATED status transitions
112
+ const transitionCreatedStatusCreateAction = createActionConfig(api_1.StateActionEnum.CREATE, state_status_enum_1.StateStatusEnum.CREATE_APPROVAL_PENDING);
113
+ const transitionCreatedStatusUpdateAction = createActionConfig(api_1.StateActionEnum.UPDATE, state_status_enum_1.StateStatusEnum.UPDATED);
114
+ const transitionCreatedStatusDeleteAction = createActionConfig(api_1.StateActionEnum.DELETE, state_status_enum_1.StateStatusEnum.DELETE_APPROVAL_PENDING);
115
+ const transitionCreatedStatusApproveAction = createActionConfig(api_1.StateActionEnum.APPROVE, state_status_enum_1.StateStatusEnum.APPROVED);
116
+ const transitionCreatedStatusRejectAction = createActionConfig(api_1.StateActionEnum.REJECT, state_status_enum_1.StateStatusEnum.REJECTED);
117
+ const transitionCreatedStatusRecallAction = createActionConfig(api_1.StateActionEnum.RECALL, state_status_enum_1.StateStatusEnum.CREATED);
118
+ const transitionCreatedStatusDeactivateAction = createActionConfig(api_1.StateActionEnum.DEACTIVATE, state_status_enum_1.StateStatusEnum.DEACTIVATED);
119
+ // UPDATED status transitions
120
+ const transitionUpdatedStatusCreateAction = createActionConfig(api_1.StateActionEnum.CREATE, state_status_enum_1.StateStatusEnum.CREATE_APPROVAL_PENDING);
121
+ const transitionUpdatedStatusUpdateAction = createActionConfig(api_1.StateActionEnum.UPDATE, state_status_enum_1.StateStatusEnum.UPDATE_APPROVAL_PENDING);
122
+ const transitionUpdatedStatusDeleteAction = createActionConfig(api_1.StateActionEnum.DELETE, state_status_enum_1.StateStatusEnum.DELETE_APPROVAL_PENDING);
123
+ const transitionUpdatedStatusApproveAction = createActionConfig(api_1.StateActionEnum.APPROVE, state_status_enum_1.StateStatusEnum.APPROVED);
124
+ const transitionUpdatedStatusRejectAction = createActionConfig(api_1.StateActionEnum.REJECT, state_status_enum_1.StateStatusEnum.REJECTED);
125
+ const transitionUpdatedStatusRecallAction = createActionConfig(api_1.StateActionEnum.RECALL, state_status_enum_1.StateStatusEnum.CREATED);
126
+ const transitionUpdatedStatusDeactivateAction = createActionConfig(api_1.StateActionEnum.DEACTIVATE, state_status_enum_1.StateStatusEnum.DEACTIVATED);
127
+ // DELETED status transitions
128
+ const transitionDeletedStatusCreateAction = createActionConfig(api_1.StateActionEnum.CREATE, state_status_enum_1.StateStatusEnum.CREATE_APPROVAL_PENDING);
129
+ const transitionDeletedStatusUpdateAction = createActionConfig(api_1.StateActionEnum.UPDATE, state_status_enum_1.StateStatusEnum.UPDATE_APPROVAL_PENDING);
130
+ const transitionDeletedStatusDeleteAction = createActionConfig(api_1.StateActionEnum.DELETE, state_status_enum_1.StateStatusEnum.DELETE_APPROVAL_PENDING);
131
+ const transitionDeletedStatusApproveAction = createActionConfig(api_1.StateActionEnum.APPROVE, state_status_enum_1.StateStatusEnum.APPROVED);
132
+ const transitionDeletedStatusRejectAction = createActionConfig(api_1.StateActionEnum.REJECT, state_status_enum_1.StateStatusEnum.REJECTED);
133
+ const transitionDeletedStatusRecallAction = createActionConfig(api_1.StateActionEnum.RECALL, state_status_enum_1.StateStatusEnum.CREATED);
134
+ const transitionDeletedStatusDeactivateAction = createActionConfig(api_1.StateActionEnum.DEACTIVATE, state_status_enum_1.StateStatusEnum.DEACTIVATED);
135
+ // APPROVED status transitions
136
+ const transitionApprovedStatusCreateAction = createActionConfig(api_1.StateActionEnum.CREATE, state_status_enum_1.StateStatusEnum.CREATE_APPROVAL_PENDING);
137
+ const transitionApprovedStatusUpdateAction = createActionConfig(api_1.StateActionEnum.UPDATE, state_status_enum_1.StateStatusEnum.UPDATE_APPROVAL_PENDING);
138
+ const transitionApprovedStatusDeleteAction = createActionConfig(api_1.StateActionEnum.DELETE, state_status_enum_1.StateStatusEnum.DELETE_APPROVAL_PENDING);
139
+ const transitionApprovedStatusApproveAction = createActionConfig(api_1.StateActionEnum.APPROVE, state_status_enum_1.StateStatusEnum.APPROVED);
140
+ const transitionApprovedStatusRejectAction = createActionConfig(api_1.StateActionEnum.REJECT, state_status_enum_1.StateStatusEnum.REJECTED);
141
+ const transitionApprovedStatusRecallAction = createActionConfig(api_1.StateActionEnum.RECALL, state_status_enum_1.StateStatusEnum.CREATED);
142
+ const transitionApprovedStatusDeactivateAction = createActionConfig(api_1.StateActionEnum.DEACTIVATE, state_status_enum_1.StateStatusEnum.DEACTIVATED);
143
+ // REJECTED status transitions
144
+ const transitionRejectedStatusCreateAction = createActionConfig(api_1.StateActionEnum.CREATE, state_status_enum_1.StateStatusEnum.CREATE_APPROVAL_PENDING);
145
+ const transitionRejectedStatusUpdateAction = createActionConfig(api_1.StateActionEnum.UPDATE, state_status_enum_1.StateStatusEnum.UPDATE_APPROVAL_PENDING);
146
+ const transitionRejectedStatusDeleteAction = createActionConfig(api_1.StateActionEnum.DELETE, state_status_enum_1.StateStatusEnum.DELETE_APPROVAL_PENDING);
147
+ const transitionRejectedStatusApproveAction = createActionConfig(api_1.StateActionEnum.APPROVE, state_status_enum_1.StateStatusEnum.APPROVED);
148
+ const transitionRejectedStatusRejectAction = createActionConfig(api_1.StateActionEnum.REJECT, state_status_enum_1.StateStatusEnum.REJECTED);
149
+ const transitionRejectedStatusRecallAction = createActionConfig(api_1.StateActionEnum.RECALL, state_status_enum_1.StateStatusEnum.CREATED);
150
+ const transitionRejectedStatusDeactivateAction = createActionConfig(api_1.StateActionEnum.DEACTIVATE, state_status_enum_1.StateStatusEnum.DEACTIVATED);
151
+ // CREATE_APPROVAL_PENDING status transitions
152
+ const transitionCreateApprovalPendingStatusCreateAction = createActionConfig(api_1.StateActionEnum.CREATE, state_status_enum_1.StateStatusEnum.CREATE_APPROVAL_PENDING);
153
+ const transitionCreateApprovalPendingStatusUpdateAction = createActionConfig(api_1.StateActionEnum.UPDATE, state_status_enum_1.StateStatusEnum.UPDATE_APPROVAL_PENDING);
154
+ const transitionCreateApprovalPendingStatusDeleteAction = createActionConfig(api_1.StateActionEnum.DELETE, state_status_enum_1.StateStatusEnum.DELETE_APPROVAL_PENDING);
155
+ const transitionCreateApprovalPendingStatusApproveAction = createActionConfig(api_1.StateActionEnum.APPROVE, state_status_enum_1.StateStatusEnum.APPROVED);
156
+ const transitionCreateApprovalPendingStatusRejectAction = createActionConfig(api_1.StateActionEnum.REJECT, state_status_enum_1.StateStatusEnum.REJECTED);
157
+ const transitionCreateApprovalPendingStatusRecallAction = createActionConfig(api_1.StateActionEnum.RECALL, state_status_enum_1.StateStatusEnum.CREATED);
158
+ const transitionCreateApprovalPendingStatusDeactivateAction = createActionConfig(api_1.StateActionEnum.DEACTIVATE, state_status_enum_1.StateStatusEnum.DEACTIVATED);
159
+ // UPDATE_APPROVAL_PENDING status transitions
160
+ const transitionUpdateApprovalPendingStatusCreateAction = createActionConfig(api_1.StateActionEnum.CREATE, state_status_enum_1.StateStatusEnum.CREATE_APPROVAL_PENDING);
161
+ const transitionUpdateApprovalPendingStatusUpdateAction = createActionConfig(api_1.StateActionEnum.UPDATE, state_status_enum_1.StateStatusEnum.UPDATE_APPROVAL_PENDING);
162
+ const transitionUpdateApprovalPendingStatusDeleteAction = createActionConfig(api_1.StateActionEnum.DELETE, state_status_enum_1.StateStatusEnum.DELETE_APPROVAL_PENDING);
163
+ const transitionUpdateApprovalPendingStatusApproveAction = createActionConfig(api_1.StateActionEnum.APPROVE, state_status_enum_1.StateStatusEnum.APPROVED);
164
+ const transitionUpdateApprovalPendingStatusRejectAction = createActionConfig(api_1.StateActionEnum.REJECT, state_status_enum_1.StateStatusEnum.REJECTED);
165
+ const transitionUpdateApprovalPendingStatusRecallAction = createActionConfig(api_1.StateActionEnum.RECALL, state_status_enum_1.StateStatusEnum.CREATED);
166
+ const transitionUpdateApprovalPendingStatusDeactivateAction = createActionConfig(api_1.StateActionEnum.DEACTIVATE, state_status_enum_1.StateStatusEnum.DEACTIVATED);
167
+ // DELETE_APPROVAL_PENDING status transitions
168
+ const transitionDeleteApprovalPendingStatusCreateAction = createActionConfig(api_1.StateActionEnum.CREATE, state_status_enum_1.StateStatusEnum.CREATE_APPROVAL_PENDING);
169
+ const transitionDeleteApprovalPendingStatusUpdateAction = createActionConfig(api_1.StateActionEnum.UPDATE, state_status_enum_1.StateStatusEnum.UPDATE_APPROVAL_PENDING);
170
+ const transitionDeleteApprovalPendingStatusDeleteAction = createActionConfig(api_1.StateActionEnum.DELETE, state_status_enum_1.StateStatusEnum.DELETE_APPROVAL_PENDING);
171
+ const transitionDeleteApprovalPendingStatusApproveAction = createActionConfig(api_1.StateActionEnum.APPROVE, state_status_enum_1.StateStatusEnum.DELETED);
172
+ const transitionDeleteApprovalPendingStatusRejectAction = createActionConfig(api_1.StateActionEnum.REJECT, state_status_enum_1.StateStatusEnum.REJECTED);
173
+ const transitionDeleteApprovalPendingStatusRecallAction = createActionConfig(api_1.StateActionEnum.RECALL, state_status_enum_1.StateStatusEnum.CREATED);
174
+ const transitionDeleteApprovalPendingStatusDeactivateAction = createActionConfig(api_1.StateActionEnum.DEACTIVATE, state_status_enum_1.StateStatusEnum.DEACTIVATED);
175
+ // RESOLVED_REJECTED status transitions
176
+ const transitionResolvedRejectedStatusCreateAction = createActionConfig(api_1.StateActionEnum.CREATE, state_status_enum_1.StateStatusEnum.CREATED);
177
+ const transitionResolvedRejectedStatusUpdateAction = createActionConfig(api_1.StateActionEnum.UPDATE, state_status_enum_1.StateStatusEnum.UPDATED);
178
+ const transitionResolvedRejectedStatusDeleteAction = createActionConfig(api_1.StateActionEnum.DELETE, state_status_enum_1.StateStatusEnum.DELETED);
179
+ const transitionResolvedRejectedStatusApproveAction = createActionConfig(api_1.StateActionEnum.APPROVE, state_status_enum_1.StateStatusEnum.APPROVED);
180
+ const transitionResolvedRejectedStatusRejectAction = createActionConfig(api_1.StateActionEnum.REJECT, state_status_enum_1.StateStatusEnum.REJECTED);
181
+ const transitionResolvedRejectedStatusRecallAction = createActionConfig(api_1.StateActionEnum.RECALL, state_status_enum_1.StateStatusEnum.UPDATED);
182
+ const transitionResolvedRejectedStatusDeactivateAction = createActionConfig(api_1.StateActionEnum.DEACTIVATE, state_status_enum_1.StateStatusEnum.DEACTIVATED);
69
183
  exports.stateFlowConfig = {
70
- [state_status_enum_1.StateStatusEnum.ACTIVE]: {
184
+ [state_status_enum_1.StateStatusEnum.DEACTIVATED]: {
185
+ actions: {
186
+ // [StateActionEnum.CREATE]: transitionDeactivatedStatusCreateAction,
187
+ [api_1.StateActionEnum.UPDATE]: transitionDeactivatedStatusUpdateAction,
188
+ [api_1.StateActionEnum.DELETE]: transitionDeactivatedStatusDeleteAction,
189
+ // [StateActionEnum.APPROVE]: transitionDeactivatedStatusApproveAction,
190
+ // [StateActionEnum.REJECT]: transitionDeactivatedStatusRejectAction,
191
+ // [StateActionEnum.RECALL]: transitionDeactivatedStatusRecallAction,
192
+ // [StateActionEnum.DEACTIVATE]: transitionDeactivatedStatusDeactivateAction,
193
+ },
194
+ },
195
+ [state_status_enum_1.StateStatusEnum.CREATED]: {
196
+ actions: {
197
+ // [StateActionEnum.CREATE]: transitionCreatedStatusCreateAction,
198
+ [api_1.StateActionEnum.UPDATE]: transitionCreatedStatusUpdateAction,
199
+ [api_1.StateActionEnum.DELETE]: transitionCreatedStatusDeleteAction,
200
+ // [StateActionEnum.APPROVE]: transitionCreatedStatusApproveAction,
201
+ // [StateActionEnum.REJECT]: transitionCreatedStatusRejectAction,
202
+ // [StateActionEnum.RECALL]: transitionCreatedStatusRecallAction,
203
+ [api_1.StateActionEnum.DEACTIVATE]: transitionCreatedStatusDeactivateAction,
204
+ },
205
+ },
206
+ [state_status_enum_1.StateStatusEnum.UPDATED]: {
207
+ actions: {
208
+ // [StateActionEnum.CREATE]: transitionUpdatedStatusCreateAction,
209
+ [api_1.StateActionEnum.UPDATE]: transitionUpdatedStatusUpdateAction,
210
+ [api_1.StateActionEnum.DELETE]: transitionUpdatedStatusDeleteAction,
211
+ // [StateActionEnum.APPROVE]: transitionUpdatedStatusApproveAction,
212
+ // [StateActionEnum.REJECT]: transitionUpdatedStatusRejectAction,
213
+ // [StateActionEnum.RECALL]: transitionUpdatedStatusRecallAction,
214
+ [api_1.StateActionEnum.DEACTIVATE]: transitionUpdatedStatusDeactivateAction,
215
+ },
216
+ },
217
+ [state_status_enum_1.StateStatusEnum.DELETED]: {
218
+ actions: {
219
+ // [StateActionEnum.VIEW]: transitionDeletedStatusViewAction,
220
+ // [StateActionEnum.CREATE]: transitionDeletedStatusCreateAction,
221
+ // [StateActionEnum.UPDATE]: transitionDeletedStatusUpdateAction,
222
+ // [StateActionEnum.DELETE]: transitionDeletedStatusDeleteAction,
223
+ // [StateActionEnum.APPROVE]: transitionDeletedStatusApproveAction,
224
+ // [StateActionEnum.REJECT]: transitionDeletedStatusRejectAction,
225
+ // [StateActionEnum.RECALL]: transitionDeletedStatusRecallAction,
226
+ // [StateActionEnum.DEACTIVATE]: transitionDeletedStatusDeactivateAction,
227
+ },
228
+ },
229
+ [state_status_enum_1.StateStatusEnum.APPROVED]: {
230
+ actions: {
231
+ // [StateActionEnum.CREATE]: transitionApprovedStatusCreateAction,
232
+ [api_1.StateActionEnum.UPDATE]: transitionApprovedStatusUpdateAction,
233
+ [api_1.StateActionEnum.DELETE]: transitionApprovedStatusDeleteAction,
234
+ // [StateActionEnum.APPROVE]: transitionApprovedStatusApproveAction,
235
+ // [StateActionEnum.REJECT]: transitionApprovedStatusRejectAction,
236
+ // [StateActionEnum.RECALL]: transitionApprovedStatusRecallAction,
237
+ [api_1.StateActionEnum.DEACTIVATE]: transitionApprovedStatusDeactivateAction,
238
+ },
239
+ },
240
+ [state_status_enum_1.StateStatusEnum.REJECTED]: {
241
+ actions: {
242
+ // [StateActionEnum.CREATE]: transitionRejectedStatusCreateAction,
243
+ [api_1.StateActionEnum.UPDATE]: transitionRejectedStatusUpdateAction,
244
+ [api_1.StateActionEnum.DELETE]: transitionRejectedStatusDeleteAction,
245
+ // [StateActionEnum.APPROVE]: transitionRejectedStatusApproveAction,
246
+ // [StateActionEnum.REJECT]: transitionRejectedStatusRejectAction,
247
+ // [StateActionEnum.RECALL]: transitionRejectedStatusRecallAction,
248
+ [api_1.StateActionEnum.DEACTIVATE]: transitionRejectedStatusDeactivateAction,
249
+ },
250
+ },
251
+ [state_status_enum_1.StateStatusEnum.CREATE_APPROVAL_PENDING]: {
252
+ actions: {
253
+ // [StateActionEnum.CREATE]: transitionCreateApprovalPendingStatusCreateAction,
254
+ [api_1.StateActionEnum.UPDATE]: transitionCreateApprovalPendingStatusUpdateAction,
255
+ [api_1.StateActionEnum.DELETE]: transitionCreateApprovalPendingStatusDeleteAction,
256
+ [api_1.StateActionEnum.APPROVE]: transitionCreateApprovalPendingStatusApproveAction,
257
+ [api_1.StateActionEnum.REJECT]: transitionCreateApprovalPendingStatusRejectAction,
258
+ // [StateActionEnum.RECALL]: transitionCreateApprovalPendingStatusRecallAction,
259
+ // [StateActionEnum.DEACTIVATE]: transitionCreateApprovalPendingStatusDeactivateAction,
260
+ },
261
+ },
262
+ [state_status_enum_1.StateStatusEnum.UPDATE_APPROVAL_PENDING]: {
71
263
  actions: {
72
- [api_1.StateActionEnum.VIEW]: createActionConfig(state_status_enum_1.StateStatusEnum.ACTIVE, api_1.StateActionEnum.VIEW),
73
- [api_1.StateActionEnum.EDIT]: createActionConfig(transitionActiveStatusEditAction, api_1.StateActionEnum.EDIT),
74
- [api_1.StateActionEnum.DELETE]: createActionConfig(state_status_enum_1.StateStatusEnum.INACTIVE, api_1.StateActionEnum.DELETE),
264
+ // [StateActionEnum.CREATE]: transitionUpdateApprovalPendingStatusCreateAction,
265
+ [api_1.StateActionEnum.UPDATE]: transitionUpdateApprovalPendingStatusUpdateAction,
266
+ // [StateActionEnum.DELETE]: transitionUpdateApprovalPendingStatusDeleteAction,
267
+ [api_1.StateActionEnum.APPROVE]: transitionUpdateApprovalPendingStatusApproveAction,
268
+ [api_1.StateActionEnum.REJECT]: transitionUpdateApprovalPendingStatusRejectAction,
269
+ [api_1.StateActionEnum.RECALL]: transitionUpdateApprovalPendingStatusRecallAction,
270
+ // [StateActionEnum.DEACTIVATE]: transitionUpdateApprovalPendingStatusDeactivateAction,
75
271
  },
76
272
  },
77
- [state_status_enum_1.StateStatusEnum.DEACTIVE]: {
273
+ [state_status_enum_1.StateStatusEnum.DELETE_APPROVAL_PENDING]: {
78
274
  actions: {
79
- [api_1.StateActionEnum.VIEW]: createActionConfig(state_status_enum_1.StateStatusEnum.DEACTIVE, api_1.StateActionEnum.VIEW),
80
- [api_1.StateActionEnum.EDIT]: createActionConfig(state_status_enum_1.StateStatusEnum.ACTIVE, api_1.StateActionEnum.EDIT),
81
- [api_1.StateActionEnum.DELETE]: createActionConfig(state_status_enum_1.StateStatusEnum.INACTIVE, api_1.StateActionEnum.DELETE),
275
+ // [StateActionEnum.CREATE]: transitionDeleteApprovalPendingStatusCreateAction,
276
+ // [StateActionEnum.UPDATE]: transitionDeleteApprovalPendingStatusUpdateAction,
277
+ // [StateActionEnum.DELETE]: transitionDeleteApprovalPendingStatusDeleteAction,
278
+ [api_1.StateActionEnum.APPROVE]: transitionDeleteApprovalPendingStatusApproveAction,
279
+ [api_1.StateActionEnum.REJECT]: transitionDeleteApprovalPendingStatusRejectAction,
280
+ [api_1.StateActionEnum.RECALL]: transitionDeleteApprovalPendingStatusRecallAction,
281
+ // [StateActionEnum.DEACTIVATE]: transitionDeleteApprovalPendingStatusDeactivateAction,
82
282
  },
83
283
  },
84
- [state_status_enum_1.StateStatusEnum.INACTIVE]: {
284
+ [state_status_enum_1.StateStatusEnum.RESOLVED_REJECTED]: {
85
285
  actions: {
86
- [api_1.StateActionEnum.VIEW]: createActionConfig(state_status_enum_1.StateStatusEnum.INACTIVE, api_1.StateActionEnum.VIEW),
87
- [api_1.StateActionEnum.CREATE]: createActionConfig(state_status_enum_1.StateStatusEnum.ACTIVE, api_1.StateActionEnum.CREATE),
286
+ // [StateActionEnum.CREATE]: transitionResolvedRejectedStatusCreateAction,
287
+ [api_1.StateActionEnum.UPDATE]: transitionResolvedRejectedStatusUpdateAction,
288
+ [api_1.StateActionEnum.DELETE]: transitionResolvedRejectedStatusDeleteAction,
289
+ // [StateActionEnum.APPROVE]: transitionResolvedRejectedStatusApproveAction,
290
+ // [StateActionEnum.REJECT]: transitionResolvedRejectedStatusRejectAction,
291
+ // [StateActionEnum.RECALL]: transitionResolvedRejectedStatusRecallAction,
292
+ [api_1.StateActionEnum.DEACTIVATE]: transitionResolvedRejectedStatusDeactivateAction,
88
293
  },
89
294
  },
90
295
  };
@@ -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>;