law-common 11.1.1-beta.9 → 11.2.0

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 (45) hide show
  1. package/README.md +1 -1
  2. package/dist/src/api/index.d.ts +0 -2
  3. package/dist/src/api/index.js +0 -2
  4. package/dist/src/api/interface/state.update.dto.interface.d.ts +3 -6
  5. package/dist/src/api/interface/state.update.dto.interface.js +2 -6
  6. package/dist/src/api/interface/vendor_invoice.create.dto.interface.d.ts +1 -1
  7. package/dist/src/api/interface/vendor_invoice.update.dto.interface.d.ts +1 -2
  8. package/dist/src/entities/enums/state_status_enum.d.ts +3 -10
  9. package/dist/src/entities/enums/state_status_enum.js +3 -13
  10. package/dist/src/entities/enums/vendor_invoice_action.enum.d.ts +0 -1
  11. package/dist/src/entities/enums/vendor_invoice_action.enum.js +0 -1
  12. package/dist/src/entities/flow-configs/state_flow.config.js +58 -263
  13. package/dist/src/entities/flow-configs/vendor-invoice-flow.config.d.ts +2 -11
  14. package/dist/src/entities/flow-configs/vendor-invoice-flow.config.js +190 -117
  15. package/dist/src/entities/index.d.ts +0 -5
  16. package/dist/src/entities/index.js +0 -5
  17. package/dist/src/entities/interface/entity.utils.interface.d.ts +2 -5
  18. package/dist/src/entities/interface/entity.utils.interface.js +0 -1
  19. package/dist/src/entities/interface/vendor_invoice.entity.interface.d.ts +0 -2
  20. package/dist/src/entities/model/bank.entity.model.d.ts +1 -0
  21. package/dist/src/entities/model/bank.entity.model.js +7 -0
  22. package/dist/src/entities/model/billing.entity.model.js +7 -7
  23. package/dist/src/entities/model/entity.model.interface.js +0 -2
  24. package/dist/src/entities/model/project.entity.model.d.ts +1 -1
  25. package/dist/src/entities/model/project.entity.model.js +1 -1
  26. package/dist/src/entities/model/state.entity.model.js +1 -1
  27. package/dist/src/entities/model/vendor_invoice.entity.model.d.ts +2 -5
  28. package/dist/src/entities/model/vendor_invoice.entity.model.js +48 -96
  29. package/dist/src/enums/error.key.enum.d.ts +1 -2
  30. package/dist/src/enums/error.key.enum.js +0 -1
  31. package/package.json +42 -47
  32. package/dist/src/api/interface/vendor_invoice_payment.create.dto.interface.d.ts +0 -5
  33. package/dist/src/api/interface/vendor_invoice_payment.create.dto.interface.js +0 -2
  34. package/dist/src/api/interface/vendor_invoice_payment.update.dto.interface.d.ts +0 -18
  35. package/dist/src/api/interface/vendor_invoice_payment.update.dto.interface.js +0 -13
  36. package/dist/src/entities/enums/vendor_invoice_payment_mode_enum.d.ts +0 -7
  37. package/dist/src/entities/enums/vendor_invoice_payment_mode_enum.js +0 -11
  38. package/dist/src/entities/enums/vendor_invoice_payment_status_enum.d.ts +0 -10
  39. package/dist/src/entities/enums/vendor_invoice_payment_status_enum.js +0 -14
  40. package/dist/src/entities/flow-configs/vendor_invoice_payment_flow.config.d.ts +0 -6
  41. package/dist/src/entities/flow-configs/vendor_invoice_payment_flow.config.js +0 -205
  42. package/dist/src/entities/interface/vendor_invoice_payment.entity.interface.d.ts +0 -14
  43. package/dist/src/entities/interface/vendor_invoice_payment.entity.interface.js +0 -2
  44. package/dist/src/entities/model/vendor_invoice_payment.entity.model.d.ts +0 -62
  45. package/dist/src/entities/model/vendor_invoice_payment.entity.model.js +0 -209
