law-common 13.0.3-beta.1 → 13.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.
@@ -0,0 +1,8 @@
1
+ export declare enum ClientQuoteRateActionEnum {
2
+ CREATE = "CREATE",
3
+ UPDATE = "UPDATE",
4
+ DELETE = "DELETE",
5
+ DEACTIVATE = "DEACTIVATE",
6
+ ACTIVATE = "ACTIVATE",
7
+ RESTORE = "RESTORE"
8
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientQuoteRateActionEnum = void 0;
4
+ var ClientQuoteRateActionEnum;
5
+ (function (ClientQuoteRateActionEnum) {
6
+ ClientQuoteRateActionEnum["CREATE"] = "CREATE";
7
+ ClientQuoteRateActionEnum["UPDATE"] = "UPDATE";
8
+ ClientQuoteRateActionEnum["DELETE"] = "DELETE";
9
+ ClientQuoteRateActionEnum["DEACTIVATE"] = "DEACTIVATE";
10
+ ClientQuoteRateActionEnum["ACTIVATE"] = "ACTIVATE";
11
+ ClientQuoteRateActionEnum["RESTORE"] = "RESTORE";
12
+ // APPROVE = "APPROVE",
13
+ // REJECT = "REJECT",
14
+ // RECALL = "RECALL",
15
+ // REQUEST_CHANGES = "REQUEST_CHANGES",
16
+ // CHANGES_DONE = "CHANGES_DONE",
17
+ })(ClientQuoteRateActionEnum || (exports.ClientQuoteRateActionEnum = ClientQuoteRateActionEnum = {}));
@@ -0,0 +1,8 @@
1
+ export declare enum DocumentUploadActionEnum {
2
+ CREATE = "CREATE",
3
+ UPDATE = "UPDATE",
4
+ DELETE = "DELETE",
5
+ DEACTIVATE = "DEACTIVATE",
6
+ ACTIVATE = "ACTIVATE",
7
+ RESTORE = "RESTORE"
8
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DocumentUploadActionEnum = void 0;
4
+ var DocumentUploadActionEnum;
5
+ (function (DocumentUploadActionEnum) {
6
+ DocumentUploadActionEnum["CREATE"] = "CREATE";
7
+ DocumentUploadActionEnum["UPDATE"] = "UPDATE";
8
+ DocumentUploadActionEnum["DELETE"] = "DELETE";
9
+ DocumentUploadActionEnum["DEACTIVATE"] = "DEACTIVATE";
10
+ DocumentUploadActionEnum["ACTIVATE"] = "ACTIVATE";
11
+ DocumentUploadActionEnum["RESTORE"] = "RESTORE";
12
+ // APPROVE = "APPROVE",
13
+ // REJECT = "REJECT",
14
+ // RECALL = "RECALL",
15
+ // REQUEST_CHANGES = "REQUEST_CHANGES",
16
+ // CHANGES_DONE = "CHANGES_DONE",
17
+ })(DocumentUploadActionEnum || (exports.DocumentUploadActionEnum = DocumentUploadActionEnum = {}));
@@ -0,0 +1,8 @@
1
+ export declare enum HolidayListActionEnum {
2
+ CREATE = "CREATE",
3
+ UPDATE = "UPDATE",
4
+ DELETE = "DELETE",
5
+ DEACTIVATE = "DEACTIVATE",
6
+ ACTIVATE = "ACTIVATE",
7
+ RESTORE = "RESTORE"
8
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HolidayListActionEnum = void 0;
4
+ var HolidayListActionEnum;
5
+ (function (HolidayListActionEnum) {
6
+ HolidayListActionEnum["CREATE"] = "CREATE";
7
+ HolidayListActionEnum["UPDATE"] = "UPDATE";
8
+ HolidayListActionEnum["DELETE"] = "DELETE";
9
+ HolidayListActionEnum["DEACTIVATE"] = "DEACTIVATE";
10
+ HolidayListActionEnum["ACTIVATE"] = "ACTIVATE";
11
+ HolidayListActionEnum["RESTORE"] = "RESTORE";
12
+ // APPROVE = "APPROVE",
13
+ // REJECT = "REJECT",
14
+ // RECALL = "RECALL",
15
+ // REQUEST_CHANGES = "REQUEST_CHANGES",
16
+ // CHANGES_DONE = "CHANGES_DONE",
17
+ })(HolidayListActionEnum || (exports.HolidayListActionEnum = HolidayListActionEnum = {}));
@@ -0,0 +1,6 @@
1
+ import { FlowConfig } from "./flow-config.type";
2
+ import { ClientQuoteRateActionEnum } from "../enums/client_quote_rate_action_enum";
3
+ import { ClientQuoteRateStatusEnum } from "../enums/client_quote_rate_status_enum";
4
+ export interface IClientQuoteRateFlowConfigContextData {
5
+ }
6
+ export declare const clientQuoteRateFlowConfig: FlowConfig<ClientQuoteRateStatusEnum, ClientQuoteRateActionEnum, IClientQuoteRateFlowConfigContextData>;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.clientQuoteRateFlowConfig = void 0;
4
+ const base_flow_config_factory_1 = require("./base-flow-config.factory");
5
+ const client_quote_rate_action_enum_1 = require("../enums/client_quote_rate_action_enum");
6
+ const client_quote_rate_status_enum_1 = require("../enums/client_quote_rate_status_enum");
7
+ const CLIENT_QUOTE_RATE_CREATE_PERMISSION = ["CLIENT_QUOTE_RATE_CREATE"];
8
+ const CLIENT_QUOTE_RATE_UPDATE_PERMISSION = ["CLIENT_QUOTE_RATE_UPDATE"];
9
+ const CLIENT_QUOTE_RATE_DELETE_PERMISSION = ["CLIENT_QUOTE_RATE_DELETE"];
10
+ const CLIENT_QUOTE_RATE_DEACTIVATE_PERMISSION = ["CLIENT_QUOTE_RATE_DEACTIVATE"];
11
+ const CLIENT_QUOTE_RATE_ACTIVATE_PERMISSION = ["CLIENT_QUOTE_RATE_ACTIVATE"];
12
+ const CLIENT_QUOTE_RATE_RESTORE_PERMISSION = ["CLIENT_QUOTE_RATE_RESTORE"];
13
+ const ACTION_MAP = {
14
+ [client_quote_rate_action_enum_1.ClientQuoteRateActionEnum.CREATE]: {
15
+ reachableStatues: [client_quote_rate_status_enum_1.ClientQuoteRateStatusEnum.APPROVED],
16
+ permissions: CLIENT_QUOTE_RATE_CREATE_PERMISSION,
17
+ },
18
+ [client_quote_rate_action_enum_1.ClientQuoteRateActionEnum.UPDATE]: {
19
+ reachableStatues: [client_quote_rate_status_enum_1.ClientQuoteRateStatusEnum.APPROVED],
20
+ permissions: CLIENT_QUOTE_RATE_UPDATE_PERMISSION,
21
+ },
22
+ [client_quote_rate_action_enum_1.ClientQuoteRateActionEnum.DELETE]: {
23
+ reachableStatues: [client_quote_rate_status_enum_1.ClientQuoteRateStatusEnum.DELETED],
24
+ permissions: CLIENT_QUOTE_RATE_DELETE_PERMISSION,
25
+ },
26
+ [client_quote_rate_action_enum_1.ClientQuoteRateActionEnum.DEACTIVATE]: {
27
+ reachableStatues: [client_quote_rate_status_enum_1.ClientQuoteRateStatusEnum.DEACTIVATED],
28
+ permissions: CLIENT_QUOTE_RATE_DEACTIVATE_PERMISSION,
29
+ },
30
+ [client_quote_rate_action_enum_1.ClientQuoteRateActionEnum.ACTIVATE]: {
31
+ reachableStatues: [client_quote_rate_status_enum_1.ClientQuoteRateStatusEnum.APPROVED],
32
+ permissions: CLIENT_QUOTE_RATE_ACTIVATE_PERMISSION,
33
+ },
34
+ [client_quote_rate_action_enum_1.ClientQuoteRateActionEnum.RESTORE]: {
35
+ reachableStatues: [client_quote_rate_status_enum_1.ClientQuoteRateStatusEnum.APPROVED],
36
+ permissions: CLIENT_QUOTE_RATE_RESTORE_PERMISSION,
37
+ },
38
+ };
39
+ const { createActionConfig } = (0, base_flow_config_factory_1.createFlowConfigFactory)()(ACTION_MAP);
40
+ // APPROVED status transitions
41
+ const transitionApprovedStatusUpdateAction = createActionConfig(client_quote_rate_action_enum_1.ClientQuoteRateActionEnum.UPDATE, client_quote_rate_status_enum_1.ClientQuoteRateStatusEnum.APPROVED);
42
+ const transitionApprovedStatusDeleteAction = createActionConfig(client_quote_rate_action_enum_1.ClientQuoteRateActionEnum.DELETE, client_quote_rate_status_enum_1.ClientQuoteRateStatusEnum.DELETED);
43
+ const transitionApprovedStatusDeactivateAction = createActionConfig(client_quote_rate_action_enum_1.ClientQuoteRateActionEnum.DEACTIVATE, client_quote_rate_status_enum_1.ClientQuoteRateStatusEnum.DEACTIVATED);
44
+ // DEACTIVATED status transitions
45
+ const transitionDeactivatedStatusDeleteAction = createActionConfig(client_quote_rate_action_enum_1.ClientQuoteRateActionEnum.DELETE, client_quote_rate_status_enum_1.ClientQuoteRateStatusEnum.DELETED);
46
+ const transitionDeactivatedStatusActivateAction = createActionConfig(client_quote_rate_action_enum_1.ClientQuoteRateActionEnum.ACTIVATE, client_quote_rate_status_enum_1.ClientQuoteRateStatusEnum.APPROVED);
47
+ // DELETED status transitions
48
+ const transitionDeletedStatusUpdateAction = createActionConfig(client_quote_rate_action_enum_1.ClientQuoteRateActionEnum.UPDATE, client_quote_rate_status_enum_1.ClientQuoteRateStatusEnum.APPROVED);
49
+ const transitionDeletedStatusRestoreAction = createActionConfig(client_quote_rate_action_enum_1.ClientQuoteRateActionEnum.RESTORE, client_quote_rate_status_enum_1.ClientQuoteRateStatusEnum.APPROVED);
50
+ exports.clientQuoteRateFlowConfig = {
51
+ [client_quote_rate_status_enum_1.ClientQuoteRateStatusEnum.APPROVED]: {
52
+ actions: {
53
+ [client_quote_rate_action_enum_1.ClientQuoteRateActionEnum.UPDATE]: transitionApprovedStatusUpdateAction,
54
+ [client_quote_rate_action_enum_1.ClientQuoteRateActionEnum.DELETE]: transitionApprovedStatusDeleteAction,
55
+ [client_quote_rate_action_enum_1.ClientQuoteRateActionEnum.DEACTIVATE]: transitionApprovedStatusDeactivateAction,
56
+ },
57
+ },
58
+ [client_quote_rate_status_enum_1.ClientQuoteRateStatusEnum.DEACTIVATED]: {
59
+ actions: {
60
+ [client_quote_rate_action_enum_1.ClientQuoteRateActionEnum.DELETE]: transitionDeactivatedStatusDeleteAction,
61
+ [client_quote_rate_action_enum_1.ClientQuoteRateActionEnum.ACTIVATE]: transitionDeactivatedStatusActivateAction,
62
+ },
63
+ },
64
+ [client_quote_rate_status_enum_1.ClientQuoteRateStatusEnum.DELETED]: {
65
+ actions: {
66
+ [client_quote_rate_action_enum_1.ClientQuoteRateActionEnum.UPDATE]: transitionDeletedStatusUpdateAction,
67
+ [client_quote_rate_action_enum_1.ClientQuoteRateActionEnum.RESTORE]: transitionDeletedStatusRestoreAction,
68
+ },
69
+ },
70
+ };
@@ -0,0 +1,6 @@
1
+ import { FlowConfig } from "./flow-config.type";
2
+ import { DocumentUploadActionEnum } from "../enums/document_upload_action_enum";
3
+ import { DocumentUploadStatusEnum } from "../enums/document_upload_status_enum";
4
+ export interface IDocumentUploadFlowConfigContextData {
5
+ }
6
+ export declare const documentUploadFlowConfig: FlowConfig<DocumentUploadStatusEnum, DocumentUploadActionEnum, IDocumentUploadFlowConfigContextData>;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.documentUploadFlowConfig = void 0;
4
+ const base_flow_config_factory_1 = require("./base-flow-config.factory");
5
+ const document_upload_action_enum_1 = require("../enums/document_upload_action_enum");
6
+ const document_upload_status_enum_1 = require("../enums/document_upload_status_enum");
7
+ const DOCUMENT_UPLOAD_CREATE_PERMISSION = ["DOCUMENT_UPLOAD_CREATE"];
8
+ const DOCUMENT_UPLOAD_UPDATE_PERMISSION = ["DOCUMENT_UPLOAD_UPDATE"];
9
+ const DOCUMENT_UPLOAD_DELETE_PERMISSION = ["DOCUMENT_UPLOAD_DELETE"];
10
+ const DOCUMENT_UPLOAD_DEACTIVATE_PERMISSION = ["DOCUMENT_UPLOAD_DEACTIVATE"];
11
+ const DOCUMENT_UPLOAD_ACTIVATE_PERMISSION = ["DOCUMENT_UPLOAD_ACTIVATE"];
12
+ const DOCUMENT_UPLOAD_RESTORE_PERMISSION = ["DOCUMENT_UPLOAD_RESTORE"];
13
+ const ACTION_MAP = {
14
+ [document_upload_action_enum_1.DocumentUploadActionEnum.CREATE]: {
15
+ reachableStatues: [document_upload_status_enum_1.DocumentUploadStatusEnum.APPROVED],
16
+ permissions: DOCUMENT_UPLOAD_CREATE_PERMISSION,
17
+ },
18
+ [document_upload_action_enum_1.DocumentUploadActionEnum.UPDATE]: {
19
+ reachableStatues: [document_upload_status_enum_1.DocumentUploadStatusEnum.APPROVED],
20
+ permissions: DOCUMENT_UPLOAD_UPDATE_PERMISSION,
21
+ },
22
+ [document_upload_action_enum_1.DocumentUploadActionEnum.DELETE]: {
23
+ reachableStatues: [document_upload_status_enum_1.DocumentUploadStatusEnum.DELETED],
24
+ permissions: DOCUMENT_UPLOAD_DELETE_PERMISSION,
25
+ },
26
+ [document_upload_action_enum_1.DocumentUploadActionEnum.DEACTIVATE]: {
27
+ reachableStatues: [document_upload_status_enum_1.DocumentUploadStatusEnum.DEACTIVATED],
28
+ permissions: DOCUMENT_UPLOAD_DEACTIVATE_PERMISSION,
29
+ },
30
+ [document_upload_action_enum_1.DocumentUploadActionEnum.ACTIVATE]: {
31
+ reachableStatues: [document_upload_status_enum_1.DocumentUploadStatusEnum.APPROVED],
32
+ permissions: DOCUMENT_UPLOAD_ACTIVATE_PERMISSION,
33
+ },
34
+ [document_upload_action_enum_1.DocumentUploadActionEnum.RESTORE]: {
35
+ reachableStatues: [document_upload_status_enum_1.DocumentUploadStatusEnum.APPROVED],
36
+ permissions: DOCUMENT_UPLOAD_RESTORE_PERMISSION,
37
+ },
38
+ };
39
+ const { createActionConfig } = (0, base_flow_config_factory_1.createFlowConfigFactory)()(ACTION_MAP);
40
+ // APPROVED status transitions
41
+ const transitionApprovedStatusUpdateAction = createActionConfig(document_upload_action_enum_1.DocumentUploadActionEnum.UPDATE, document_upload_status_enum_1.DocumentUploadStatusEnum.APPROVED);
42
+ const transitionApprovedStatusDeleteAction = createActionConfig(document_upload_action_enum_1.DocumentUploadActionEnum.DELETE, document_upload_status_enum_1.DocumentUploadStatusEnum.DELETED);
43
+ const transitionApprovedStatusDeactivateAction = createActionConfig(document_upload_action_enum_1.DocumentUploadActionEnum.DEACTIVATE, document_upload_status_enum_1.DocumentUploadStatusEnum.DEACTIVATED);
44
+ // DEACTIVATED status transitions
45
+ const transitionDeactivatedStatusDeleteAction = createActionConfig(document_upload_action_enum_1.DocumentUploadActionEnum.DELETE, document_upload_status_enum_1.DocumentUploadStatusEnum.DELETED);
46
+ const transitionDeactivatedStatusActivateAction = createActionConfig(document_upload_action_enum_1.DocumentUploadActionEnum.ACTIVATE, document_upload_status_enum_1.DocumentUploadStatusEnum.APPROVED);
47
+ // DELETED status transitions
48
+ const transitionDeletedStatusUpdateAction = createActionConfig(document_upload_action_enum_1.DocumentUploadActionEnum.UPDATE, document_upload_status_enum_1.DocumentUploadStatusEnum.APPROVED);
49
+ const transitionDeletedStatusRestoreAction = createActionConfig(document_upload_action_enum_1.DocumentUploadActionEnum.RESTORE, document_upload_status_enum_1.DocumentUploadStatusEnum.APPROVED);
50
+ exports.documentUploadFlowConfig = {
51
+ [document_upload_status_enum_1.DocumentUploadStatusEnum.APPROVED]: {
52
+ actions: {
53
+ [document_upload_action_enum_1.DocumentUploadActionEnum.UPDATE]: transitionApprovedStatusUpdateAction,
54
+ [document_upload_action_enum_1.DocumentUploadActionEnum.DELETE]: transitionApprovedStatusDeleteAction,
55
+ [document_upload_action_enum_1.DocumentUploadActionEnum.DEACTIVATE]: transitionApprovedStatusDeactivateAction,
56
+ },
57
+ },
58
+ [document_upload_status_enum_1.DocumentUploadStatusEnum.DEACTIVATED]: {
59
+ actions: {
60
+ [document_upload_action_enum_1.DocumentUploadActionEnum.DELETE]: transitionDeactivatedStatusDeleteAction,
61
+ [document_upload_action_enum_1.DocumentUploadActionEnum.ACTIVATE]: transitionDeactivatedStatusActivateAction,
62
+ },
63
+ },
64
+ [document_upload_status_enum_1.DocumentUploadStatusEnum.DELETED]: {
65
+ actions: {
66
+ [document_upload_action_enum_1.DocumentUploadActionEnum.UPDATE]: transitionDeletedStatusUpdateAction,
67
+ [document_upload_action_enum_1.DocumentUploadActionEnum.RESTORE]: transitionDeletedStatusRestoreAction,
68
+ },
69
+ },
70
+ };
@@ -0,0 +1,6 @@
1
+ import { FlowConfig } from "./flow-config.type";
2
+ import { HolidayListActionEnum } from "../enums/holiday_list_action_enum";
3
+ import { HolidayListStatusEnum } from "../enums/holiday_list_status_enum";
4
+ export interface IHolidayListFlowConfigContextData {
5
+ }
6
+ export declare const holidayListFlowConfig: FlowConfig<HolidayListStatusEnum, HolidayListActionEnum, IHolidayListFlowConfigContextData>;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.holidayListFlowConfig = void 0;
4
+ const base_flow_config_factory_1 = require("./base-flow-config.factory");
5
+ const holiday_list_action_enum_1 = require("../enums/holiday_list_action_enum");
6
+ const holiday_list_status_enum_1 = require("../enums/holiday_list_status_enum");
7
+ const HOLIDAY_LIST_CREATE_PERMISSION = ["HOLIDAY_LIST_CREATE"];
8
+ const HOLIDAY_LIST_UPDATE_PERMISSION = ["HOLIDAY_LIST_UPDATE"];
9
+ const HOLIDAY_LIST_DELETE_PERMISSION = ["HOLIDAY_LIST_DELETE"];
10
+ const HOLIDAY_LIST_DEACTIVATE_PERMISSION = ["HOLIDAY_LIST_DEACTIVATE"];
11
+ const HOLIDAY_LIST_ACTIVATE_PERMISSION = ["HOLIDAY_LIST_ACTIVATE"];
12
+ const HOLIDAY_LIST_RESTORE_PERMISSION = ["HOLIDAY_LIST_RESTORE"];
13
+ const ACTION_MAP = {
14
+ [holiday_list_action_enum_1.HolidayListActionEnum.CREATE]: {
15
+ reachableStatues: [holiday_list_status_enum_1.HolidayListStatusEnum.APPROVED],
16
+ permissions: HOLIDAY_LIST_CREATE_PERMISSION,
17
+ },
18
+ [holiday_list_action_enum_1.HolidayListActionEnum.UPDATE]: {
19
+ reachableStatues: [holiday_list_status_enum_1.HolidayListStatusEnum.APPROVED],
20
+ permissions: HOLIDAY_LIST_UPDATE_PERMISSION,
21
+ },
22
+ [holiday_list_action_enum_1.HolidayListActionEnum.DELETE]: {
23
+ reachableStatues: [holiday_list_status_enum_1.HolidayListStatusEnum.DELETED],
24
+ permissions: HOLIDAY_LIST_DELETE_PERMISSION,
25
+ },
26
+ [holiday_list_action_enum_1.HolidayListActionEnum.DEACTIVATE]: {
27
+ reachableStatues: [holiday_list_status_enum_1.HolidayListStatusEnum.DEACTIVATED],
28
+ permissions: HOLIDAY_LIST_DEACTIVATE_PERMISSION,
29
+ },
30
+ [holiday_list_action_enum_1.HolidayListActionEnum.ACTIVATE]: {
31
+ reachableStatues: [holiday_list_status_enum_1.HolidayListStatusEnum.APPROVED],
32
+ permissions: HOLIDAY_LIST_ACTIVATE_PERMISSION,
33
+ },
34
+ [holiday_list_action_enum_1.HolidayListActionEnum.RESTORE]: {
35
+ reachableStatues: [holiday_list_status_enum_1.HolidayListStatusEnum.APPROVED],
36
+ permissions: HOLIDAY_LIST_RESTORE_PERMISSION,
37
+ },
38
+ };
39
+ const { createActionConfig } = (0, base_flow_config_factory_1.createFlowConfigFactory)()(ACTION_MAP);
40
+ // APPROVED status transitions
41
+ const transitionApprovedStatusUpdateAction = createActionConfig(holiday_list_action_enum_1.HolidayListActionEnum.UPDATE, holiday_list_status_enum_1.HolidayListStatusEnum.APPROVED);
42
+ const transitionApprovedStatusDeleteAction = createActionConfig(holiday_list_action_enum_1.HolidayListActionEnum.DELETE, holiday_list_status_enum_1.HolidayListStatusEnum.DELETED);
43
+ const transitionApprovedStatusDeactivateAction = createActionConfig(holiday_list_action_enum_1.HolidayListActionEnum.DEACTIVATE, holiday_list_status_enum_1.HolidayListStatusEnum.DEACTIVATED);
44
+ // DEACTIVATED status transitions
45
+ const transitionDeactivatedStatusDeleteAction = createActionConfig(holiday_list_action_enum_1.HolidayListActionEnum.DELETE, holiday_list_status_enum_1.HolidayListStatusEnum.DELETED);
46
+ const transitionDeactivatedStatusActivateAction = createActionConfig(holiday_list_action_enum_1.HolidayListActionEnum.ACTIVATE, holiday_list_status_enum_1.HolidayListStatusEnum.APPROVED);
47
+ // DELETED status transitions
48
+ const transitionDeletedStatusUpdateAction = createActionConfig(holiday_list_action_enum_1.HolidayListActionEnum.UPDATE, holiday_list_status_enum_1.HolidayListStatusEnum.APPROVED);
49
+ const transitionDeletedStatusRestoreAction = createActionConfig(holiday_list_action_enum_1.HolidayListActionEnum.RESTORE, holiday_list_status_enum_1.HolidayListStatusEnum.APPROVED);
50
+ exports.holidayListFlowConfig = {
51
+ [holiday_list_status_enum_1.HolidayListStatusEnum.APPROVED]: {
52
+ actions: {
53
+ [holiday_list_action_enum_1.HolidayListActionEnum.UPDATE]: transitionApprovedStatusUpdateAction,
54
+ [holiday_list_action_enum_1.HolidayListActionEnum.DELETE]: transitionApprovedStatusDeleteAction,
55
+ [holiday_list_action_enum_1.HolidayListActionEnum.DEACTIVATE]: transitionApprovedStatusDeactivateAction,
56
+ },
57
+ },
58
+ [holiday_list_status_enum_1.HolidayListStatusEnum.DEACTIVATED]: {
59
+ actions: {
60
+ [holiday_list_action_enum_1.HolidayListActionEnum.DELETE]: transitionDeactivatedStatusDeleteAction,
61
+ [holiday_list_action_enum_1.HolidayListActionEnum.ACTIVATE]: transitionDeactivatedStatusActivateAction,
62
+ },
63
+ },
64
+ [holiday_list_status_enum_1.HolidayListStatusEnum.DELETED]: {
65
+ actions: {
66
+ [holiday_list_action_enum_1.HolidayListActionEnum.UPDATE]: transitionDeletedStatusUpdateAction,
67
+ [holiday_list_action_enum_1.HolidayListActionEnum.RESTORE]: transitionDeletedStatusRestoreAction,
68
+ },
69
+ },
70
+ };
@@ -115,7 +115,10 @@ export * from "./enums/holiday_status_enum";
115
115
  export * from "./flow-configs/holiday_flow.config";
116
116
  export * from "./interface/holiday.entity.interface";
117
117
  export * from "./interface/field-constraint/holiday_field_constraints.interface";
118
+ export * from "./enums/holiday_list_action_enum";
118
119
  export * from "./enums/holiday_list_status_enum";
120
+ export * from "./flow-configs/holiday_list_flow.config";
121
+ export * from "./model/holiday_list.entity.model";
119
122
  export * from "./interface/holiday_list.entity.interface";
120
123
  export * from "./interface/field-constraint/holiday_list_field_constraints.interface";
121
124
  export * from "./enums/configuration_key_enum";
@@ -211,7 +214,9 @@ export * from "./enums/invoice_number_prefix_enum";
211
214
  export * from "./model/intermediary_bank.entity.model";
212
215
  export * from "./enums/billing_status_category.enum";
213
216
  export * from "./enums/billing_summarry_export_type.enum";
217
+ export * from "./enums/document_upload_action_enum";
214
218
  export * from "./enums/document_upload_status_enum";
219
+ export * from "./flow-configs/document_upload_flow.config";
215
220
  export * from "./interface/document_upload.entity.interface";
216
221
  export * from "./interface/field-constraint/document_upload_field_constraints.interface";
217
222
  export * from "./model/document_upload.entity.model";
@@ -253,7 +258,9 @@ export * from "./enums/client_quote_rate_type_enum";
253
258
  export * from "./enums/client_quote_status_enum";
254
259
  export * from "./interface/client_quote.entity.interface";
255
260
  export * from "./interface/field-constraint/client_quote_field_constraints.interface";
261
+ export * from "./enums/client_quote_rate_action_enum";
256
262
  export * from "./enums/client_quote_rate_status_enum";
263
+ export * from "./flow-configs/client_quote_rate_flow.config";
257
264
  export * from "./interface/client_quote_rate.entity.interface";
258
265
  export * from "./interface/field-constraint/client_quote_rate_field_constraints.interface";
259
266
  export * from "./model/client_quote.entity.model";
@@ -131,7 +131,10 @@ __exportStar(require("./enums/holiday_status_enum"), exports);
131
131
  __exportStar(require("./flow-configs/holiday_flow.config"), exports);
132
132
  __exportStar(require("./interface/holiday.entity.interface"), exports);
133
133
  __exportStar(require("./interface/field-constraint/holiday_field_constraints.interface"), exports);
134
+ __exportStar(require("./enums/holiday_list_action_enum"), exports);
134
135
  __exportStar(require("./enums/holiday_list_status_enum"), exports);
136
+ __exportStar(require("./flow-configs/holiday_list_flow.config"), exports);
137
+ __exportStar(require("./model/holiday_list.entity.model"), exports);
135
138
  __exportStar(require("./interface/holiday_list.entity.interface"), exports);
136
139
  __exportStar(require("./interface/field-constraint/holiday_list_field_constraints.interface"), exports);
137
140
  __exportStar(require("./enums/configuration_key_enum"), exports);
@@ -227,7 +230,9 @@ __exportStar(require("./enums/invoice_number_prefix_enum"), exports);
227
230
  __exportStar(require("./model/intermediary_bank.entity.model"), exports);
228
231
  __exportStar(require("./enums/billing_status_category.enum"), exports);
229
232
  __exportStar(require("./enums/billing_summarry_export_type.enum"), exports);
233
+ __exportStar(require("./enums/document_upload_action_enum"), exports);
230
234
  __exportStar(require("./enums/document_upload_status_enum"), exports);
235
+ __exportStar(require("./flow-configs/document_upload_flow.config"), exports);
231
236
  __exportStar(require("./interface/document_upload.entity.interface"), exports);
232
237
  __exportStar(require("./interface/field-constraint/document_upload_field_constraints.interface"), exports);
233
238
  __exportStar(require("./model/document_upload.entity.model"), exports);
@@ -269,7 +274,9 @@ __exportStar(require("./enums/client_quote_rate_type_enum"), exports);
269
274
  __exportStar(require("./enums/client_quote_status_enum"), exports);
270
275
  __exportStar(require("./interface/client_quote.entity.interface"), exports);
271
276
  __exportStar(require("./interface/field-constraint/client_quote_field_constraints.interface"), exports);
277
+ __exportStar(require("./enums/client_quote_rate_action_enum"), exports);
272
278
  __exportStar(require("./enums/client_quote_rate_status_enum"), exports);
279
+ __exportStar(require("./flow-configs/client_quote_rate_flow.config"), exports);
273
280
  __exportStar(require("./interface/client_quote_rate.entity.interface"), exports);
274
281
  __exportStar(require("./interface/field-constraint/client_quote_rate_field_constraints.interface"), exports);
275
282
  __exportStar(require("./model/client_quote.entity.model"), exports);
@@ -1,3 +1,8 @@
1
+ import { ClientQuoteRateActionEnum } from "../enums/client_quote_rate_action_enum";
2
+ import { IClientQuoteRateFlowConfigContextData } from "../flow-configs/client_quote_rate_flow.config";
3
+ import { IUserEntity } from "../interface/user.entity.interface";
4
+ import { IRowActions } from "./interface/row-actions.interface";
5
+ import { UserEntityModel } from "./user.entity.model";
1
6
  import { EntityEnum } from "../interface/entity.utils.interface";
2
7
  import { RelationConfigs } from "../interface/relation-config.interface";
3
8
  import { BaseEntityModel } from "./base.entity.model";
@@ -21,4 +26,15 @@ export declare class ClientQuoteRateEntityModel extends BaseEntityModel<EntityEn
21
26
  static relationConfigs: RelationConfigs<[EntityEnum.CLIENT_QUOTE], EntityEnum.CLIENT_QUOTE_RATE>;
22
27
  static fromEntity(entity: IClientQuoteRateEntity): ClientQuoteRateEntityModel;
23
28
  getRelationConfigs(): any[];
29
+ getNextStatus(currentUser: IUserEntity, action: ClientQuoteRateActionEnum, clientQuoteRateFlowConfigContextData: IClientQuoteRateFlowConfigContextData): ClientQuoteRateStatusEnum;
30
+ getAvailableActions(currentUser: UserEntityModel, config?: {
31
+ combinedActions?: Record<string, {
32
+ combineActions: ClientQuoteRateActionEnum[];
33
+ label: string;
34
+ }>;
35
+ customLabels?: Partial<Record<ClientQuoteRateActionEnum, string>>;
36
+ }): IRowActions<EntityEnum.CLIENT_QUOTE_RATE>[];
37
+ getUpdateActionVisibility(currentUser: UserEntityModel): {
38
+ [key: string]: () => boolean;
39
+ };
24
40
  }
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ClientQuoteRateEntityModel = void 0;
4
+ const error_key_enum_1 = require("../../enums/error.key.enum");
5
+ const exceptions_1 = require("../../exceptions");
6
+ const utils_1 = require("../../utils");
7
+ const client_quote_rate_flow_config_1 = require("../flow-configs/client_quote_rate_flow.config");
4
8
  const entity_utils_interface_1 = require("../interface/entity.utils.interface");
5
9
  const base_entity_model_1 = require("./base.entity.model");
6
10
  const client_quote_rate_status_enum_1 = require("../enums/client_quote_rate_status_enum");
@@ -29,6 +33,64 @@ class ClientQuoteRateEntityModel extends base_entity_model_1.BaseEntityModel {
29
33
  getRelationConfigs() {
30
34
  return this.constructor.prototype.constructor.relationConfigs || [];
31
35
  }
36
+ getNextStatus(currentUser, action, clientQuoteRateFlowConfigContextData) {
37
+ if (!this.status) {
38
+ throw new exceptions_1.AppBadRequestException({
39
+ key: error_key_enum_1.ErrorKeyEnum.STATUS,
40
+ message: [`Status not found: ${this.status}`],
41
+ });
42
+ }
43
+ const flowForStatus = client_quote_rate_flow_config_1.clientQuoteRateFlowConfig[this.status];
44
+ if (!flowForStatus) {
45
+ throw new exceptions_1.AppBadRequestException({
46
+ key: error_key_enum_1.ErrorKeyEnum.STATUS,
47
+ message: [`No flow configuration found for status: ${this.status}`],
48
+ });
49
+ }
50
+ if (!action) {
51
+ throw new exceptions_1.AppBadRequestException({
52
+ key: error_key_enum_1.ErrorKeyEnum.ACTION_DATA,
53
+ message: ["actionData is required"],
54
+ });
55
+ }
56
+ const matchingPermissionConfig = flowForStatus.actions[action];
57
+ if (!matchingPermissionConfig) {
58
+ throw new exceptions_1.AppBadRequestException({
59
+ key: error_key_enum_1.ErrorKeyEnum.ACTION,
60
+ message: [`Action '${action}' is not valid for the current status.`],
61
+ });
62
+ }
63
+ if (!currentUser.permissions || currentUser.permissions.length === 0) {
64
+ throw new exceptions_1.AppBadRequestException({
65
+ key: error_key_enum_1.ErrorKeyEnum.PERMISSIONS,
66
+ message: ["Permission not available for currentUser"],
67
+ });
68
+ }
69
+ const hasPermission = matchingPermissionConfig.permissions.some((permission) => currentUser.permissions.includes(permission));
70
+ if (!hasPermission) {
71
+ throw new exceptions_1.AppBadRequestException({
72
+ key: error_key_enum_1.ErrorKeyEnum.PERMISSION,
73
+ message: [`Current user does not have permission to ${action} client quote rate`],
74
+ });
75
+ }
76
+ const nextStatus = matchingPermissionConfig.next(clientQuoteRateFlowConfigContextData);
77
+ return nextStatus;
78
+ }
79
+ getAvailableActions(currentUser, config) {
80
+ var _a;
81
+ const params = {
82
+ flowConfig: client_quote_rate_flow_config_1.clientQuoteRateFlowConfig,
83
+ currentStatus: this.status,
84
+ userPermissions: (_a = currentUser.permissions) !== null && _a !== void 0 ? _a : [],
85
+ visibilityData: this.getUpdateActionVisibility.bind(this, currentUser),
86
+ combinedActions: config === null || config === void 0 ? void 0 : config.combinedActions,
87
+ customLabels: config === null || config === void 0 ? void 0 : config.customLabels,
88
+ };
89
+ return utils_1.EntityActionFlowResolverV2.getAvailableActionsData(params);
90
+ }
91
+ getUpdateActionVisibility(currentUser) {
92
+ return {};
93
+ }
32
94
  }
33
95
  exports.ClientQuoteRateEntityModel = ClientQuoteRateEntityModel;
34
96
  ClientQuoteRateEntityModel.relationConfigs = [
@@ -1,3 +1,8 @@
1
+ import { DocumentUploadActionEnum } from "../enums/document_upload_action_enum";
2
+ import { IDocumentUploadFlowConfigContextData } from "../flow-configs/document_upload_flow.config";
3
+ import { IUserEntity } from "../interface/user.entity.interface";
4
+ import { IRowActions } from "./interface/row-actions.interface";
5
+ import { UserEntityModel } from "./user.entity.model";
1
6
  import { DocumentUploadStatusEnum } from "../enums/document_upload_status_enum";
2
7
  import { EntityEnum } from "../interface/entity.utils.interface";
3
8
  import { BaseEntityModel } from "./base.entity.model";
@@ -17,4 +22,15 @@ export declare class DocumentUploadEntityModel extends BaseEntityModel<EntityEnu
17
22
  static relationConfigs: RelationConfigs<[], EntityEnum.DOCUMENT_UPLOAD>;
18
23
  static fromEntity(entity: IDocumentUploadEntity): DocumentUploadEntityModel;
19
24
  getRelationConfigs(): any[];
25
+ getNextStatus(currentUser: IUserEntity, action: DocumentUploadActionEnum, documentUploadFlowConfigContextData: IDocumentUploadFlowConfigContextData): DocumentUploadStatusEnum;
26
+ getAvailableActions(currentUser: UserEntityModel, config?: {
27
+ combinedActions?: Record<string, {
28
+ combineActions: DocumentUploadActionEnum[];
29
+ label: string;
30
+ }>;
31
+ customLabels?: Partial<Record<DocumentUploadActionEnum, string>>;
32
+ }): IRowActions<EntityEnum.DOCUMENT_UPLOAD>[];
33
+ getUpdateActionVisibility(currentUser: UserEntityModel): {
34
+ [key: string]: () => boolean;
35
+ };
20
36
  }
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DocumentUploadEntityModel = void 0;
4
+ const error_key_enum_1 = require("../../enums/error.key.enum");
5
+ const exceptions_1 = require("../../exceptions");
6
+ const utils_1 = require("../../utils");
7
+ const document_upload_flow_config_1 = require("../flow-configs/document_upload_flow.config");
4
8
  const document_upload_status_enum_1 = require("../enums/document_upload_status_enum");
5
9
  const entity_utils_interface_1 = require("../interface/entity.utils.interface");
6
10
  const base_entity_model_1 = require("./base.entity.model");
@@ -23,6 +27,64 @@ class DocumentUploadEntityModel extends base_entity_model_1.BaseEntityModel {
23
27
  getRelationConfigs() {
24
28
  return this.constructor.prototype.constructor.relationConfigs || [];
25
29
  }
30
+ getNextStatus(currentUser, action, documentUploadFlowConfigContextData) {
31
+ if (!this.status) {
32
+ throw new exceptions_1.AppBadRequestException({
33
+ key: error_key_enum_1.ErrorKeyEnum.STATUS,
34
+ message: [`Status not found: ${this.status}`],
35
+ });
36
+ }
37
+ const flowForStatus = document_upload_flow_config_1.documentUploadFlowConfig[this.status];
38
+ if (!flowForStatus) {
39
+ throw new exceptions_1.AppBadRequestException({
40
+ key: error_key_enum_1.ErrorKeyEnum.STATUS,
41
+ message: [`No flow configuration found for status: ${this.status}`],
42
+ });
43
+ }
44
+ if (!action) {
45
+ throw new exceptions_1.AppBadRequestException({
46
+ key: error_key_enum_1.ErrorKeyEnum.ACTION_DATA,
47
+ message: ["actionData is required"],
48
+ });
49
+ }
50
+ const matchingPermissionConfig = flowForStatus.actions[action];
51
+ if (!matchingPermissionConfig) {
52
+ throw new exceptions_1.AppBadRequestException({
53
+ key: error_key_enum_1.ErrorKeyEnum.ACTION,
54
+ message: [`Action '${action}' is not valid for the current status.`],
55
+ });
56
+ }
57
+ if (!currentUser.permissions || currentUser.permissions.length === 0) {
58
+ throw new exceptions_1.AppBadRequestException({
59
+ key: error_key_enum_1.ErrorKeyEnum.PERMISSIONS,
60
+ message: ["Permission not available for currentUser"],
61
+ });
62
+ }
63
+ const hasPermission = matchingPermissionConfig.permissions.some((permission) => currentUser.permissions.includes(permission));
64
+ if (!hasPermission) {
65
+ throw new exceptions_1.AppBadRequestException({
66
+ key: error_key_enum_1.ErrorKeyEnum.PERMISSION,
67
+ message: [`Current user does not have permission to ${action} document upload`],
68
+ });
69
+ }
70
+ const nextStatus = matchingPermissionConfig.next(documentUploadFlowConfigContextData);
71
+ return nextStatus;
72
+ }
73
+ getAvailableActions(currentUser, config) {
74
+ var _a;
75
+ const params = {
76
+ flowConfig: document_upload_flow_config_1.documentUploadFlowConfig,
77
+ currentStatus: this.status,
78
+ userPermissions: (_a = currentUser.permissions) !== null && _a !== void 0 ? _a : [],
79
+ visibilityData: this.getUpdateActionVisibility.bind(this, currentUser),
80
+ combinedActions: config === null || config === void 0 ? void 0 : config.combinedActions,
81
+ customLabels: config === null || config === void 0 ? void 0 : config.customLabels,
82
+ };
83
+ return utils_1.EntityActionFlowResolverV2.getAvailableActionsData(params);
84
+ }
85
+ getUpdateActionVisibility(currentUser) {
86
+ return {};
87
+ }
26
88
  }
27
89
  exports.DocumentUploadEntityModel = DocumentUploadEntityModel;
28
90
  DocumentUploadEntityModel.relationConfigs = [];
@@ -1,3 +1,8 @@
1
+ import { HolidayListActionEnum } from "../enums/holiday_list_action_enum";
2
+ import { IHolidayListFlowConfigContextData } from "../flow-configs/holiday_list_flow.config";
3
+ import { IUserEntity } from "../interface/user.entity.interface";
4
+ import { IRowActions } from "./interface/row-actions.interface";
5
+ import { UserEntityModel } from "./user.entity.model";
1
6
  import { HolidayListStatusEnum } from "../enums/holiday_list_status_enum";
2
7
  import { EntityEnum } from "../interface/entity.utils.interface";
3
8
  import { IHolidayListEntity } from "../interface/holiday_list.entity.interface";
@@ -14,4 +19,15 @@ export declare class HolidayListEntityModel extends BaseEntityModel<EntityEnum.H
14
19
  static relationConfigs: RelationConfigs<[], EntityEnum.HOLIDAY_LIST>;
15
20
  static fromEntity(entity: IHolidayListEntity): HolidayListEntityModel;
16
21
  getRelationConfigs(): [];
22
+ getNextStatus(currentUser: IUserEntity, action: HolidayListActionEnum, holidayListFlowConfigContextData: IHolidayListFlowConfigContextData): HolidayListStatusEnum;
23
+ getAvailableActions(currentUser: UserEntityModel, config?: {
24
+ combinedActions?: Record<string, {
25
+ combineActions: HolidayListActionEnum[];
26
+ label: string;
27
+ }>;
28
+ customLabels?: Partial<Record<HolidayListActionEnum, string>>;
29
+ }): IRowActions<EntityEnum.HOLIDAY_LIST>[];
30
+ getUpdateActionVisibility(currentUser: UserEntityModel): {
31
+ [key: string]: () => boolean;
32
+ };
17
33
  }
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HolidayListEntityModel = void 0;
4
+ const error_key_enum_1 = require("../../enums/error.key.enum");
5
+ const exceptions_1 = require("../../exceptions");
6
+ const utils_1 = require("../../utils");
7
+ const holiday_list_flow_config_1 = require("../flow-configs/holiday_list_flow.config");
4
8
  const holiday_list_status_enum_1 = require("../enums/holiday_list_status_enum");
5
9
  const entity_utils_interface_1 = require("../interface/entity.utils.interface");
6
10
  const base_entity_model_1 = require("./base.entity.model");
@@ -23,6 +27,64 @@ class HolidayListEntityModel extends base_entity_model_1.BaseEntityModel {
23
27
  getRelationConfigs() {
24
28
  return HolidayListEntityModel.relationConfigs;
25
29
  }
30
+ getNextStatus(currentUser, action, holidayListFlowConfigContextData) {
31
+ if (!this.status) {
32
+ throw new exceptions_1.AppBadRequestException({
33
+ key: error_key_enum_1.ErrorKeyEnum.STATUS,
34
+ message: [`Status not found: ${this.status}`],
35
+ });
36
+ }
37
+ const flowForStatus = holiday_list_flow_config_1.holidayListFlowConfig[this.status];
38
+ if (!flowForStatus) {
39
+ throw new exceptions_1.AppBadRequestException({
40
+ key: error_key_enum_1.ErrorKeyEnum.STATUS,
41
+ message: [`No flow configuration found for status: ${this.status}`],
42
+ });
43
+ }
44
+ if (!action) {
45
+ throw new exceptions_1.AppBadRequestException({
46
+ key: error_key_enum_1.ErrorKeyEnum.ACTION_DATA,
47
+ message: ["actionData is required"],
48
+ });
49
+ }
50
+ const matchingPermissionConfig = flowForStatus.actions[action];
51
+ if (!matchingPermissionConfig) {
52
+ throw new exceptions_1.AppBadRequestException({
53
+ key: error_key_enum_1.ErrorKeyEnum.ACTION,
54
+ message: [`Action '${action}' is not valid for the current status.`],
55
+ });
56
+ }
57
+ if (!currentUser.permissions || currentUser.permissions.length === 0) {
58
+ throw new exceptions_1.AppBadRequestException({
59
+ key: error_key_enum_1.ErrorKeyEnum.PERMISSIONS,
60
+ message: ["Permission not available for currentUser"],
61
+ });
62
+ }
63
+ const hasPermission = matchingPermissionConfig.permissions.some((permission) => currentUser.permissions.includes(permission));
64
+ if (!hasPermission) {
65
+ throw new exceptions_1.AppBadRequestException({
66
+ key: error_key_enum_1.ErrorKeyEnum.PERMISSION,
67
+ message: [`Current user does not have permission to ${action} holiday list`],
68
+ });
69
+ }
70
+ const nextStatus = matchingPermissionConfig.next(holidayListFlowConfigContextData);
71
+ return nextStatus;
72
+ }
73
+ getAvailableActions(currentUser, config) {
74
+ var _a;
75
+ const params = {
76
+ flowConfig: holiday_list_flow_config_1.holidayListFlowConfig,
77
+ currentStatus: this.status,
78
+ userPermissions: (_a = currentUser.permissions) !== null && _a !== void 0 ? _a : [],
79
+ visibilityData: this.getUpdateActionVisibility.bind(this, currentUser),
80
+ combinedActions: config === null || config === void 0 ? void 0 : config.combinedActions,
81
+ customLabels: config === null || config === void 0 ? void 0 : config.customLabels,
82
+ };
83
+ return utils_1.EntityActionFlowResolverV2.getAvailableActionsData(params);
84
+ }
85
+ getUpdateActionVisibility(currentUser) {
86
+ return {};
87
+ }
26
88
  }
27
89
  exports.HolidayListEntityModel = HolidayListEntityModel;
28
90
  HolidayListEntityModel.relationConfigs = [];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "law-common",
3
- "version": "13.0.3-beta.1",
3
+ "version": "13.0.3-beta.2",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "files": [