law-common 13.0.1-beta.2 → 13.0.1-beta.20

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 (72) hide show
  1. package/dist/src/api/interface/client_affiliate.create.dto.interface.d.ts +1 -1
  2. package/dist/src/api/interface/client_quote_rate.create.dto.interface.d.ts +2 -1
  3. package/dist/src/api/interface/document_upload.create.dto.interface.d.ts +2 -1
  4. package/dist/src/api/interface/intermediary_bank.create.dto.interface.d.ts +2 -1
  5. package/dist/src/api/interface/intermediary_bank.update.dto.interface.d.ts +1 -1
  6. package/dist/src/api/interface/office_location.create.dto.interface.d.ts +3 -1
  7. package/dist/src/api/interface/office_location.update.dto.interface.d.ts +2 -1
  8. package/dist/src/api/interface/timesheet.entity.response.interface.d.ts +7 -13
  9. package/dist/src/api/interface/to_do_list.create.dto.interface.d.ts +3 -1
  10. package/dist/src/api/interface/to_do_list.update.dto.interface.d.ts +2 -1
  11. package/dist/src/entities/enums/billing_profile_status_enum.d.ts +5 -0
  12. package/dist/src/entities/enums/billing_profile_status_enum.js +9 -0
  13. package/dist/src/entities/enums/client_affiliate_status_enum.d.ts +5 -0
  14. package/dist/src/entities/enums/client_affiliate_status_enum.js +9 -0
  15. package/dist/src/entities/enums/client_quote_rate_status_enum.d.ts +5 -0
  16. package/dist/src/entities/enums/client_quote_rate_status_enum.js +9 -0
  17. package/dist/src/entities/enums/document_upload_status_enum.d.ts +5 -0
  18. package/dist/src/entities/enums/document_upload_status_enum.js +9 -0
  19. package/dist/src/entities/enums/expense_type_status_enum.d.ts +5 -0
  20. package/dist/src/entities/enums/expense_type_status_enum.js +9 -0
  21. package/dist/src/entities/enums/intermediary_bank_status_enum.d.ts +5 -0
  22. package/dist/src/entities/enums/intermediary_bank_status_enum.js +9 -0
  23. package/dist/src/entities/enums/office_location_status_enum.d.ts +5 -0
  24. package/dist/src/entities/enums/office_location_status_enum.js +9 -0
  25. package/dist/src/entities/enums/to_do_list_status_enum.d.ts +5 -0
  26. package/dist/src/entities/enums/to_do_list_status_enum.js +9 -0
  27. package/dist/src/entities/flow-configs/base-flow-config.factory.d.ts +20 -1
  28. package/dist/src/entities/flow-configs/base-flow-config.factory.js +1 -16
  29. package/dist/src/entities/flow-configs/{billing.flow.config.d.ts → billing_flow.config.d.ts} +1 -1
  30. package/dist/src/entities/flow-configs/billing_flow.config.js +305 -0
  31. package/dist/src/entities/flow-configs/billing_transaction_flow.config.d.ts +24 -0
  32. package/dist/src/entities/flow-configs/billing_transaction_flow.config.js +111 -0
  33. package/dist/src/entities/flow-configs/flow-config.type.d.ts +14 -0
  34. package/dist/src/entities/flow-configs/timesheet_flow.config.d.ts +5 -0
  35. package/dist/src/entities/flow-configs/timesheet_flow.config.js +420 -0
  36. package/dist/src/entities/index.d.ts +11 -2
  37. package/dist/src/entities/index.js +11 -2
  38. package/dist/src/entities/interface/billing_profile.entity.interface.d.ts +2 -0
  39. package/dist/src/entities/interface/client_affiliate.entity.interface.d.ts +2 -0
  40. package/dist/src/entities/interface/client_quote_rate.entity.interface.d.ts +2 -0
  41. package/dist/src/entities/interface/document_upload.entity.interface.d.ts +2 -0
  42. package/dist/src/entities/interface/expense_type.entity.interface.d.ts +2 -0
  43. package/dist/src/entities/interface/field-constraint/billing_profile_field_constraints.interface.d.ts +2 -2
  44. package/dist/src/entities/interface/field-constraint/client_affiliate_field_constraints.interface.d.ts +1 -1
  45. package/dist/src/entities/interface/field-constraint/client_quote_rate_field_constraints.interface.d.ts +1 -1
  46. package/dist/src/entities/interface/field-constraint/document_upload_field_constraints.interface.d.ts +1 -1
  47. package/dist/src/entities/interface/field-constraint/expense_type_field_constraints.interface.d.ts +2 -2
  48. package/dist/src/entities/interface/field-constraint/office_location_field_constraints.interface.d.ts +3 -1
  49. package/dist/src/entities/interface/field-constraint/to_do_list_field_constraints.interface.d.ts +1 -1
  50. package/dist/src/entities/interface/intermediary_bank.entity.interface.d.ts +2 -0
  51. package/dist/src/entities/interface/office_location.entity.interface.d.ts +2 -0
  52. package/dist/src/entities/interface/to_do_list.entity.interface.d.ts +2 -0
  53. package/dist/src/entities/model/billing_profile.entity.model.d.ts +2 -0
  54. package/dist/src/entities/model/billing_profile.entity.model.js +2 -0
  55. package/dist/src/entities/model/client_affiliate.entity.model.d.ts +2 -1
  56. package/dist/src/entities/model/client_affiliate.entity.model.js +1 -0
  57. package/dist/src/entities/model/client_quote_rate.entity.model.d.ts +2 -0
  58. package/dist/src/entities/model/client_quote_rate.entity.model.js +2 -0
  59. package/dist/src/entities/model/document_upload.entity.model.d.ts +2 -0
  60. package/dist/src/entities/model/document_upload.entity.model.js +2 -0
  61. package/dist/src/entities/model/expense_type.entity.model.d.ts +2 -0
  62. package/dist/src/entities/model/expense_type.entity.model.js +2 -0
  63. package/dist/src/entities/model/intermediary_bank.entity.model.d.ts +2 -0
  64. package/dist/src/entities/model/intermediary_bank.entity.model.js +2 -0
  65. package/dist/src/entities/model/office_location.entity.model.d.ts +2 -0
  66. package/dist/src/entities/model/office_location.entity.model.js +2 -0
  67. package/dist/src/entities/model/to_do_list.entity.model.d.ts +2 -0
  68. package/dist/src/entities/model/to_do_list.entity.model.js +2 -0
  69. package/package.json +1 -1
  70. package/dist/src/entities/flow-configs/billing.flow.config.js +0 -209
  71. package/dist/src/entities/flow-configs/billing_transaction.flow.config.d.ts +0 -19
  72. package/dist/src/entities/flow-configs/billing_transaction.flow.config.js +0 -83