package/README.md CHANGED
@@ -1 +1 @@
1
- # law-common
1
+ # law-common
@@ -101,7 +101,5 @@ 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";
106
104
  export * from "./interface/leave_approval.create.dto.interface";
107
105
  export * from "./interface/leave_approval.update.dto.interface";
@@ -121,7 +121,5 @@ __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);
126
124
  __exportStar(require("./interface/leave_approval.create.dto.interface"), exports);
127
125
  __exportStar(require("./interface/leave_approval.update.dto.interface"), exports);
@@ -8,11 +8,8 @@ export interface IStateActionDataDto {
8
8
  remark?: string;
9
9
  }
10
10
  export declare enum StateActionEnum {
11
- UPDATE = "update",
11
+ VIEW = "view",
12
+ EDIT = "edit",
12
13
  DELETE = "delete",
13
- CREATE = "create",
14
- APPROVE = "approve",
15
- REJECT = "reject",
16
- RECALL = "recall",
17
- DEACTIVATE = "deactivate"
14
+ CREATE = "create"
18
15
  }
@@ -3,12 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StateActionEnum = void 0;
4
4
  var StateActionEnum;
5
5
  (function (StateActionEnum) {
6
- // VIEW = "view",
7
- StateActionEnum["UPDATE"] = "update";
6
+ StateActionEnum["VIEW"] = "view";
7
+ StateActionEnum["EDIT"] = "edit";
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";
14
10
  })(StateActionEnum || (exports.StateActionEnum = StateActionEnum = {}));
@@ -2,7 +2,7 @@ import { IEntityCreateDto, Nullable } from "../../entities";
2
2
  import { IAppFileConfig, IFilePayload, MulterFileWithUrl } from "../../misc";
3
3
  import { IVendorInvoiceEntity } from "../../entities/interface/vendor_invoice.entity.interface";
4
4
  import { IVendorInvoiceItemCreateDto } from "./vendor_invoice_item.create.dto.interface";
