law-common 13.0.3-beta.1 → 13.0.3-beta.10

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.
package/README.md CHANGED
@@ -1 +1 @@
1
- # law-common
1
+ # law-common
@@ -1,7 +1,7 @@
1
1
  import { BillingStatusEnum } from "../entities";
2
- export declare const timesheetViewThreshold = "timesheetViewThreshold";
3
- export declare const timesheetThreshold = "timesheetThreshold";
4
- export declare const timesheetEnterThreshold = "timesheetEnterThreshold";
2
+ export declare const timesheetViewThreshold = "TIMESHEET_VIEW_THRESHOLD";
3
+ export declare const timesheetThreshold = "TIMESHEET_THRESHOLD";
4
+ export declare const timesheetEnterThreshold = "TIMESHEET_ENTER_THRESHOLD";
5
5
  export declare const timesheetMinimumTotalDuration = 15;
6
6
  export declare const toDoListMinimumEstimatedDuration = 15;
7
7
  export declare const reimbursementPaymentProcessorPermissionName = "REIMBURSEMENT_PAYMENT_PROCESSOR";
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rupeeIcon = exports.invalidFileNameCharacter = exports.allowedProjectUpdateBillingStatuses = exports.annualPaidLeaves = exports.reimbursementExpenseProjectUserInactiveBuffer = exports.systemUsers = exports.usersToExcludeFromSearchResponse = exports.freezeReimbursementExpenseAfterBillingStatus = exports.freezeTimesheetAfterBillingStatus = exports.leaveImplicitDays = exports.reimbursementPaymentProcessorPermissionName = exports.toDoListMinimumEstimatedDuration = exports.timesheetMinimumTotalDuration = exports.timesheetEnterThreshold = exports.timesheetThreshold = exports.timesheetViewThreshold = void 0;
4
4
  const entities_1 = require("../entities");
5
- exports.timesheetViewThreshold = "timesheetViewThreshold";
6
- exports.timesheetThreshold = "timesheetThreshold";
7
- exports.timesheetEnterThreshold = "timesheetEnterThreshold";
5
+ exports.timesheetViewThreshold = "TIMESHEET_VIEW_THRESHOLD";
6
+ exports.timesheetThreshold = "TIMESHEET_THRESHOLD";
7
+ exports.timesheetEnterThreshold = "TIMESHEET_ENTER_THRESHOLD";
8
8
  exports.timesheetMinimumTotalDuration = 15;
9
9
  exports.toDoListMinimumEstimatedDuration = 15;
10
10
  exports.reimbursementPaymentProcessorPermissionName = "REIMBURSEMENT_PAYMENT_PROCESSOR";
@@ -1,21 +1,21 @@
1
1
  import { CronJobNames } from "./cron_jobs_name_enum";