@@ -1,6 +1,6 @@
1
1
  import { IClientAffiliateEntity, IEntityCreateDto } from "../../entities";
2
2
  import { IAppFileConfig } from "../../misc";
3
- export type IClientAffiliateExclude = "panDocument" | "gstDocument" | "tanDocument";
3
+ export type IClientAffiliateExclude = "panDocument" | "gstDocument" | "tanDocument" | "status";
4
4
  export interface IClientAffiliateCreateDto extends Omit<IEntityCreateDto<IClientAffiliateEntity>, IClientAffiliateExclude> {
5
5
  }
6
6
  export declare const clientAffiliateDocumentFileUploadConfig: IAppFileConfig[];
@@ -1,5 +1,6 @@
1
1
  import { IEntityCreateDto } from "../../entities";
2
2
  import { IClientQuoteRateEntity } from "../../entities/interface/client_quote_rate.entity.interface";
3
- export type IClientQuoteRateCreateExclude = never;
3
+ /** status is set by the entity flow, never by the client */
4
+ export type IClientQuoteRateCreateExclude = "status";
4
5
  export interface IClientQuoteRateCreateDto extends Omit<IEntityCreateDto<IClientQuoteRateEntity>, IClientQuoteRateCreateExclude> {
5
6
  }
@@ -1,7 +1,8 @@
1
1
  import { IEntityCreateDto, Nullable } from "../../entities";
2
2
  import { IAppFileConfig, IFilePayload, MulterFileWithUrl } from "../../misc";
3
3
  import { IDocumentUploadEntity } from "../../entities/interface/document_upload.entity.interface";
