law-common 9.2.1 → 10.0.1-beta.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.
- package/dist/src/api/index.d.ts +2 -0
- package/dist/src/api/index.js +2 -0
- package/dist/src/api/interface/holiday-list.entity.response.d.ts +3 -0
- package/dist/src/api/interface/holiday-list.entity.response.js +2 -0
- package/dist/src/api/interface/holiday.entity.response.d.ts +3 -0
- package/dist/src/api/interface/holiday.entity.response.js +2 -0
- package/dist/src/api/interface/leave.create.dto.interface.d.ts +2 -2
- package/dist/src/api/interface/leave.update.dto.interface.d.ts +2 -2
- package/dist/src/constants/entity_constants.d.ts +1 -0
- package/dist/src/constants/entity_constants.js +2 -1
- package/dist/src/entities/enums/leave-type.enum.d.ts +16 -0
- package/dist/src/entities/enums/leave-type.enum.js +87 -0
- package/dist/src/entities/index.d.ts +3 -1
- package/dist/src/entities/index.js +3 -1
- package/dist/src/entities/interface/entity.utils.interface.d.ts +6 -2
- package/dist/src/entities/interface/entity.utils.interface.js +2 -0
- package/dist/src/entities/interface/holiday-list.entity.interface.d.ts +12 -0
- package/dist/src/entities/interface/holiday-list.entity.interface.js +2 -0
- package/dist/src/entities/interface/holiday.entity.interface.d.ts +13 -0
- package/dist/src/entities/interface/holiday.entity.interface.js +2 -0
- package/dist/src/entities/interface/leave.entity.interface.d.ts +13 -0
- package/dist/src/enums/error.key.enum.d.ts +1 -0
- package/dist/src/enums/error.key.enum.js +1 -0
- package/dist/src/utils/helper.fn.util.d.ts +1 -0
- package/dist/src/utils/helper.fn.util.js +13 -0
- package/package.json +1 -1
- package/dist/src/entities/enums/leave_entity_keys.enum.d.ts +0 -13
- package/dist/src/entities/enums/leave_entity_keys.enum.js +0 -43
package/dist/src/api/index.d.ts
CHANGED
|
@@ -75,3 +75,5 @@ export * from "./interface/work_from_home_history.api";
|
|
|
75
75
|
export * from "./interface/country.entity.response";
|
|
76
76
|
export * from "./interface/organization.entity.api";
|
|
77
77
|
export * from "./interface/intermediary.bank.entity.response";
|
|
78
|
+
export * from "./interface/holiday.entity.response";
|
|
79
|
+
export * from "./interface/holiday-list.entity.response";
|
package/dist/src/api/index.js
CHANGED
|
@@ -91,3 +91,5 @@ __exportStar(require("./interface/work_from_home_history.api"), exports);
|
|
|
91
91
|
__exportStar(require("./interface/country.entity.response"), exports);
|
|
92
92
|
__exportStar(require("./interface/organization.entity.api"), exports);
|
|
93
93
|
__exportStar(require("./interface/intermediary.bank.entity.response"), exports);
|
|
94
|
+
__exportStar(require("./interface/holiday.entity.response"), exports);
|
|
95
|
+
__exportStar(require("./interface/holiday-list.entity.response"), exports);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IEntityCreateDto, ILeaveEntity, LeaveStatusEnum } from "../../entities";
|
|
1
|
+
import { IEntityCreateDto, ILeaveDtoInclude, ILeaveEntity, LeaveStatusEnum } from "../../entities";
|
|
2
2
|
export type ILeaveExclude = "status";
|
|
3
|
-
export interface ILeaveCreateDto extends Omit<IEntityCreateDto<ILeaveEntity>, ILeaveExclude
|
|
3
|
+
export interface ILeaveCreateDto extends Omit<IEntityCreateDto<ILeaveEntity>, ILeaveExclude>, ILeaveDtoInclude {
|
|
4
4
|
status?: LeaveStatusEnum;
|
|
5
5
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { IEntityUpdateDto, ILeaveEntity, LeaveActionEnum } from "../../entities";
|
|
1
|
+
import { IEntityUpdateDto, ILeaveDtoInclude, ILeaveEntity, LeaveActionEnum } from "../../entities";
|
|
2
2
|
export interface ILeaveActionDataDto {
|
|
3
3
|
action: LeaveActionEnum;
|
|
4
4
|
remark?: string;
|
|
5
5
|
}
|
|
6
|
-
export interface ILeaveUpdateDto extends IEntityUpdateDto<ILeaveEntity> {
|
|
6
|
+
export interface ILeaveUpdateDto extends IEntityUpdateDto<ILeaveEntity>, Partial<ILeaveDtoInclude> {
|
|
7
7
|
actionData?: ILeaveActionDataDto;
|
|
8
8
|
}
|
|
@@ -3,3 +3,4 @@ export declare const timesheetThreshold = "timesheetThreshold";
|
|
|
3
3
|
export declare const timesheetEnterThreshold = "timesheetEnterThreshold";
|
|
4
4
|
export declare const timesheetMinimumTotalDuration = 15;
|
|
5
5
|
export declare const reimbursementPaymentProcessorPermissionName = "REIMBURSEMENT_PAYMENT_PROCESSOR";
|
|
6
|
+
export declare const leaveImplicitDays: string[];
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.reimbursementPaymentProcessorPermissionName = exports.timesheetMinimumTotalDuration = exports.timesheetEnterThreshold = exports.timesheetThreshold = exports.timesheetViewThreshold = void 0;
|
|
3
|
+
exports.leaveImplicitDays = exports.reimbursementPaymentProcessorPermissionName = exports.timesheetMinimumTotalDuration = exports.timesheetEnterThreshold = exports.timesheetThreshold = exports.timesheetViewThreshold = void 0;
|
|
4
4
|
exports.timesheetViewThreshold = "timesheetViewThreshold";
|
|
5
5
|
exports.timesheetThreshold = "timesheetThreshold";
|
|
6
6
|
exports.timesheetEnterThreshold = "timesheetEnterThreshold";
|
|
7
7
|
exports.timesheetMinimumTotalDuration = 15;
|
|
8
8
|
exports.reimbursementPaymentProcessorPermissionName = "REIMBURSEMENT_PAYMENT_PROCESSOR";
|
|
9
|
+
exports.leaveImplicitDays = ["Saturday", "Sunday"];
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare enum LeaveTypeEnum {
|
|
2
|
+
FIRST = "first",
|
|
3
|
+
SECOND = "second",
|
|
4
|
+
FULL = "full",
|
|
5
|
+
FULL_FIRST = "full_first",
|
|
6
|
+
SECOND_FULL = "second_full",
|
|
7
|
+
SECOND_FIRST = "second_first"
|
|
8
|
+
}
|
|
9
|
+
export declare namespace LeaveTypeEnum {
|
|
10
|
+
function getDropdownLabel(action: LeaveTypeEnum): string;
|
|
11
|
+
function getLeaveTypeFromStartEnd(from: LeaveTypeEnum, to?: LeaveTypeEnum): LeaveTypeEnum;
|
|
12
|
+
function getStartEndFromLeaveType(type: LeaveTypeEnum): {
|
|
13
|
+
fromType: LeaveTypeEnum;
|
|
14
|
+
toType: LeaveTypeEnum;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LeaveTypeEnum = void 0;
|
|
4
|
+
const error_key_enum_1 = require("../../enums/error.key.enum");
|
|
5
|
+
const exceptions_1 = require("../../exceptions");
|
|
6
|
+
var LeaveTypeEnum;
|
|
7
|
+
(function (LeaveTypeEnum) {
|
|
8
|
+
LeaveTypeEnum["FIRST"] = "first";
|
|
9
|
+
LeaveTypeEnum["SECOND"] = "second";
|
|
10
|
+
LeaveTypeEnum["FULL"] = "full";
|
|
11
|
+
LeaveTypeEnum["FULL_FIRST"] = "full_first";
|
|
12
|
+
LeaveTypeEnum["SECOND_FULL"] = "second_full";
|
|
13
|
+
LeaveTypeEnum["SECOND_FIRST"] = "second_first";
|
|
14
|
+
})(LeaveTypeEnum || (exports.LeaveTypeEnum = LeaveTypeEnum = {}));
|
|
15
|
+
(function (LeaveTypeEnum) {
|
|
16
|
+
const typeLabelMap = {
|
|
17
|
+
[LeaveTypeEnum.FIRST]: "First Half",
|
|
18
|
+
[LeaveTypeEnum.SECOND]: "Second Half",
|
|
19
|
+
[LeaveTypeEnum.FULL]: "Full Day",
|
|
20
|
+
};
|
|
21
|
+
function getDropdownLabel(action) {
|
|
22
|
+
if (!Object.values(LeaveTypeEnum).includes(action)) {
|
|
23
|
+
throw new exceptions_1.AppBadRequestException({
|
|
24
|
+
key: error_key_enum_1.ErrorKeyEnum.LEAVE_TYPE,
|
|
25
|
+
message: ["Invalid type value"],
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
const label = typeLabelMap[action];
|
|
29
|
+
if (!label) {
|
|
30
|
+
throw new exceptions_1.AppBadRequestException({
|
|
31
|
+
key: error_key_enum_1.ErrorKeyEnum.LEAVE_TYPE,
|
|
32
|
+
message: ["Invalid type value"],
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
return label;
|
|
36
|
+
}
|
|
37
|
+
LeaveTypeEnum.getDropdownLabel = getDropdownLabel;
|
|
38
|
+
function getLeaveTypeFromStartEnd(from, to) {
|
|
39
|
+
if (!to || from === to)
|
|
40
|
+
return from;
|
|
41
|
+
if (from === LeaveTypeEnum.FULL && to === LeaveTypeEnum.FIRST)
|
|
42
|
+
return LeaveTypeEnum.FULL_FIRST;
|
|
43
|
+
if (from === LeaveTypeEnum.SECOND && to === LeaveTypeEnum.FULL)
|
|
44
|
+
return LeaveTypeEnum.SECOND_FULL;
|
|
45
|
+
if (from === LeaveTypeEnum.SECOND && to === LeaveTypeEnum.FIRST)
|
|
46
|
+
return LeaveTypeEnum.SECOND_FIRST;
|
|
47
|
+
throw new Error(`Invalid leave type: ${from} + ${to}`);
|
|
48
|
+
}
|
|
49
|
+
LeaveTypeEnum.getLeaveTypeFromStartEnd = getLeaveTypeFromStartEnd;
|
|
50
|
+
function getStartEndFromLeaveType(type) {
|
|
51
|
+
switch (type) {
|
|
52
|
+
case LeaveTypeEnum.FIRST:
|
|
53
|
+
return {
|
|
54
|
+
fromType: LeaveTypeEnum.FIRST,
|
|
55
|
+
toType: LeaveTypeEnum.FIRST,
|
|
56
|
+
};
|
|
57
|
+
case LeaveTypeEnum.SECOND:
|
|
58
|
+
return {
|
|
59
|
+
fromType: LeaveTypeEnum.SECOND,
|
|
60
|
+
toType: LeaveTypeEnum.SECOND,
|
|
61
|
+
};
|
|
62
|
+
case LeaveTypeEnum.FULL:
|
|
63
|
+
return {
|
|
64
|
+
fromType: LeaveTypeEnum.FULL,
|
|
65
|
+
toType: LeaveTypeEnum.FULL,
|
|
66
|
+
};
|
|
67
|
+
case LeaveTypeEnum.FULL_FIRST:
|
|
68
|
+
return {
|
|
69
|
+
fromType: LeaveTypeEnum.FULL,
|
|
70
|
+
toType: LeaveTypeEnum.FIRST,
|
|
71
|
+
};
|
|
72
|
+
case LeaveTypeEnum.SECOND_FULL:
|
|
73
|
+
return {
|
|
74
|
+
fromType: LeaveTypeEnum.SECOND,
|
|
75
|
+
toType: LeaveTypeEnum.FULL,
|
|
76
|
+
};
|
|
77
|
+
case LeaveTypeEnum.SECOND_FIRST:
|
|
78
|
+
return {
|
|
79
|
+
fromType: LeaveTypeEnum.SECOND,
|
|
80
|
+
toType: LeaveTypeEnum.FIRST,
|
|
81
|
+
};
|
|
82
|
+
default:
|
|
83
|
+
throw new Error(`Invalid LeaveTypeEnum: ${type}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
LeaveTypeEnum.getStartEndFromLeaveType = getStartEndFromLeaveType;
|
|
87
|
+
})(LeaveTypeEnum || (exports.LeaveTypeEnum = LeaveTypeEnum = {}));
|
|
@@ -53,7 +53,6 @@ export * from "./enums/bank_status.enum";
|
|
|
53
53
|
export * from "./interface/bank_history.entity.interface";
|
|
54
54
|
export * from "./enums/leave.action.enum";
|
|
55
55
|
export * from "./enums/leave.status.enum";
|
|
56
|
-
export * from "./enums/leave_entity_keys.enum";
|
|
57
56
|
export * from "./interface/leave.entity.interface";
|
|
58
57
|
export * from "./interface/leave_history.entity.interface";
|
|
59
58
|
export * from "./enums/work.from.home.action.enum";
|
|
@@ -65,3 +64,6 @@ export * from "./interface/country.entity.interface";
|
|
|
65
64
|
export * from "./enums/billing_invoice_type.enum";
|
|
66
65
|
export * from "./interface/billing_timesheet.entity.interface";
|
|
67
66
|
export * from "./interface/intermediary_bank.entity.interface";
|
|
67
|
+
export * from "./enums/leave-type.enum";
|
|
68
|
+
export * from "./interface/holiday-list.entity.interface";
|
|
69
|
+
export * from "./interface/holiday.entity.interface";
|
|
@@ -70,7 +70,6 @@ __exportStar(require("./enums/bank_status.enum"), exports);
|
|
|
70
70
|
__exportStar(require("./interface/bank_history.entity.interface"), exports);
|
|
71
71
|
__exportStar(require("./enums/leave.action.enum"), exports);
|
|
72
72
|
__exportStar(require("./enums/leave.status.enum"), exports);
|
|
73
|
-
__exportStar(require("./enums/leave_entity_keys.enum"), exports);
|
|
74
73
|
__exportStar(require("./interface/leave.entity.interface"), exports);
|
|
75
74
|
__exportStar(require("./interface/leave_history.entity.interface"), exports);
|
|
76
75
|
__exportStar(require("./enums/work.from.home.action.enum"), exports);
|
|
@@ -82,3 +81,6 @@ __exportStar(require("./interface/country.entity.interface"), exports);
|
|
|
82
81
|
__exportStar(require("./enums/billing_invoice_type.enum"), exports);
|
|
83
82
|
__exportStar(require("./interface/billing_timesheet.entity.interface"), exports);
|
|
84
83
|
__exportStar(require("./interface/intermediary_bank.entity.interface"), exports);
|
|
84
|
+
__exportStar(require("./enums/leave-type.enum"), exports);
|
|
85
|
+
__exportStar(require("./interface/holiday-list.entity.interface"), exports);
|
|
86
|
+
__exportStar(require("./interface/holiday.entity.interface"), exports);
|
|
@@ -15,6 +15,8 @@ import { IConfigurationEntity } from "./configuration.entity.interface";
|
|
|
15
15
|
import { ICountryEntity } from "./country.entity.interface";
|
|
16
16
|
import { IDesignationEntity } from "./designation.entity.interface";
|
|
17
17
|
import { IExpenseTypeEntity } from "./expense_type.entity.interface";
|
|
18
|
+
import { IHolidayListEntity } from "./holiday-list.entity.interface";
|
|
19
|
+
import { IHolidayEntity } from "./holiday.entity.interface";
|
|
18
20
|
import { IIndustryEntity } from "./industry.entity.interface";
|
|
19
21
|
import { IIntermediaryBankEntity } from "./intermediary_bank.entity.interface";
|
|
20
22
|
import { ILeaveEntity } from "./leave.entity.interface";
|
|
@@ -70,7 +72,9 @@ export declare enum EntityEnum {
|
|
|
70
72
|
ROLE = "role",
|
|
71
73
|
PROJECT_USER_MAPPING = "project_user_mapping",
|
|
72
74
|
CLIENT_USER_MAPPING = "client_user_mapping",
|
|
73
|
-
ROLE_PERMISSION_MAPPING = "role_permission_mapping"
|
|
75
|
+
ROLE_PERMISSION_MAPPING = "role_permission_mapping",
|
|
76
|
+
HOLIDAY = "holiday",
|
|
77
|
+
HOLIDAY_LIST = "holiday_list"
|
|
74
78
|
}
|
|
75
79
|
export type EntityRelations = {
|
|
76
80
|
[K in EntityEnum]: K;
|
|
@@ -100,7 +104,7 @@ export type IBaseEntityApiResponse<T extends {
|
|
|
100
104
|
[K in EntityEnum]?: IBaseEntityApiResponse<EnumEntityType<K>>;
|
|
101
105
|
};
|
|
102
106
|
};
|
|
103
|
-
export type EnumEntityType<T extends EntityEnum> = (T extends EntityEnum.BILLING ? IBillingEntity : T extends EntityEnum.BILLING_TIMESHEET ? IBillingTimesheetEntity : T extends EntityEnum.TIMESHEET ? ITimesheetEntity : T extends EntityEnum.USER ? IUserEntity : T extends EntityEnum.PROJECT ? IProjectEntity : T extends EntityEnum.CLIENT ? IClientEntity : T extends EntityEnum.LEAVE ? ILeaveEntity : T extends EntityEnum.BANK ? IBankEntity : T extends EntityEnum.BANK_HISTORY ? IBankHistoryEntity : T extends EntityEnum.BILLING_PAYMENT ? IBillingPaymentEntity : T extends EntityEnum.BILLING_TRANSACTION ? IBillingTransactionEntity : T extends EntityEnum.CLIENT_AFFILIATE ? IClientAffiliateEntity : T extends EntityEnum.CONFIGURATION ? IConfigurationEntity : T extends EntityEnum.COUNTRY ? ICountryEntity : T extends EntityEnum.EXPENSE_TYPE ? IExpenseTypeEntity : T extends EntityEnum.INDUSTRY ? IIndustryEntity : T extends EntityEnum.INTERMEDIARY_BANK ? IIntermediaryBankEntity : T extends EntityEnum.OFFICE_LOCATION ? IOfficeLocationEntity : T extends EntityEnum.PERMISSION ? IPermissionEntity : T extends EntityEnum.ROLE ? IRoleEntity : T extends EntityEnum.TASK ? ITaskEntity : T extends EntityEnum.DESIGNATION ? IDesignationEntity : T extends EntityEnum.RATE ? IRateEntity : T extends EntityEnum.REIMBURSEMENT ? IReimbursementEntity : T extends EntityEnum.REIMBURSEMENT_EXPENSE ? IReimbursementExpenseEntity : T extends EntityEnum.WORK_FROM_HOME ? IWorkFromHomeEntity : T extends EntityEnum.ORGANIZATION ? IOrganizationEntity : T extends EntityEnum.PROJECT_USER_MAPPING ? IProjectUserMappingEntity : T extends EntityEnum.CLIENT_USER_MAPPING ? IClientUserMappingEntity : T extends EntityEnum.ROLE_PERMISSION_MAPPING ? IRolePermissionMappingEntity : never) & {
|
|
107
|
+
export type EnumEntityType<T extends EntityEnum> = (T extends EntityEnum.BILLING ? IBillingEntity : T extends EntityEnum.BILLING_TIMESHEET ? IBillingTimesheetEntity : T extends EntityEnum.TIMESHEET ? ITimesheetEntity : T extends EntityEnum.USER ? IUserEntity : T extends EntityEnum.PROJECT ? IProjectEntity : T extends EntityEnum.CLIENT ? IClientEntity : T extends EntityEnum.LEAVE ? ILeaveEntity : T extends EntityEnum.BANK ? IBankEntity : T extends EntityEnum.BANK_HISTORY ? IBankHistoryEntity : T extends EntityEnum.BILLING_PAYMENT ? IBillingPaymentEntity : T extends EntityEnum.BILLING_TRANSACTION ? IBillingTransactionEntity : T extends EntityEnum.CLIENT_AFFILIATE ? IClientAffiliateEntity : T extends EntityEnum.CONFIGURATION ? IHolidayEntity : T extends EntityEnum.HOLIDAY ? IHolidayListEntity : T extends EntityEnum.HOLIDAY_LIST ? IConfigurationEntity : T extends EntityEnum.COUNTRY ? ICountryEntity : T extends EntityEnum.EXPENSE_TYPE ? IExpenseTypeEntity : T extends EntityEnum.INDUSTRY ? IIndustryEntity : T extends EntityEnum.INTERMEDIARY_BANK ? IIntermediaryBankEntity : T extends EntityEnum.OFFICE_LOCATION ? IOfficeLocationEntity : T extends EntityEnum.PERMISSION ? IPermissionEntity : T extends EntityEnum.ROLE ? IRoleEntity : T extends EntityEnum.TASK ? ITaskEntity : T extends EntityEnum.DESIGNATION ? IDesignationEntity : T extends EntityEnum.RATE ? IRateEntity : T extends EntityEnum.REIMBURSEMENT ? IReimbursementEntity : T extends EntityEnum.REIMBURSEMENT_EXPENSE ? IReimbursementExpenseEntity : T extends EntityEnum.WORK_FROM_HOME ? IWorkFromHomeEntity : T extends EntityEnum.ORGANIZATION ? IOrganizationEntity : T extends EntityEnum.PROJECT_USER_MAPPING ? IProjectUserMappingEntity : T extends EntityEnum.CLIENT_USER_MAPPING ? IClientUserMappingEntity : T extends EntityEnum.ROLE_PERMISSION_MAPPING ? IRolePermissionMappingEntity : never) & {
|
|
104
108
|
id: number;
|
|
105
109
|
};
|
|
106
110
|
export type EntityRelationConfig<T extends EntityEnum> = {
|
|
@@ -33,4 +33,6 @@ var EntityEnum;
|
|
|
33
33
|
EntityEnum["PROJECT_USER_MAPPING"] = "project_user_mapping";
|
|
34
34
|
EntityEnum["CLIENT_USER_MAPPING"] = "client_user_mapping";
|
|
35
35
|
EntityEnum["ROLE_PERMISSION_MAPPING"] = "role_permission_mapping";
|
|
36
|
+
EntityEnum["HOLIDAY"] = "holiday";
|
|
37
|
+
EntityEnum["HOLIDAY_LIST"] = "holiday_list";
|
|
36
38
|
})(EntityEnum || (exports.EntityEnum = EntityEnum = {}));
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IAuditColumnEntity } from "./audit-column.entity.interface";
|
|
2
|
+
import { IEntityCreateDto, IEntityFilterData, IEntityUpdateDto } from "./entity.utils.interface";
|
|
3
|
+
export interface IHolidayListEntity extends IAuditColumnEntity {
|
|
4
|
+
id: number;
|
|
5
|
+
description: string;
|
|
6
|
+
}
|
|
7
|
+
export interface IHolidayListCreateDto extends IEntityCreateDto<IHolidayListEntity> {
|
|
8
|
+
}
|
|
9
|
+
export interface IHolidayListUpdateDto extends IEntityUpdateDto<IHolidayListEntity> {
|
|
10
|
+
}
|
|
11
|
+
export interface IHolidayListFilterDto extends IEntityFilterData<IHolidayListEntity> {
|
|
12
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IAuditColumnEntity } from "./audit-column.entity.interface";
|
|
2
|
+
import { IEntityCreateDto, IEntityFilterData, IEntityUpdateDto } from "./entity.utils.interface";
|
|
3
|
+
export interface IHolidayEntity extends IAuditColumnEntity {
|
|
4
|
+
id: number;
|
|
5
|
+
holidayListId: number;
|
|
6
|
+
dateCode: string;
|
|
7
|
+
}
|
|
8
|
+
export interface IHolidayCreateDto extends IEntityCreateDto<IHolidayEntity> {
|
|
9
|
+
}
|
|
10
|
+
export interface IHolidayUpdateDto extends IEntityUpdateDto<IHolidayEntity> {
|
|
11
|
+
}
|
|
12
|
+
export interface IHolidayFilterDto extends IEntityFilterData<IHolidayEntity> {
|
|
13
|
+
}
|
|
@@ -1,13 +1,26 @@
|
|
|
1
|
+
import { LeaveTypeEnum } from "../enums/leave-type.enum";
|
|
1
2
|
import { LeaveStatusEnum } from "../enums/leave.status.enum";
|
|
2
3
|
import { IAuditColumnEntity } from "./audit-column.entity.interface";
|
|
3
4
|
import { IEntityFilterData } from "./entity.utils.interface";
|
|
5
|
+
import { IUserEntity } from "./user.entity.interface";
|
|
4
6
|
export interface ILeaveEntity extends IAuditColumnEntity {
|
|
5
7
|
id: number;
|
|
6
8
|
employeeId: number;
|
|
7
9
|
fromDate: string;
|
|
8
10
|
toDate: string;
|
|
9
11
|
reason: string;
|
|
12
|
+
type: LeaveTypeEnum;
|
|
10
13
|
status: LeaveStatusEnum;
|
|
11
14
|
remark?: string;
|
|
12
15
|
}
|
|
13
16
|
export type ILeaveEntityFilterData = IEntityFilterData<ILeaveEntity>;
|
|
17
|
+
export interface ILeaveDtoInclude {
|
|
18
|
+
fromType: LeaveTypeEnum;
|
|
19
|
+
toType?: LeaveTypeEnum;
|
|
20
|
+
}
|
|
21
|
+
export interface ILeaveEntityCreateDtoValidationData {
|
|
22
|
+
userEntity: IUserEntity;
|
|
23
|
+
}
|
|
24
|
+
export interface ILeaveEntityUpdateDtoValidationData extends ILeaveEntityCreateDtoValidationData {
|
|
25
|
+
leaveEntity: ILeaveEntity;
|
|
26
|
+
}
|
|
@@ -17,6 +17,7 @@ export declare enum ErrorKeyEnum {
|
|
|
17
17
|
LEAVE_FLOW = "LEAVE_FLOW",
|
|
18
18
|
LEAVE_KEY = "LEAVE_KEY",
|
|
19
19
|
LEAVE_FLOW_ACTION = "LEAVE_FLOW_ACTION",
|
|
20
|
+
LEAVE_TYPE = "LEAVE_TYPE",
|
|
20
21
|
WORK_FROM_HOME_FLOW_ACTION = "WORK_FROM_HOME_FLOW_ACTION",
|
|
21
22
|
WORK_FROM_HOME_STATUS = "WORK_FROM_HOME_STATUS",
|
|
22
23
|
WORK_FROM_HOME_FLOW = "WORK_FROM_HOME_FLOW",
|
|
@@ -21,6 +21,7 @@ var ErrorKeyEnum;
|
|
|
21
21
|
ErrorKeyEnum["LEAVE_FLOW"] = "LEAVE_FLOW";
|
|
22
22
|
ErrorKeyEnum["LEAVE_KEY"] = "LEAVE_KEY";
|
|
23
23
|
ErrorKeyEnum["LEAVE_FLOW_ACTION"] = "LEAVE_FLOW_ACTION";
|
|
24
|
+
ErrorKeyEnum["LEAVE_TYPE"] = "LEAVE_TYPE";
|
|
24
25
|
ErrorKeyEnum["WORK_FROM_HOME_FLOW_ACTION"] = "WORK_FROM_HOME_FLOW_ACTION";
|
|
25
26
|
ErrorKeyEnum["WORK_FROM_HOME_STATUS"] = "WORK_FROM_HOME_STATUS";
|
|
26
27
|
ErrorKeyEnum["WORK_FROM_HOME_FLOW"] = "WORK_FROM_HOME_FLOW";
|
|
@@ -166,3 +166,4 @@ export declare function numberToWordsIndian(numStr: string): string;
|
|
|
166
166
|
* minutesToHoursMinutes(135);// Output: "02:15"
|
|
167
167
|
*/
|
|
168
168
|
export declare function minutesToHoursMinutes(totalMinutes: number): string;
|
|
169
|
+
export declare function createKeyLabelMap<Entity>(): Record<keyof Entity, string>;
|
|
@@ -29,6 +29,7 @@ exports.getPropertyFilterByPermissionFn = getPropertyFilterByPermissionFn;
|
|
|
29
29
|
exports.setResponseValue = setResponseValue;
|
|
30
30
|
exports.numberToWordsIndian = numberToWordsIndian;
|
|
31
31
|
exports.minutesToHoursMinutes = minutesToHoursMinutes;
|
|
32
|
+
exports.createKeyLabelMap = createKeyLabelMap;
|
|
32
33
|
const util_constants_1 = require("../constants/util.constants");
|
|
33
34
|
function groupByFunction(list, keyGetter) {
|
|
34
35
|
const map = new Map();
|
|
@@ -354,3 +355,15 @@ function minutesToHoursMinutes(totalMinutes) {
|
|
|
354
355
|
const minutesStr = minutes.toString().padStart(2, "0");
|
|
355
356
|
return `${hoursStr}:${minutesStr}`;
|
|
356
357
|
}
|
|
358
|
+
function createKeyLabelMap() {
|
|
359
|
+
return new Proxy({}, {
|
|
360
|
+
get: (_, prop) => {
|
|
361
|
+
// Convert camelCase to words (e.g., employeeId -> Employee ID)
|
|
362
|
+
return prop
|
|
363
|
+
.replace(/([a-z])([A-Z])/g, "$1 $2")
|
|
364
|
+
.split(" ")
|
|
365
|
+
.map((word) => word.charAt(0).toUpperCase() + word.slice(1))
|
|
366
|
+
.join(" ");
|
|
367
|
+
},
|
|
368
|
+
});
|
|
369
|
+
}
|
package/package.json
CHANGED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export declare enum LeaveEntityKeysEnum {
|
|
2
|
-
id = "id",
|
|
3
|
-
employeeId = "employeeId",
|
|
4
|
-
fromDate = "fromDate",
|
|
5
|
-
toDate = "toDate",
|
|
6
|
-
reason = "reason",
|
|
7
|
-
status = "status",
|
|
8
|
-
remark = "remark"
|
|
9
|
-
}
|
|
10
|
-
export declare namespace LeaveEntityKeysEnum {
|
|
11
|
-
const keyLabelMap: Record<LeaveEntityKeysEnum, string>;
|
|
12
|
-
function getLabel(key: LeaveEntityKeysEnum): string;
|
|
13
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LeaveEntityKeysEnum = void 0;
|
|
4
|
-
const error_key_enum_1 = require("../../enums/error.key.enum");
|
|
5
|
-
const exceptions_1 = require("../../exceptions");
|
|
6
|
-
var LeaveEntityKeysEnum;
|
|
7
|
-
(function (LeaveEntityKeysEnum) {
|
|
8
|
-
LeaveEntityKeysEnum["id"] = "id";
|
|
9
|
-
LeaveEntityKeysEnum["employeeId"] = "employeeId";
|
|
10
|
-
LeaveEntityKeysEnum["fromDate"] = "fromDate";
|
|
11
|
-
LeaveEntityKeysEnum["toDate"] = "toDate";
|
|
12
|
-
LeaveEntityKeysEnum["reason"] = "reason";
|
|
13
|
-
LeaveEntityKeysEnum["status"] = "status";
|
|
14
|
-
LeaveEntityKeysEnum["remark"] = "remark";
|
|
15
|
-
})(LeaveEntityKeysEnum || (exports.LeaveEntityKeysEnum = LeaveEntityKeysEnum = {}));
|
|
16
|
-
(function (LeaveEntityKeysEnum) {
|
|
17
|
-
LeaveEntityKeysEnum.keyLabelMap = {
|
|
18
|
-
[LeaveEntityKeysEnum.id]: "Leave ID",
|
|
19
|
-
[LeaveEntityKeysEnum.employeeId]: "Employee ID",
|
|
20
|
-
[LeaveEntityKeysEnum.fromDate]: "From Date",
|
|
21
|
-
[LeaveEntityKeysEnum.toDate]: "To Date",
|
|
22
|
-
[LeaveEntityKeysEnum.reason]: "Reason",
|
|
23
|
-
[LeaveEntityKeysEnum.status]: "Status",
|
|
24
|
-
[LeaveEntityKeysEnum.remark]: "Remark",
|
|
25
|
-
};
|
|
26
|
-
function getLabel(key) {
|
|
27
|
-
if (!Object.values(LeaveEntityKeysEnum).includes(key)) {
|
|
28
|
-
throw new exceptions_1.AppBadRequestException({
|
|
29
|
-
key: error_key_enum_1.ErrorKeyEnum.LEAVE_KEY,
|
|
30
|
-
message: ["Invalid key name"],
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
const label = LeaveEntityKeysEnum.keyLabelMap[key];
|
|
34
|
-
if (!label) {
|
|
35
|
-
throw new exceptions_1.AppBadRequestException({
|
|
36
|
-
key: error_key_enum_1.ErrorKeyEnum.LEAVE_KEY,
|
|
37
|
-
message: ["Invalid key name"],
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
return label;
|
|
41
|
-
}
|
|
42
|
-
LeaveEntityKeysEnum.getLabel = getLabel;
|
|
43
|
-
})(LeaveEntityKeysEnum || (exports.LeaveEntityKeysEnum = LeaveEntityKeysEnum = {}));
|