2
2
  export declare enum ConfigurationKeyEnum {
3
- PENDING_APPROVAL_TIMESHEET_REMINDER = "pendingApprovalTimesheetReminder",
4
- TIMESHEET_VIEW_RANGE = "timesheetViewRange",
5
- TIMESHEET_VIEW_THRESHOLD = "timesheetViewThreshold",
6
- TIMESHEET_THRESHOLD = "timesheetThreshold",
7
- TIMESHEET_ENTER_THRESHOLD = "timesheetEnterThreshold",
8
- ORGANIZATION_BILLING_OVERDUE_THRESHOLD = "organization_billing_overdue_threshold",
9
- PROJECT_ENTITY_USAGE_NOTIFICATION_SENT_PERCENTAGE_RESET = "projectEntityUsageNotificationSentPercentageReset",
10
- LEAVE_ESCALATION = "leaveEscalation",
11
- BOARD_MEMBER_EMAIL = "boardMemberEmail",
12
- WEEKLY_ESCALATED_LEAVE_REMINDER = "weeklyEscalatedLeaveReminder",
13
- WEEKLY_ESCALATED_REIMBURSEMENT_REMINDER = "weeklyEscalatedReimbursementReminder",
14
- TIMESHEET_WEEKLY_REMINDER = "timesheetWeeklyReminder",
15
- TIMESHEET_AUTO_CLASSIFICATION = "timesheetAutoClassification",
16
- TIMESHEET_CLASSIFICATION_NOTIFICATION = "timesheetClassificationNotification",
17
- TIMESHEET_CLASSIFICATION_BUFFER_DAYS = "timesheetClassificationBufferDays",
18
- TIMESHEET_CLASSIFICATION_WINDOWS = "timesheetClassificationWindows"
3
+ PENDING_APPROVAL_TIMESHEET_REMINDER = "PENDING_APPROVAL_TIMESHEET_REMINDER",
4
+ TIMESHEET_VIEW_RANGE = "TIMESHEET_VIEW_RANGE",
5
+ TIMESHEET_VIEW_THRESHOLD = "TIMESHEET_VIEW_THRESHOLD",
6
+ TIMESHEET_THRESHOLD = "TIMESHEET_THRESHOLD",
7
+ TIMESHEET_ENTER_THRESHOLD = "TIMESHEET_ENTER_THRESHOLD",
8
+ ORGANIZATION_BILLING_OVERDUE_THRESHOLD = "ORGANIZATION_BILLING_OVERDUE_THRESHOLD",
9
+ PROJECT_ENTITY_USAGE_NOTIFICATION_SENT_PERCENTAGE_RESET = "PROJECT_ENTITY_USAGE_NOTIFICATION_SENT_PERCENTAGE_RESET",
10
+ LEAVE_ESCALATION = "LEAVE_ESCALATION",
11
+ BOARD_MEMBER_EMAIL = "BOARD_MEMBER_EMAIL",
12
+ WEEKLY_ESCALATED_LEAVE_REMINDER = "WEEKLY_ESCALATED_LEAVE_REMINDER",
13
+ WEEKLY_ESCALATED_REIMBURSEMENT_REMINDER = "WEEKLY_ESCALATED_REIMBURSEMENT_REMINDER",
14
+ TIMESHEET_WEEKLY_REMINDER = "TIMESHEET_WEEKLY_REMINDER",
15
+ TIMESHEET_AUTO_CLASSIFICATION = "TIMESHEET_AUTO_CLASSIFICATION",
16
+ TIMESHEET_CLASSIFICATION_NOTIFICATION = "TIMESHEET_CLASSIFICATION_NOTIFICATION",
17
+ TIMESHEET_CLASSIFICATION_BUFFER_DAYS = "TIMESHEET_CLASSIFICATION_BUFFER_DAYS",
18
+ TIMESHEET_CLASSIFICATION_WINDOWS = "TIMESHEET_CLASSIFICATION_WINDOWS"
19
19
  }