4
- export type IDocumentUploadCreateExclude = "gstDocument" | "additionalDocuments";
4
+ /** status is set by the entity flow, never by the client */
5
+ export type IDocumentUploadCreateExclude = "gstDocument" | "additionalDocuments" | "status";
5
6
  export interface IDocumentUploadCreateDto extends Omit<IEntityCreateDto<IDocumentUploadEntity>, IDocumentUploadCreateExclude> {
6
7
  gstDocument?: Nullable<MulterFileWithUrl>;
7
8
  additionalDocuments?: Nullable<MulterFileWithUrl[]>;
@@ -1,5 +1,6 @@
1
1
  import { IEntityCreateDto, IIntermediaryBankEntity } from "../../entities";
2
- export type IIntermediaryBankCreateDtoExclude = "bankId";
2
+ /** status is set by the entity flow, never by the client */
3
+ export type IIntermediaryBankCreateDtoExclude = "bankId" | "status";
3
4
  export interface IIntermediaryBankCreateDto extends Omit<IEntityCreateDto<IIntermediaryBankEntity>, IIntermediaryBankCreateDtoExclude> {
4
5
  bankId?: number;
5
6
  }
@@ -1,4 +1,4 @@
1
1
  import { IEntityUpdateDto, IIntermediaryBankEntity } from "../../entities";
2
- export interface IIntermediaryBankUpdateDto extends IEntityUpdateDto<IIntermediaryBankEntity> {
2
+ export interface IIntermediaryBankUpdateDto extends Omit<IEntityUpdateDto<IIntermediaryBankEntity>, "status"> {
3
3
  id?: number;
4
4
  }
@@ -1,3 +1,5 @@
1
1
  import { IEntityCreateDto, IOfficeLocationEntity } from "../../entities";
2
- export interface IOfficeLocationCreateDto extends IEntityCreateDto<IOfficeLocationEntity> {
2
+ /** status is set by the entity flow, never by the client */
3
+ export type IOfficeLocationExclude = "status";
4
+ export interface IOfficeLocationCreateDto extends Omit<IEntityCreateDto<IOfficeLocationEntity>, IOfficeLocationExclude> {
3
5
  }
@@ -1,3 +1,4 @@
1
1
  import { IEntityUpdateDto, IOfficeLocationEntity } from "../../entities";
2
- export interface IOfficeLocationUpdateDto extends IEntityUpdateDto<IOfficeLocationEntity> {
2
+ import { IOfficeLocationExclude } from "./office_location.create.dto.interface";
3
+ export interface IOfficeLocationUpdateDto extends Omit<IEntityUpdateDto<IOfficeLocationEntity>, IOfficeLocationExclude> {
3
4
  }
@@ -1,4 +1,4 @@
1
- import { IProjectUserMappingEntity, ITimesheetEntity, IUserEntity, TimesheetActionEnum, TimesheetEntityModel, TimesheetStatusEnum } from "../../entities";
1
+ import { FlowConfig, IProjectUserMappingEntity, ITimesheetEntity, IUserEntity, TimesheetActionEnum, TimesheetEntityModel, TimesheetStatusEnum } from "../../entities";
2
2
  import { IClientApiEntityDependent } from "./client.entity.response";
3
3
  import { IProjectApiEntityDependent } from "./project.entity.response";
4
4
  import { ITimesheetEntityUpdateDto } from "./timesheet.update.dto.interface";
@@ -15,18 +15,12 @@ export type ITimesheetEntityGet = {
15
15
  };
16
16
  tasks: string[];
17
17
  };
18
- export type ITimesheetFlowConfig = {
19
- [key in TimesheetStatusEnum]?: {
20
- actions: {
21
- [key in TimesheetActionEnum]?: {
22
- permissions: string[];
23
- isApplicable?: (data: ITimesheetFlowContextData) => boolean;
24
- next: (data: ITimesheetFlowContextData) => TimesheetStatusEnum;
25
- validActionPastThreshold?: boolean;
26
- };
27
- };
28
- };
29
- };
18
+ /**
19
+ * LW-828: this used to re-declare the flow-config shape by hand. It is now an alias of the shared
20
+ * `FlowConfig`, whose action config carries the optional `isApplicable` and `validActionPastThreshold`
21
+ * this entity relies on. Kept as a named type so every existing consumer keeps compiling unchanged.
22
+ */
23
+ export type ITimesheetFlowConfig = FlowConfig<TimesheetStatusEnum, TimesheetActionEnum, ITimesheetFlowContextData>;
30
24
  export type ITimesheetFlowContextData = {
31
25
  currentTimesheet?: TimesheetEntityModel;
32
26
  projectUserMapping?: IProjectUserMappingEntity;
@@ -1,3 +1,5 @@
1
1
  import { IEntityCreateDto, IToDoListEntity } from "../../entities";
2
- export interface IToDoListCreateDto extends IEntityCreateDto<IToDoListEntity> {
2
+ /** status is set by the entity flow, never by the client */
3
+ export type IToDoListExclude = "status";
4
+ export interface IToDoListCreateDto extends Omit<IEntityCreateDto<IToDoListEntity>, IToDoListExclude> {
3
5
  }
@@ -1,5 +1,6 @@
1
1
  import { IEntityUpdateDto, IToDoListEntity } from "../../entities";
2
- export interface IToDoListUpdateDto extends IEntityUpdateDto<IToDoListEntity> {
2
+ import { IToDoListExclude } from "./to_do_list.create.dto.interface";
3
+ export interface IToDoListUpdateDto extends Omit<IEntityUpdateDto<IToDoListEntity>, IToDoListExclude> {
3
4
  }
4
5
  export interface IToDoListEntityUpdateDtoValidationData {
5
6
  toDoListEntity: IToDoListEntity;
@@ -0,0 +1,5 @@
1
+ export declare enum BillingProfileStatusEnum {
2
+ APPROVED = "APPROVED",
3
+ DEACTIVATED = "DEACTIVATED",
4
+ DELETED = "DELETED"
5
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BillingProfileStatusEnum = void 0;
4
+ var BillingProfileStatusEnum;
5
+ (function (BillingProfileStatusEnum) {
6
+ BillingProfileStatusEnum["APPROVED"] = "APPROVED";
7
+ BillingProfileStatusEnum["DEACTIVATED"] = "DEACTIVATED";
8
+ BillingProfileStatusEnum["DELETED"] = "DELETED";
9
+ })(BillingProfileStatusEnum || (exports.BillingProfileStatusEnum = BillingProfileStatusEnum = {}));
@@ -0,0 +1,5 @@
1
+ export declare enum ClientAffiliateStatusEnum {
2
+ APPROVED = "APPROVED",
3
+ DEACTIVATED = "DEACTIVATED",
4
+ DELETED = "DELETED"
5
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientAffiliateStatusEnum = void 0;
4
+ var ClientAffiliateStatusEnum;
5
+ (function (ClientAffiliateStatusEnum) {
6
+ ClientAffiliateStatusEnum["APPROVED"] = "APPROVED";
7
+ ClientAffiliateStatusEnum["DEACTIVATED"] = "DEACTIVATED";
8
+ ClientAffiliateStatusEnum["DELETED"] = "DELETED";
9
+ })(ClientAffiliateStatusEnum || (exports.ClientAffiliateStatusEnum = ClientAffiliateStatusEnum = {}));
@@ -0,0 +1,5 @@
1
+ export declare enum ClientQuoteRateStatusEnum {
2
+ APPROVED = "APPROVED",
3
+ DEACTIVATED = "DEACTIVATED",
4
+ DELETED = "DELETED"
5
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientQuoteRateStatusEnum = void 0;
4
+ var ClientQuoteRateStatusEnum;
5
+ (function (ClientQuoteRateStatusEnum) {
6
+ ClientQuoteRateStatusEnum["APPROVED"] = "APPROVED";
7
+ ClientQuoteRateStatusEnum["DEACTIVATED"] = "DEACTIVATED";
8
+ ClientQuoteRateStatusEnum["DELETED"] = "DELETED";
9
+ })(ClientQuoteRateStatusEnum || (exports.ClientQuoteRateStatusEnum = ClientQuoteRateStatusEnum = {}));
@@ -0,0 +1,5 @@
1
+ export declare enum DocumentUploadStatusEnum {
2
+ APPROVED = "APPROVED",
3
+ DEACTIVATED = "DEACTIVATED",
4
+ DELETED = "DELETED"
5
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DocumentUploadStatusEnum = void 0;
4
+ var DocumentUploadStatusEnum;
5
+ (function (DocumentUploadStatusEnum) {
6
+ DocumentUploadStatusEnum["APPROVED"] = "APPROVED";
7
+ DocumentUploadStatusEnum["DEACTIVATED"] = "DEACTIVATED";
8
+ DocumentUploadStatusEnum["DELETED"] = "DELETED";
9
+ })(DocumentUploadStatusEnum || (exports.DocumentUploadStatusEnum = DocumentUploadStatusEnum = {}));
@@ -0,0 +1,5 @@
1
+ export declare enum ExpenseTypeStatusEnum {
2
+ APPROVED = "APPROVED",
3
+ DEACTIVATED = "DEACTIVATED",
4
+ DELETED = "DELETED"
5
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExpenseTypeStatusEnum = void 0;
4
+ var ExpenseTypeStatusEnum;
5
+ (function (ExpenseTypeStatusEnum) {
6
+ ExpenseTypeStatusEnum["APPROVED"] = "APPROVED";
7
+ ExpenseTypeStatusEnum["DEACTIVATED"] = "DEACTIVATED";
8
+ ExpenseTypeStatusEnum["DELETED"] = "DELETED";
9
+ })(ExpenseTypeStatusEnum || (exports.ExpenseTypeStatusEnum = ExpenseTypeStatusEnum = {}));
@@ -0,0 +1,5 @@
1
+ export declare enum IntermediaryBankStatusEnum {
2
+ APPROVED = "APPROVED",
3
+ DEACTIVATED = "DEACTIVATED",
4
+ DELETED = "DELETED"
5
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IntermediaryBankStatusEnum = void 0;
4
+ var IntermediaryBankStatusEnum;
5
+ (function (IntermediaryBankStatusEnum) {
6
+ IntermediaryBankStatusEnum["APPROVED"] = "APPROVED";
7
+ IntermediaryBankStatusEnum["DEACTIVATED"] = "DEACTIVATED";
8
+ IntermediaryBankStatusEnum["DELETED"] = "DELETED";
9
+ })(IntermediaryBankStatusEnum || (exports.IntermediaryBankStatusEnum = IntermediaryBankStatusEnum = {}));
@@ -0,0 +1,5 @@
1
+ export declare enum OfficeLocationStatusEnum {
2
+ APPROVED = "APPROVED",
3
+ DEACTIVATED = "DEACTIVATED",
4
+ DELETED = "DELETED"
5
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OfficeLocationStatusEnum = void 0;
4
+ var OfficeLocationStatusEnum;
5
+ (function (OfficeLocationStatusEnum) {
6
+ OfficeLocationStatusEnum["APPROVED"] = "APPROVED";
7
+ OfficeLocationStatusEnum["DEACTIVATED"] = "DEACTIVATED";
8
+ OfficeLocationStatusEnum["DELETED"] = "DELETED";
9
+ })(OfficeLocationStatusEnum || (exports.OfficeLocationStatusEnum = OfficeLocationStatusEnum = {}));
@@ -0,0 +1,5 @@
1
+ export declare enum ToDoListStatusEnum {
2
+ APPROVED = "APPROVED",
3
+ DEACTIVATED = "DEACTIVATED",
4
+ DELETED = "DELETED"
5
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ToDoListStatusEnum = void 0;
4
+ var ToDoListStatusEnum;
5
+ (function (ToDoListStatusEnum) {
6
+ ToDoListStatusEnum["APPROVED"] = "APPROVED";
7
+ ToDoListStatusEnum["DEACTIVATED"] = "DEACTIVATED";
8
+ ToDoListStatusEnum["DELETED"] = "DELETED";
9
+ })(ToDoListStatusEnum || (exports.ToDoListStatusEnum = ToDoListStatusEnum = {}));
@@ -107,8 +107,27 @@ export type ActionMap<A extends string, S extends string> = {
107
107
  *
108
108
  * @returns A function that accepts an `ActionMap` and returns `createActionConfig`.
109
109
  */
110
+ /**
111
+ * Optional per-transition extras. Both are spread onto the action config only when supplied, so a
112
+ * call site that does not pass them produces exactly the object it produced before this argument
113
+ * existed — the sixteen already-converted flow configs are byte-identical.
114
+ *
115
+ * @property isApplicable runtime guard evaluated against the same context as `next()`
116
+ * @property validActionPastThreshold whether the action survives a consumer's data-entry threshold
117
+ * @property description human-readable copy for this transition. Already part of
118
+ * `IFlowConfigActionConfig` and rendered by the entity-flow
119
+ * component, so a converted config must be able to emit it.
120
+ */
121
+ export type ActionConfigOptions<CTX> = {
122
+ isApplicable?: (context: CTX) => boolean;
123
+ validActionPastThreshold?: boolean;
124
+ description?: string;
125
+ };
110
126
  export declare function createFlowConfigFactory<CTX = never>(): <A extends string, S extends string, AM extends ActionMap<A, S>>(actionMap: AM) => {
111
- createActionConfig: <Act extends A, Subset extends { [key in A]: AM[key]["reachableStatues"]; }[Act][number] = { [key in A]: AM[key]["reachableStatues"]; }[Act][number]>(action: Act, nextStatus: Subset | ((context: CTX) => Subset), overridePermissions?: string[]) => {
127
+ createActionConfig: <Act extends A, Subset extends { [key in A]: AM[key]["reachableStatues"]; }[Act][number] = { [key in A]: AM[key]["reachableStatues"]; }[Act][number]>(action: Act, nextStatus: Subset | ((context: CTX) => Subset), overridePermissions?: string[], options?: ActionConfigOptions<CTX>) => {
128
+ description?: string | undefined;
129
+ validActionPastThreshold?: boolean | undefined;
130
+ isApplicable?: ((context: CTX) => boolean) | undefined;
112
131
  permissions: string[];
113
132
  next: (context: CTX) => Subset;
114
133
  };
@@ -75,18 +75,6 @@
75
75
  */
76
76
  Object.defineProperty(exports, "__esModule", { value: true });
77
77
  exports.createFlowConfigFactory = createFlowConfigFactory;
78
- /**
79
- * Curried factory — call with the context-data type first, then pass the
80
- * action map. This two-step pattern lets TypeScript infer the precise action
81
- * map type (preserving `as const` tuple narrowing) while still allowing the
82
- * caller to set the context-data type explicitly.
83
- *
84
- * @template CTX - Shape of the context object passed to function-based
85
- * transition resolvers. Use `never` for flows where `next()`
86
- * needs no runtime data (equivalent to `() => status`).
87
- *
88
- * @returns A function that accepts an `ActionMap` and returns `createActionConfig`.
89
- */
90
78
  function createFlowConfigFactory() {
91
79
  return function (actionMap) {
92
80
  const createTransition = (transition) => (context) => {
@@ -111,10 +99,7 @@ function createFlowConfigFactory() {
111
99
  * (currentStatus, action) pair. Must be a subtype of
112
100
  * `StatusForAction<Act>`.
113
101
  */
114
- const createActionConfig = (action, nextStatus, overridePermissions) => ({
115
- permissions: overridePermissions !== null && overridePermissions !== void 0 ? overridePermissions : actionMap[action].permissions,
116
- next: createTransition(nextStatus),
117
- });
102
+ const createActionConfig = (action, nextStatus, overridePermissions, options) => (Object.assign(Object.assign(Object.assign({ permissions: overridePermissions !== null && overridePermissions !== void 0 ? overridePermissions : actionMap[action].permissions, next: createTransition(nextStatus) }, ((options === null || options === void 0 ? void 0 : options.isApplicable) !== undefined ? { isApplicable: options.isApplicable } : {})), ((options === null || options === void 0 ? void 0 : options.validActionPastThreshold) !== undefined ? { validActionPastThreshold: options.validActionPastThreshold } : {})), ((options === null || options === void 0 ? void 0 : options.description) !== undefined ? { description: options.description } : {})));
118
103
  return { createActionConfig, createTransition };
119
104
  };
120
105
  }
@@ -2,5 +2,5 @@ import { IBillingFlowContextData } from "../../api";
2
2
  import { BillingActionsEnum } from "../enums/billing_action_enum";
3
3
  import { BillingStatusEnum } from "../enums/billing_status_enum";
4
4
  import { FlowConfig } from "./flow-config.type";
5
- export declare let billingFlowConfig: FlowConfig<BillingStatusEnum, BillingActionsEnum, IBillingFlowContextData>;
5
+ export declare const billingFlowConfig: FlowConfig<BillingStatusEnum, BillingActionsEnum, IBillingFlowContextData>;
6
6
  export declare function getNextStatusTotalAmount(data: IBillingFlowContextData): BillingStatusEnum;