5
- export type IVendorInvoiceCreateExclude = "status" | "actionStatus" | "invoiceDocuments" | "remark" | "paidAmount" | "adjustedAmount";
5
+ export type IVendorInvoiceCreateExclude = "status" | "actionStatus" | "invoiceDocuments" | "remark";
6
6
  export interface IVendorInvoiceCreateDto extends Omit<IEntityCreateDto<IVendorInvoiceEntity>, IVendorInvoiceCreateExclude> {
7
7
  invoiceDocuments?: Nullable<MulterFileWithUrl[]>;
8
8
  files: IFilePayload[];
@@ -1,4 +1,4 @@
1
- import { EntityEnum, EnumEntityType, VendorInvoiceActionEnum, VendorInvoiceActionStatusEnum, VendorInvoicePaymentEntityModel } from "../../entities";
1
+ import { EntityEnum, EnumEntityType, VendorInvoiceActionEnum, VendorInvoiceActionStatusEnum } from "../../entities";
2
2
  import { IDeleteDocumentDetails } from "../../misc";
3
3
  import { DeepPartialButRequired } from "./api.utils.interface";
4
4
  import { IVendorInvoiceCreateDto } from "./vendor_invoice.create.dto.interface";
@@ -10,5 +10,4 @@ export type IVendorInvoiceUpdateDto = DeepPartialButRequired<IVendorInvoiceCreat
10
10
  export interface IVendorInvoiceActionDataDto {
11
11
  action: VendorInvoiceActionEnum;
12
12
  remark?: string;
13
- vendorInvoicePayment?: VendorInvoicePaymentEntityModel;
14
13
  }
@@ -1,12 +1,5 @@
1
1
  export declare enum StateStatusEnum {
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"
2
+ ACTIVE = "ACTIVE",
3
+ DEACTIVE = "DEACTIVE",
4
+ INACTIVE = "INACTIVE"
12
5
  }
@@ -3,17 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StateStatusEnum = void 0;
4
4
  var StateStatusEnum;
5
5
  (function (StateStatusEnum) {
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";
6
+ StateStatusEnum["ACTIVE"] = "ACTIVE";
7
+ StateStatusEnum["DEACTIVE"] = "DEACTIVE";
8
+ StateStatusEnum["INACTIVE"] = "INACTIVE";
19
9
  })(StateStatusEnum || (exports.StateStatusEnum = StateStatusEnum = {}));
@@ -5,6 +5,5 @@ export declare enum VendorInvoiceActionEnum {
5
5
  CREATE = "create",
6
6
  APPROVE = "approve",
7
7
  REJECT = "reject",
8
- PAYMENT = "payment",
9
8
  UPDATE_PAYMENT = "update_payment"
10
9
  }
@@ -9,7 +9,6 @@ var VendorInvoiceActionEnum;
9
9
  VendorInvoiceActionEnum["CREATE"] = "create";
10
10
  VendorInvoiceActionEnum["APPROVE"] = "approve";
11
11
  VendorInvoiceActionEnum["REJECT"] = "reject";
12
- VendorInvoiceActionEnum["PAYMENT"] = "payment";
13
12
  VendorInvoiceActionEnum["UPDATE_PAYMENT"] = "update_payment";
14
13
  // RECALL = "recall",
15
14
  // VIEW = "view",
@@ -3,293 +3,88 @@ 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");
7
6
  /**
8
7
  * State Flow Configuration - Status transition rules for state master.
9
8
  *
10
9
  * @example
11
10
  * // Simple transition (fixed target status)
12
- * createActionConfig(StateStatusEnum.APPROVED, StateActionEnum.APPROVE)
11
+ * createActionConfig(StateStatusEnum.INACTIVE, StateActionEnum.DELETE)
13
12
  *
14
13
  * @example
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
- * )
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)
20
20
  *
21
21
  * @example
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,
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
26
38
  * )
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,
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
34
46
  * )
35
47
  */
36
48
  const STATE_CREATE_PERMISSION = ["STATE_CREATE"];
37
49
  const STATE_UPDATE_PERMISSION = ["STATE_UPDATE"];
38
50
  const STATE_DELETE_PERMISSION = ["STATE_DELETE"];
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
- },
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;
78
57
  };
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);
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,
63
+ };
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;
183
69
  exports.stateFlowConfig = {
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]: {
70
+ [state_status_enum_1.StateStatusEnum.ACTIVE]: {
263
71
  actions: {
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,
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),
271
75
  },
272
76
  },
273
- [state_status_enum_1.StateStatusEnum.DELETE_APPROVAL_PENDING]: {
77
+ [state_status_enum_1.StateStatusEnum.DEACTIVE]: {
274
78
  actions: {
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,
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),
282
82
  },
283
83
  },
284
- [state_status_enum_1.StateStatusEnum.RESOLVED_REJECTED]: {
84
+ [state_status_enum_1.StateStatusEnum.INACTIVE]: {
285
85
  actions: {
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,
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),
293
88
  },
294
89
  },
295
90
  };
@@ -1,11 +1,2 @@
1
- import { FlowConfig } from "./flow-config.type";
2
- import { VendorInvoiceActionEnum } from "../enums/vendor_invoice_action.enum";
3
- import { VendorInvoiceActionStatusEnum } from "../enums/vendor_invoice_action_status_enum";
4
- import { VendorInvoicePaymentEntityModel } from "../model/vendor_invoice_payment.entity.model";
5
- import { VendorInvoiceEntityModel } from "../model/vendor_invoice.entity.model";
6
- export interface IVendorInvoiceFlowConfigContextData {
7
- vendorInvoicePayment?: VendorInvoicePaymentEntityModel;
8
- existingVendorInvoice?: VendorInvoiceEntityModel;
9
- vendorInvoicePayments?: VendorInvoicePaymentEntityModel[];
10
- }
11
- export declare const vendorInvoiceFlowConfig: FlowConfig<VendorInvoiceActionStatusEnum, VendorInvoiceActionEnum, IVendorInvoiceFlowConfigContextData>;
1
+ import { IVendorInvoiceFlowConfig } from "../../api";
2
+ export declare const vendorInvoiceFlowConfig: IVendorInvoiceFlowConfig;