20
20
  export declare namespace ConfigurationKeyEnum {
21
21
  function getNames(): string[];
@@ -6,22 +6,22 @@ const exceptions_1 = require("../../exceptions");
6
6
  const cron_jobs_name_enum_1 = require("./cron_jobs_name_enum");
7
7
  var ConfigurationKeyEnum;
8
8
  (function (ConfigurationKeyEnum) {
9
- ConfigurationKeyEnum["PENDING_APPROVAL_TIMESHEET_REMINDER"] = "pendingApprovalTimesheetReminder";
10
- ConfigurationKeyEnum["TIMESHEET_VIEW_RANGE"] = "timesheetViewRange";
11
- ConfigurationKeyEnum["TIMESHEET_VIEW_THRESHOLD"] = "timesheetViewThreshold";
12
- ConfigurationKeyEnum["TIMESHEET_THRESHOLD"] = "timesheetThreshold";
13
- ConfigurationKeyEnum["TIMESHEET_ENTER_THRESHOLD"] = "timesheetEnterThreshold";
14
- ConfigurationKeyEnum["ORGANIZATION_BILLING_OVERDUE_THRESHOLD"] = "organization_billing_overdue_threshold";
15
- ConfigurationKeyEnum["PROJECT_ENTITY_USAGE_NOTIFICATION_SENT_PERCENTAGE_RESET"] = "projectEntityUsageNotificationSentPercentageReset";
16
- ConfigurationKeyEnum["LEAVE_ESCALATION"] = "leaveEscalation";
17
- ConfigurationKeyEnum["BOARD_MEMBER_EMAIL"] = "boardMemberEmail";
18
- ConfigurationKeyEnum["WEEKLY_ESCALATED_LEAVE_REMINDER"] = "weeklyEscalatedLeaveReminder";
19
- ConfigurationKeyEnum["WEEKLY_ESCALATED_REIMBURSEMENT_REMINDER"] = "weeklyEscalatedReimbursementReminder";
20
- ConfigurationKeyEnum["TIMESHEET_WEEKLY_REMINDER"] = "timesheetWeeklyReminder";
21
- ConfigurationKeyEnum["TIMESHEET_AUTO_CLASSIFICATION"] = "timesheetAutoClassification";
22
- ConfigurationKeyEnum["TIMESHEET_CLASSIFICATION_NOTIFICATION"] = "timesheetClassificationNotification";
23
- ConfigurationKeyEnum["TIMESHEET_CLASSIFICATION_BUFFER_DAYS"] = "timesheetClassificationBufferDays";
24
- ConfigurationKeyEnum["TIMESHEET_CLASSIFICATION_WINDOWS"] = "timesheetClassificationWindows";
9
+ ConfigurationKeyEnum["PENDING_APPROVAL_TIMESHEET_REMINDER"] = "PENDING_APPROVAL_TIMESHEET_REMINDER";
10
+ ConfigurationKeyEnum["TIMESHEET_VIEW_RANGE"] = "TIMESHEET_VIEW_RANGE";
11
+ ConfigurationKeyEnum["TIMESHEET_VIEW_THRESHOLD"] = "TIMESHEET_VIEW_THRESHOLD";
12
+ ConfigurationKeyEnum["TIMESHEET_THRESHOLD"] = "TIMESHEET_THRESHOLD";
13
+ ConfigurationKeyEnum["TIMESHEET_ENTER_THRESHOLD"] = "TIMESHEET_ENTER_THRESHOLD";
14
+ ConfigurationKeyEnum["ORGANIZATION_BILLING_OVERDUE_THRESHOLD"] = "ORGANIZATION_BILLING_OVERDUE_THRESHOLD";
15
+ ConfigurationKeyEnum["PROJECT_ENTITY_USAGE_NOTIFICATION_SENT_PERCENTAGE_RESET"] = "PROJECT_ENTITY_USAGE_NOTIFICATION_SENT_PERCENTAGE_RESET";
16
+ ConfigurationKeyEnum["LEAVE_ESCALATION"] = "LEAVE_ESCALATION";
17
+ ConfigurationKeyEnum["BOARD_MEMBER_EMAIL"] = "BOARD_MEMBER_EMAIL";
18
+ ConfigurationKeyEnum["WEEKLY_ESCALATED_LEAVE_REMINDER"] = "WEEKLY_ESCALATED_LEAVE_REMINDER";
19
+ ConfigurationKeyEnum["WEEKLY_ESCALATED_REIMBURSEMENT_REMINDER"] = "WEEKLY_ESCALATED_REIMBURSEMENT_REMINDER";
20
+ ConfigurationKeyEnum["TIMESHEET_WEEKLY_REMINDER"] = "TIMESHEET_WEEKLY_REMINDER";
21
+ ConfigurationKeyEnum["TIMESHEET_AUTO_CLASSIFICATION"] = "TIMESHEET_AUTO_CLASSIFICATION";
22
+ ConfigurationKeyEnum["TIMESHEET_CLASSIFICATION_NOTIFICATION"] = "TIMESHEET_CLASSIFICATION_NOTIFICATION";
23
+ ConfigurationKeyEnum["TIMESHEET_CLASSIFICATION_BUFFER_DAYS"] = "TIMESHEET_CLASSIFICATION_BUFFER_DAYS";
24
+ ConfigurationKeyEnum["TIMESHEET_CLASSIFICATION_WINDOWS"] = "TIMESHEET_CLASSIFICATION_WINDOWS";
25
25
  })(ConfigurationKeyEnum || (exports.ConfigurationKeyEnum = ConfigurationKeyEnum = {}));
26
26
  (function (ConfigurationKeyEnum) {
27
27
  function getNames() {
@@ -1,7 +1,7 @@
1
1
  export declare enum ConfigurationTypeEnum {
2
- INTEGER = "integer",
3
- INTEGER_POSITIVE = "integer_positive",
4
- INTEGER_NEGATIVE = "integer_negative",
5
- STRING = "string",
6
- CRONJOB_EXPRESSION = "cronjob_expression"
2
+ INTEGER = "INTEGER",
3
+ INTEGER_POSITIVE = "INTEGER_POSITIVE",
4
+ INTEGER_NEGATIVE = "INTEGER_NEGATIVE",
5
+ STRING = "STRING",
6
+ CRONJOB_EXPRESSION = "CRONJOB_EXPRESSION"
7
7
  }
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ConfigurationTypeEnum = void 0;
4
4
  var ConfigurationTypeEnum;
5
5
  (function (ConfigurationTypeEnum) {
6
- ConfigurationTypeEnum["INTEGER"] = "integer";
7
- ConfigurationTypeEnum["INTEGER_POSITIVE"] = "integer_positive";
8
- ConfigurationTypeEnum["INTEGER_NEGATIVE"] = "integer_negative";
9
- ConfigurationTypeEnum["STRING"] = "string";
10
- ConfigurationTypeEnum["CRONJOB_EXPRESSION"] = "cronjob_expression";
6
+ ConfigurationTypeEnum["INTEGER"] = "INTEGER";
7
+ ConfigurationTypeEnum["INTEGER_POSITIVE"] = "INTEGER_POSITIVE";
8
+ ConfigurationTypeEnum["INTEGER_NEGATIVE"] = "INTEGER_NEGATIVE";
9
+ ConfigurationTypeEnum["STRING"] = "STRING";
10
+ ConfigurationTypeEnum["CRONJOB_EXPRESSION"] = "CRONJOB_EXPRESSION";
11
11
  })(ConfigurationTypeEnum || (exports.ConfigurationTypeEnum = ConfigurationTypeEnum = {}));
@@ -1,10 +1,10 @@
1
1
  export declare enum CronJobNames {
2
- PENDING_APPROVAL_TIMESHEET_REMINDER = "pending_approval_timesheet_reminder",
3
- PROJECT_ENTITY_USAGE_NOTIFICATION_SENT_PERCENTAGE_RESET = "project_entity_usage_notification_sent_percentage_reset",
4
- LEAVE_ESCALATION = "leave_escalation",
5
- WEEKLY_ESCALATED_LEAVE_REMINDER = "weekly_escalated_leave_reminder",
6
- WEEKLY_ESCALATED_REIMBURSEMENT_REMINDER = "weekly_escalated_reimbursement_reminder",
7
- TIMESHEET_WEEKLY_REMINDER = "timesheet_weekly_reminder",
8
- TIMESHEET_AUTO_CLASSIFICATION = "timesheet_auto_classification",
9
- TIMESHEET_CLASSIFICATION_NOTIFICATION = "timesheet_classification_notification"
2
+ PENDING_APPROVAL_TIMESHEET_REMINDER = "PENDING_APPROVAL_TIMESHEET_REMINDER",
3
+ PROJECT_ENTITY_USAGE_NOTIFICATION_SENT_PERCENTAGE_RESET = "PROJECT_ENTITY_USAGE_NOTIFICATION_SENT_PERCENTAGE_RESET",
4
+ LEAVE_ESCALATION = "LEAVE_ESCALATION",
5
+ WEEKLY_ESCALATED_LEAVE_REMINDER = "WEEKLY_ESCALATED_LEAVE_REMINDER",
6
+ WEEKLY_ESCALATED_REIMBURSEMENT_REMINDER = "WEEKLY_ESCALATED_REIMBURSEMENT_REMINDER",
7
+ TIMESHEET_WEEKLY_REMINDER = "TIMESHEET_WEEKLY_REMINDER",
8
+ TIMESHEET_AUTO_CLASSIFICATION = "TIMESHEET_AUTO_CLASSIFICATION",
9
+ TIMESHEET_CLASSIFICATION_NOTIFICATION = "TIMESHEET_CLASSIFICATION_NOTIFICATION"
10
10
  }
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CronJobNames = void 0;
4
4
  var CronJobNames;
5
5
  (function (CronJobNames) {
6
- CronJobNames["PENDING_APPROVAL_TIMESHEET_REMINDER"] = "pending_approval_timesheet_reminder";
7
- CronJobNames["PROJECT_ENTITY_USAGE_NOTIFICATION_SENT_PERCENTAGE_RESET"] = "project_entity_usage_notification_sent_percentage_reset";
8
- CronJobNames["LEAVE_ESCALATION"] = "leave_escalation";
9
- CronJobNames["WEEKLY_ESCALATED_LEAVE_REMINDER"] = "weekly_escalated_leave_reminder";
10
- CronJobNames["WEEKLY_ESCALATED_REIMBURSEMENT_REMINDER"] = "weekly_escalated_reimbursement_reminder";
11
- CronJobNames["TIMESHEET_WEEKLY_REMINDER"] = "timesheet_weekly_reminder";
12
- CronJobNames["TIMESHEET_AUTO_CLASSIFICATION"] = "timesheet_auto_classification";
13
- CronJobNames["TIMESHEET_CLASSIFICATION_NOTIFICATION"] = "timesheet_classification_notification";
6
+ CronJobNames["PENDING_APPROVAL_TIMESHEET_REMINDER"] = "PENDING_APPROVAL_TIMESHEET_REMINDER";
7
+ CronJobNames["PROJECT_ENTITY_USAGE_NOTIFICATION_SENT_PERCENTAGE_RESET"] = "PROJECT_ENTITY_USAGE_NOTIFICATION_SENT_PERCENTAGE_RESET";
8
+ CronJobNames["LEAVE_ESCALATION"] = "LEAVE_ESCALATION";
9
+ CronJobNames["WEEKLY_ESCALATED_LEAVE_REMINDER"] = "WEEKLY_ESCALATED_LEAVE_REMINDER";
10
+ CronJobNames["WEEKLY_ESCALATED_REIMBURSEMENT_REMINDER"] = "WEEKLY_ESCALATED_REIMBURSEMENT_REMINDER";
11
+ CronJobNames["TIMESHEET_WEEKLY_REMINDER"] = "TIMESHEET_WEEKLY_REMINDER";
12
+ CronJobNames["TIMESHEET_AUTO_CLASSIFICATION"] = "TIMESHEET_AUTO_CLASSIFICATION";
13
+ CronJobNames["TIMESHEET_CLASSIFICATION_NOTIFICATION"] = "TIMESHEET_CLASSIFICATION_NOTIFICATION";
14
14
  })(CronJobNames || (exports.CronJobNames = CronJobNames = {}));
@@ -1,5 +1,5 @@
1
1
  export declare enum CronJobStatus {
2
- RUNNING = "running",
3
- FAILED = "failed",
4
- SUCCESS = "success"
2
+ RUNNING = "RUNNING",
3
+ FAILED = "FAILED",
4
+ SUCCESS = "SUCCESS"
5
5
  }
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CronJobStatus = void 0;
4
4
  var CronJobStatus;
5
5
  (function (CronJobStatus) {
6
- CronJobStatus["RUNNING"] = "running";
7
- CronJobStatus["FAILED"] = "failed";
8
- CronJobStatus["SUCCESS"] = "success";
6
+ CronJobStatus["RUNNING"] = "RUNNING";
7
+ CronJobStatus["FAILED"] = "FAILED";
8
+ CronJobStatus["SUCCESS"] = "SUCCESS";
9
9
  })(CronJobStatus || (exports.CronJobStatus = CronJobStatus = {}));
@@ -110,9 +110,7 @@ export * from "./interface/intermediary_bank.entity.interface";
110
110
  export * from "./interface/field-constraint/intermediary_bank_field_constraints.interface";
111
111
  export * from "./interface/address_book.entity.interface";
112
112
  export * from "./interface/field-constraint/address_book_field_constraints.interface";
113
- export * from "./enums/holiday_action_enum";
114
113
  export * from "./enums/holiday_status_enum";
115
- export * from "./flow-configs/holiday_flow.config";
116
114
  export * from "./interface/holiday.entity.interface";
117
115
  export * from "./interface/field-constraint/holiday_field_constraints.interface";
118
116
  export * from "./enums/holiday_list_status_enum";
@@ -126,9 +126,7 @@ __exportStar(require("./interface/intermediary_bank.entity.interface"), exports)
126
126
  __exportStar(require("./interface/field-constraint/intermediary_bank_field_constraints.interface"), exports);
127
127
  __exportStar(require("./interface/address_book.entity.interface"), exports);
128
128
  __exportStar(require("./interface/field-constraint/address_book_field_constraints.interface"), exports);
129
- __exportStar(require("./enums/holiday_action_enum"), exports);
130
129
  __exportStar(require("./enums/holiday_status_enum"), exports);
131
- __exportStar(require("./flow-configs/holiday_flow.config"), exports);
132
130
  __exportStar(require("./interface/holiday.entity.interface"), exports);
133
131
  __exportStar(require("./interface/field-constraint/holiday_field_constraints.interface"), exports);
134
132
  __exportStar(require("./enums/holiday_list_status_enum"), exports);
@@ -1,12 +1,7 @@
1
- import { HolidayActionEnum } from "../enums/holiday_action_enum";
2
1
  import { HolidayStatusEnum } from "../enums/holiday_status_enum";
3
- import { IHolidayFlowConfigContextData } from "../flow-configs/holiday_flow.config";
4
2
  import { EntityEnum } from "../interface/entity.utils.interface";
5
3
  import { IHolidayEntity } from "../interface/holiday.entity.interface";
6
- import { IUserEntity } from "../interface/user.entity.interface";
7
4
  import { BaseEntityModel } from "./base.entity.model";
8
- import { IRowActions } from "./interface/row-actions.interface";
9
- import { UserEntityModel } from "./user.entity.model";
10
5
  export declare class HolidayEntityModel extends BaseEntityModel<EntityEnum.HOLIDAY> implements IHolidayEntity {
11
6
  id: number;
12
7
  holidayListId: number;
@@ -18,15 +13,4 @@ export declare class HolidayEntityModel extends BaseEntityModel<EntityEnum.HOLID
18
13
  updatedOn: number;
19
14
  getRelationConfigs(): never[];
20
15
  static fromEntity(entity: IHolidayEntity): HolidayEntityModel;
21
- getNextStatus(currentUser: IUserEntity, action: HolidayActionEnum, holidayFlowConfigContextData: IHolidayFlowConfigContextData): HolidayStatusEnum;
22
- getAvailableActions(currentUser: UserEntityModel, config?: {
23
- combinedActions?: Record<string, {
24
- combineActions: HolidayActionEnum[];
25
- label: string;
26
- }>;
27
- customLabels?: Partial<Record<HolidayActionEnum, string>>;
28
- }): IRowActions<EntityEnum.HOLIDAY>[];
29
- getUpdateActionVisibility(currentUser: UserEntityModel): {
30
- [key: string]: () => boolean;
31
- };
32
16
  }
@@ -1,13 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HolidayEntityModel = 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
4
  const holiday_status_enum_1 = require("../enums/holiday_status_enum");
8
- const holiday_flow_config_1 = require("../flow-configs/holiday_flow.config");
5
+ // import { EntityEnum, IHolidayEntity } from "law-common/dist/src/entities";
9
6
  const entity_utils_interface_1 = require("../interface/entity.utils.interface");
10
7
  const base_entity_model_1 = require("./base.entity.model");
8
+ // import { IHolidayApiEntity } from "law-common/dist/src/api";
11
9
  class HolidayEntityModel extends base_entity_model_1.BaseEntityModel {
12
10
  constructor() {
13
11
  super(...arguments);
@@ -28,63 +26,5 @@ class HolidayEntityModel extends base_entity_model_1.BaseEntityModel {
28
26
  Object.assign(result, entity);
29
27
  return result;
30
28
  }
31
- getNextStatus(currentUser, action, holidayFlowConfigContextData) {
32
- if (!this.status) {
33
- throw new exceptions_1.AppBadRequestException({
34
- key: error_key_enum_1.ErrorKeyEnum.STATUS,
35
- message: [`Status not found: ${this.status}`],
36
- });
37
- }
38
- const flowForStatus = holiday_flow_config_1.holidayFlowConfig[this.status];
39
- if (!flowForStatus) {
40
- throw new exceptions_1.AppBadRequestException({
41
- key: error_key_enum_1.ErrorKeyEnum.STATUS,
42
- message: [`No flow configuration found for status: ${this.status}`],
43
- });
44
- }
45
- if (!action) {
46
- throw new exceptions_1.AppBadRequestException({
47
- key: error_key_enum_1.ErrorKeyEnum.ACTION_DATA,
48
- message: ["actionData is required"],
49
- });
50
- }
51
- const matchingPermissionConfig = flowForStatus.actions[action];
52
- if (!matchingPermissionConfig) {
53
- throw new exceptions_1.AppBadRequestException({
54
- key: error_key_enum_1.ErrorKeyEnum.ACTION,
55
- message: [`Action '${action}' is not valid for the current status.`],
56
- });
57
- }
58
- if (!currentUser.permissions || currentUser.permissions.length === 0) {
59
- throw new exceptions_1.AppBadRequestException({
60
- key: error_key_enum_1.ErrorKeyEnum.PERMISSIONS,
61
- message: ["Permission not available for currentUser"],
62
- });
63
- }
64
- const hasPermission = matchingPermissionConfig.permissions.some((permission) => currentUser.permissions.includes(permission));
65
- if (!hasPermission) {
66
- throw new exceptions_1.AppBadRequestException({
67
- key: error_key_enum_1.ErrorKeyEnum.PERMISSION,
68
- message: [`Current user does not have permission to ${action} holiday`],
69
- });
70
- }
71
- const nextStatus = matchingPermissionConfig.next(holidayFlowConfigContextData);
72
- return nextStatus;
73
- }
74
- getAvailableActions(currentUser, config) {
75
- var _a;
76
- const params = {
77
- flowConfig: holiday_flow_config_1.holidayFlowConfig,
78
- currentStatus: this.status,
79
- userPermissions: (_a = currentUser.permissions) !== null && _a !== void 0 ? _a : [],
80
- visibilityData: this.getUpdateActionVisibility.bind(this, currentUser),
81
- combinedActions: config === null || config === void 0 ? void 0 : config.combinedActions,
82
- customLabels: config === null || config === void 0 ? void 0 : config.customLabels,
83
- };
84
- return utils_1.EntityActionFlowResolverV2.getAvailableActionsData(params);
85
- }
86
- getUpdateActionVisibility(currentUser) {
87
- return {};
88
- }
89
29
  }
90
30
  exports.HolidayEntityModel = HolidayEntityModel;
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.10",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -1,8 +0,0 @@
1
- export declare enum HolidayActionEnum {
2
- CREATE = "CREATE",
3
- UPDATE = "UPDATE",
4
- DELETE = "DELETE",
5
- DEACTIVATE = "DEACTIVATE",
6
- ACTIVATE = "ACTIVATE",
7
- RESTORE = "RESTORE"
8
- }
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HolidayActionEnum = void 0;
4
- var HolidayActionEnum;
5
- (function (HolidayActionEnum) {
6
- HolidayActionEnum["CREATE"] = "CREATE";
7
- HolidayActionEnum["UPDATE"] = "UPDATE";
8
- HolidayActionEnum["DELETE"] = "DELETE";
9
- HolidayActionEnum["DEACTIVATE"] = "DEACTIVATE";
10
- HolidayActionEnum["ACTIVATE"] = "ACTIVATE";
11
- HolidayActionEnum["RESTORE"] = "RESTORE";
12
- // APPROVE = "APPROVE",
13
- // REJECT = "REJECT",
14
- // RECALL = "RECALL",
15
- // REQUEST_CHANGES = "REQUEST_CHANGES",
16
- // CHANGES_DONE = "CHANGES_DONE",
17
- })(HolidayActionEnum || (exports.HolidayActionEnum = HolidayActionEnum = {}));
@@ -1,6 +0,0 @@
1
- import { FlowConfig } from "./flow-config.type";
2
- import { HolidayActionEnum } from "../enums/holiday_action_enum";
3
- import { HolidayStatusEnum } from "../enums/holiday_status_enum";
4
- export interface IHolidayFlowConfigContextData {
5
- }
6
- export declare const holidayFlowConfig: FlowConfig<HolidayStatusEnum, HolidayActionEnum, IHolidayFlowConfigContextData>;
@@ -1,70 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.holidayFlowConfig = void 0;
4
- const base_flow_config_factory_1 = require("./base-flow-config.factory");
5
- const holiday_action_enum_1 = require("../enums/holiday_action_enum");
6
- const holiday_status_enum_1 = require("../enums/holiday_status_enum");
7
- const HOLIDAY_CREATE_PERMISSION = ["HOLIDAY_CREATE"];
8
- const HOLIDAY_UPDATE_PERMISSION = ["HOLIDAY_UPDATE"];
9
- const HOLIDAY_DELETE_PERMISSION = ["HOLIDAY_DELETE"];
10
- const HOLIDAY_DEACTIVATE_PERMISSION = ["HOLIDAY_DEACTIVATE"];
11
- const HOLIDAY_ACTIVATE_PERMISSION = ["HOLIDAY_ACTIVATE"];
12
- const HOLIDAY_RESTORE_PERMISSION = ["HOLIDAY_RESTORE"];
13
- const ACTION_MAP = {
14
- [holiday_action_enum_1.HolidayActionEnum.CREATE]: {
15
- reachableStatues: [holiday_status_enum_1.HolidayStatusEnum.APPROVED],
16
- permissions: HOLIDAY_CREATE_PERMISSION,
17
- },
18
- [holiday_action_enum_1.HolidayActionEnum.UPDATE]: {
19
- reachableStatues: [holiday_status_enum_1.HolidayStatusEnum.APPROVED],
20
- permissions: HOLIDAY_UPDATE_PERMISSION,
21
- },
22
- [holiday_action_enum_1.HolidayActionEnum.DELETE]: {
23
- reachableStatues: [holiday_status_enum_1.HolidayStatusEnum.DELETED],
24
- permissions: HOLIDAY_DELETE_PERMISSION,
25
- },
26
- [holiday_action_enum_1.HolidayActionEnum.DEACTIVATE]: {
27
- reachableStatues: [holiday_status_enum_1.HolidayStatusEnum.DEACTIVATED],
28
- permissions: HOLIDAY_DEACTIVATE_PERMISSION,
29
- },
30
- [holiday_action_enum_1.HolidayActionEnum.ACTIVATE]: {
31
- reachableStatues: [holiday_status_enum_1.HolidayStatusEnum.APPROVED],
32
- permissions: HOLIDAY_ACTIVATE_PERMISSION,
33
- },
34
- [holiday_action_enum_1.HolidayActionEnum.RESTORE]: {
35
- reachableStatues: [holiday_status_enum_1.HolidayStatusEnum.APPROVED],
36
- permissions: HOLIDAY_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_action_enum_1.HolidayActionEnum.UPDATE, holiday_status_enum_1.HolidayStatusEnum.APPROVED);
42
- const transitionApprovedStatusDeleteAction = createActionConfig(holiday_action_enum_1.HolidayActionEnum.DELETE, holiday_status_enum_1.HolidayStatusEnum.DELETED);
43
- const transitionApprovedStatusDeactivateAction = createActionConfig(holiday_action_enum_1.HolidayActionEnum.DEACTIVATE, holiday_status_enum_1.HolidayStatusEnum.DEACTIVATED);
44
- // DEACTIVATED status transitions
45
- const transitionDeactivatedStatusDeleteAction = createActionConfig(holiday_action_enum_1.HolidayActionEnum.DELETE, holiday_status_enum_1.HolidayStatusEnum.DELETED);
46
- const transitionDeactivatedStatusActivateAction = createActionConfig(holiday_action_enum_1.HolidayActionEnum.ACTIVATE, holiday_status_enum_1.HolidayStatusEnum.APPROVED);
47
- // DELETED status transitions
48
- const transitionDeletedStatusUpdateAction = createActionConfig(holiday_action_enum_1.HolidayActionEnum.UPDATE, holiday_status_enum_1.HolidayStatusEnum.APPROVED);
49
- const transitionDeletedStatusRestoreAction = createActionConfig(holiday_action_enum_1.HolidayActionEnum.RESTORE, holiday_status_enum_1.HolidayStatusEnum.APPROVED);
50
- exports.holidayFlowConfig = {
51
- [holiday_status_enum_1.HolidayStatusEnum.APPROVED]: {
52
- actions: {
53
- [holiday_action_enum_1.HolidayActionEnum.UPDATE]: transitionApprovedStatusUpdateAction,
54
- [holiday_action_enum_1.HolidayActionEnum.DELETE]: transitionApprovedStatusDeleteAction,
55
- [holiday_action_enum_1.HolidayActionEnum.DEACTIVATE]: transitionApprovedStatusDeactivateAction,
56
- },
57
- },
58
- [holiday_status_enum_1.HolidayStatusEnum.DEACTIVATED]: {
59
- actions: {
60
- [holiday_action_enum_1.HolidayActionEnum.DELETE]: transitionDeactivatedStatusDeleteAction,
61
- [holiday_action_enum_1.HolidayActionEnum.ACTIVATE]: transitionDeactivatedStatusActivateAction,
62
- },
63
- },
64
- [holiday_status_enum_1.HolidayStatusEnum.DELETED]: {
65
- actions: {
66
- [holiday_action_enum_1.HolidayActionEnum.UPDATE]: transitionDeletedStatusUpdateAction,
67
- [holiday_action_enum_1.HolidayActionEnum.RESTORE]: transitionDeletedStatusRestoreAction,
68
- },
69
- },
70
- };