law-common 14.0.0 → 14.0.1-beta.1

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 (29) hide show
  1. package/README.md +1 -1
  2. package/dist/src/api/interface/address_book.update.dto.interface.d.ts +8 -1
  3. package/dist/src/api/interface/bank.update.dto.interface.d.ts +1 -1
  4. package/dist/src/api/interface/billing.flow.update.dto.d.ts +4 -0
  5. package/dist/src/api/interface/billing.update.dto.interface.d.ts +5 -1
  6. package/dist/src/api/interface/billing_transaction.update.dto.interface.d.ts +1 -1
  7. package/dist/src/api/interface/client.update.dto.interface.d.ts +6 -1
  8. package/dist/src/api/interface/client_affiliate.update.dto.interface.d.ts +6 -1
  9. package/dist/src/api/interface/client_quote.update.dto.interface.d.ts +8 -1
  10. package/dist/src/api/interface/document_upload.update.dto.interface.d.ts +6 -0
  11. package/dist/src/api/interface/expense_head.update.dto.interface.d.ts +8 -1
  12. package/dist/src/api/interface/expense_type.update.dto.interface.d.ts +6 -1
  13. package/dist/src/api/interface/gst_rate.update.dto.interface.d.ts +8 -1
  14. package/dist/src/api/interface/holiday.update.dto.interface.d.ts +6 -1
  15. package/dist/src/api/interface/holiday_list.update.dto.interface.d.ts +6 -1
  16. package/dist/src/api/interface/leave.update.dto.interface.d.ts +1 -1
  17. package/dist/src/api/interface/moving_timesheet.update.dto.interface.d.ts +1 -1
  18. package/dist/src/api/interface/office_location.update.dto.interface.d.ts +6 -1
  19. package/dist/src/api/interface/organization_type.update.dto.interface.d.ts +8 -1
  20. package/dist/src/api/interface/project.update.dto.interface.d.ts +6 -1
  21. package/dist/src/api/interface/reimbursement.update.dto.interface.d.ts +1 -1
  22. package/dist/src/api/interface/tds_rate.update.dto.interface.d.ts +8 -1
  23. package/dist/src/api/interface/timesheet.update.dto.interface.d.ts +1 -1
  24. package/dist/src/api/interface/to_do_list.update.dto.interface.d.ts +6 -1
  25. package/dist/src/api/interface/voucher_type.update.dto.interface.d.ts +8 -1
  26. package/dist/src/entities/enums/leave_action_enum.d.ts +1 -0
  27. package/dist/src/entities/enums/leave_action_enum.js +2 -1
  28. package/dist/src/entities/flow-configs/leave_flow.config.js +7 -0
  29. package/package.json +1 -1
package/README.md CHANGED
@@ -1 +1 @@
1
- # law-common
1
+ # law-common
@@ -1,3 +1,10 @@
1
+ import { AddressBookActionEnum } from "../../entities";
1
2
  import { IAddressBookCreateDto } from "./address_book.create.dto.interface";
2
3
  import { DeepPartialButRequired } from "./api.utils.interface";
3
- export type IAddressBookUpdateDto = DeepPartialButRequired<IAddressBookCreateDto, never>;
4
+ export type IAddressBookUpdateDto = DeepPartialButRequired<IAddressBookCreateDto, never> & {
5
+ actionData: IAddressBookActionDataDto;
6
+ };
7
+ export interface IAddressBookActionDataDto {
8
+ action: AddressBookActionEnum;
9
+ remark?: string;
10
+ }
@@ -8,6 +8,6 @@ export interface IBankEntityUpdateDtoValidationData {
8
8
  bankEntity: IBankEntity;
9
9
  }
10
10
  export interface IBankUpdateDto extends IEntityUpdateDto<IBankEntity> {
11
- actionData?: IBankActionDataDto;
11
+ actionData: IBankActionDataDto;
12
12
  intermediaryBankDetails?: IIntermediaryBankUpdateDto[];
13
13
  }
@@ -1,4 +1,8 @@
1
1
  import { BillingActionsEnum } from "../../entities";
2
2
  export interface IBillingFlowUpdateDto {
3
+ actionData: IBillingFlowActionDataDto;
4
+ }
5
+ export interface IBillingFlowActionDataDto {
3
6
  action: BillingActionsEnum;
7
+ remark?: string;
4
8
  }
@@ -3,11 +3,15 @@ import { IBillingEntityCreateDtoValidationData, IBillingParticulars } from "./bi
3
3
  import { IBillingParticularLineItemUpdateDto } from "./billing_particular_line_item.update.dto.interface";
4
4
  import { IBillingReimbursementExpenseUpdateDto } from "./billing_reimbursement_expense.update.dto.interface";
5
5
  import { IBillingTimesheetUpdateDto } from "./billing_timesheet.update.dto.interface";
6
+ export interface IBillingActionDataDto {
7
+ action: BillingActionsEnum;
8
+ remark?: string;
9
+ }
6
10
  export type IBillingUpdateDtoExclude = "draftInvoiceNumber" | "invoiceNumber";
7
11
  export interface IBillingUpdateDto extends Omit<IEntityUpdateDto<IBillingEntity>, IBillingUpdateDtoExclude> {
8
12
  }
9
13
  export interface IUpdateBillingDto extends Omit<IBillingUpdateDto, "particulars"> {
10
- action?: BillingActionsEnum;
14
+ actionData: IBillingActionDataDto;
11
15
  timesheets?: IBillingTimesheetUpdateDto[];
12
16
  reimbursementExpenses?: IBillingReimbursementExpenseUpdateDto[];
13
17
  particulars?: IBillingParticulars;
@@ -6,7 +6,7 @@ export interface IBillingTransactionActionDataDto {
6
6
  action: BillingTransactionActionEnum;
7
7
  }
8
8
  export interface IBillingTransactionUpdateDto extends IEntityUpdateDto<IBillingTransactionEntity>, IBillingTransactionSupportingDocsDetails {
9
- actionData?: IBillingTransactionActionDataDto;
9
+ actionData: IBillingTransactionActionDataDto;
10
10
  }
11
11
  export interface IBillingTransactionUpdateDtoValidationResult {
12
12
  billingTransactionEntity: IBillingTransactionEntity;
@@ -1,8 +1,13 @@
1
- import { EntityEnum, EnumEntityType, IClientEntity, IClientEntityDependent, IClientIntroducingMappingEntity, IClientUserMappingEntity, IEntityUpdateDto } from "../../entities";
1
+ import { ClientActionEnum, EntityEnum, EnumEntityType, IClientEntity, IClientEntityDependent, IClientIntroducingMappingEntity, IClientUserMappingEntity, IEntityUpdateDto } from "../../entities";
2
2
  import { IDeleteDocumentDetails } from "../../misc";
3
3
  import { IClientExclude } from "./client.create.dto.interface";
4
4
  export interface IClientEntityUpdateDto extends Omit<IEntityUpdateDto<IClientEntity>, IClientExclude>, Partial<IClientEntityDependent> {
5
5
  deleteDocumentDetails?: IDeleteDocumentDetails<EnumEntityType<EntityEnum.CLIENT>>;
6
+ actionData: IClientActionDataDto;
7
+ }
8
+ export interface IClientActionDataDto {
9
+ action: ClientActionEnum;
10
+ remark?: string;
6
11
  }
7
12
  export interface IClientEntityUpdateDtoValidationData {
8
13
  clientEntity: IClientEntity;
@@ -1,8 +1,13 @@
1
- import { EntityEnum, EnumEntityType, IClientAffiliateEntity, IEntityUpdateDto } from "../../entities";
1
+ import { ClientAffiliateActionEnum, EntityEnum, EnumEntityType, IClientAffiliateEntity, IEntityUpdateDto } from "../../entities";
2
2
  import { IDeleteDocumentDetails } from "../../misc";
3
3
  import { IClientAffiliateExclude } from "./client_affiliate.create.dto.interface";
4
4
  export interface IClientAffiliateUpdateDto extends Omit<IEntityUpdateDto<IClientAffiliateEntity>, IClientAffiliateExclude> {
5
5
  deleteDocumentDetails?: IDeleteDocumentDetails<EnumEntityType<EntityEnum.CLIENT_AFFILIATE>>;
6
+ actionData: IClientAffiliateActionDataDto;
7
+ }
8
+ export interface IClientAffiliateActionDataDto {
9
+ action: ClientAffiliateActionEnum;
10
+ remark?: string;
6
11
  }
7
12
  export interface IClientAffiliateEntityUpdateDtoValidationData {
8
13
  clientAffiliateEntity: IClientAffiliateEntity;
@@ -1,3 +1,10 @@
1
+ import { ClientQuoteActionEnum } from "../../entities";
1
2
  import { DeepPartialButRequired } from "./api.utils.interface";
2
3
  import { IClientQuoteCreateDto } from "./client_quote.create.dto.interface";
3
- export type IClientQuoteUpdateDto = DeepPartialButRequired<IClientQuoteCreateDto, never>;
4
+ export type IClientQuoteUpdateDto = DeepPartialButRequired<IClientQuoteCreateDto, never> & {
5
+ actionData: IClientQuoteActionDataDto;
6
+ };
7
+ export interface IClientQuoteActionDataDto {
8
+ action: ClientQuoteActionEnum;
9
+ remark?: string;
10
+ }
@@ -1,7 +1,13 @@
1
+ import { DocumentUploadActionEnum } from "../../entities";
1
2
  import { DeepPartialButRequired } from "./api.utils.interface";
2
3
  import { IDeleteDocumentDetails } from "../../misc";
3
4
  import { EntityEnum, EnumEntityType } from "../../entities";
4
5
  import { IDocumentUploadCreateDto } from "./document_upload.create.dto.interface";
5
6
  export type IDocumentUploadUpdateDto = DeepPartialButRequired<IDocumentUploadCreateDto, never> & {
6
7
  deleteDocumentDetails?: IDeleteDocumentDetails<EnumEntityType<EntityEnum.DOCUMENT_UPLOAD>>;
8
+ actionData: IDocumentUploadActionDataDto;
7
9
  };
10
+ export interface IDocumentUploadActionDataDto {
11
+ action: DocumentUploadActionEnum;
12
+ remark?: string;
13
+ }
@@ -1,3 +1,10 @@
1
+ import { ExpenseHeadActionEnum } from "../../entities";
1
2
  import { DeepPartialButRequired } from "./api.utils.interface";
2
3
  import { IExpenseHeadCreateDto } from "./expense_head.create.dto.interface";
3
- export type IExpenseHeadUpdateDto = DeepPartialButRequired<IExpenseHeadCreateDto, never>;
4
+ export type IExpenseHeadUpdateDto = DeepPartialButRequired<IExpenseHeadCreateDto, never> & {
5
+ actionData: IExpenseHeadActionDataDto;
6
+ };
7
+ export interface IExpenseHeadActionDataDto {
8
+ action: ExpenseHeadActionEnum;
9
+ remark?: string;
10
+ }
@@ -1,8 +1,13 @@
1
- import { ExpenseTypeEnum, IExpenseTypeEntity } from "../../entities";
1
+ import { ExpenseTypeActionEnum, ExpenseTypeEnum, IExpenseTypeEntity } from "../../entities";
2
2
  export interface IExpenseTypeUpdateDto {
3
3
  name?: string;
4
4
  description?: string;
5
5
  type?: ExpenseTypeEnum;
6
+ actionData: IExpenseTypeActionDataDto;
7
+ }
8
+ export interface IExpenseTypeActionDataDto {
9
+ action: ExpenseTypeActionEnum;
10
+ remark?: string;
6
11
  }
7
12
  export interface IExpenseTypeUpdateDtoValidationData {
8
13
  existingEntity: IExpenseTypeEntity;
@@ -1,3 +1,10 @@
1
+ import { GstRateActionEnum } from "../../entities";
1
2
  import { DeepPartialButRequired } from "./api.utils.interface";
2
3
  import { IGstRateCreateDto } from "./gst_rate.create.dto.interface";
3
- export type IGstRateUpdateDto = DeepPartialButRequired<IGstRateCreateDto, never>;
4
+ export type IGstRateUpdateDto = DeepPartialButRequired<IGstRateCreateDto, never> & {
5
+ actionData: IGstRateActionDataDto;
6
+ };
7
+ export interface IGstRateActionDataDto {
8
+ action: GstRateActionEnum;
9
+ remark?: string;
10
+ }
@@ -1,5 +1,10 @@
1
- import { IEntityUpdateDto } from "../../entities";
1
+ import { IEntityUpdateDto, HolidayActionEnum } from "../../entities";
2
2
  import { IHolidayEntity } from "../../entities/interface/holiday.entity.interface";
3
3
  import { IHolidayExclude } from "./holiday.create.dto.interface";
4
4
  export interface IHolidayUpdateDto extends Omit<IEntityUpdateDto<IHolidayEntity>, IHolidayExclude> {
5
+ actionData: IHolidayActionDataDto;
6
+ }
7
+ export interface IHolidayActionDataDto {
8
+ action: HolidayActionEnum;
9
+ remark?: string;
5
10
  }
@@ -1,5 +1,10 @@
1
- import { IEntityUpdateDto } from "../../entities";
1
+ import { IEntityUpdateDto, HolidayListActionEnum } from "../../entities";
2
2
  import { IHolidayListEntity } from "../../entities/interface/holiday_list.entity.interface";
3
3
  import { IHolidayListExclude } from "./holiday_list.create.dto.interface";
4
4
  export interface IHolidayListUpdateDto extends Omit<IEntityUpdateDto<IHolidayListEntity>, IHolidayListExclude> {
5
+ actionData: IHolidayListActionDataDto;
6
+ }
7
+ export interface IHolidayListActionDataDto {
8
+ action: HolidayListActionEnum;
9
+ remark?: string;
5
10
  }
@@ -5,7 +5,7 @@ export interface ILeaveActionDataDto {
5
5
  remark?: string;
6
6
  }
7
7
  export interface ILeaveUpdateDto extends IEntityUpdateDto<ILeaveEntity>, Partial<ILeaveDtoInclude> {
8
- actionData?: ILeaveActionDataDto;
8
+ actionData: ILeaveActionDataDto;
9
9
  }
10
10
  export interface ILeaveEntityUpdateDtoValidationData extends ILeaveEntityCreateDtoValidationData {
11
11
  leaveEntity: ILeaveEntity;
@@ -4,5 +4,5 @@ export interface IMovingTimesheetActionDataDto {
4
4
  action: MovingTimesheetActionEnum;
5
5
  }
6
6
  export interface IMovingTimesheetUpdateDto extends Omit<IEntityUpdateDto<IMovingTimesheetEntity>, IMovingTimesheetDtoExclude> {
7
- actionData?: IMovingTimesheetActionDataDto;
7
+ actionData: IMovingTimesheetActionDataDto;
8
8
  }
@@ -1,4 +1,9 @@
1
- import { IEntityUpdateDto, IOfficeLocationEntity } from "../../entities";
1
+ import { IEntityUpdateDto, IOfficeLocationEntity, OfficeLocationActionEnum } from "../../entities";
2
2
  import { IOfficeLocationExclude } from "./office_location.create.dto.interface";
3
3
  export interface IOfficeLocationUpdateDto extends Omit<IEntityUpdateDto<IOfficeLocationEntity>, IOfficeLocationExclude> {
4
+ actionData: IOfficeLocationActionDataDto;
5
+ }
6
+ export interface IOfficeLocationActionDataDto {
7
+ action: OfficeLocationActionEnum;
8
+ remark?: string;
4
9
  }
@@ -1,3 +1,10 @@
1
+ import { OrganizationTypeActionEnum } from "../../entities";
1
2
  import { DeepPartialButRequired } from "./api.utils.interface";
2
3
  import { IOrganizationTypeCreateDto } from "./organization_type.create.dto.interface";
3
- export type IOrganizationTypeUpdateDto = DeepPartialButRequired<IOrganizationTypeCreateDto, never>;
4
+ export type IOrganizationTypeUpdateDto = DeepPartialButRequired<IOrganizationTypeCreateDto, never> & {
5
+ actionData: IOrganizationTypeActionDataDto;
6
+ };
7
+ export interface IOrganizationTypeActionDataDto {
8
+ action: OrganizationTypeActionEnum;
9
+ remark?: string;
10
+ }
@@ -1,6 +1,11 @@
1
- import { IEntityUpdateDto, IProjectEntity, IProjectRevenueSplitMappingEntity, IProjectUserMappingEntity } from "../../entities";
1
+ import { IEntityUpdateDto, IProjectEntity, IProjectRevenueSplitMappingEntity, IProjectUserMappingEntity, ProjectActionEnum } from "../../entities";
2
2
  import { IProjectCreateDtoExtra, IProjectEntityCreateDtoValidationData, IProjectEntityDependent, IProjectExclude } from "./project.create.dto.interface";
3
3
  export interface IProjectEntityUpdateDto extends Omit<IEntityUpdateDto<IProjectEntity>, IProjectExclude>, Partial<IProjectEntityDependent>, Partial<IProjectCreateDtoExtra> {
4
+ actionData: IProjectActionDataDto;
5
+ }
6
+ export interface IProjectActionDataDto {
7
+ action: ProjectActionEnum;
8
+ remark?: string;
4
9
  }
5
10
  export interface IProjectEntityUpdateDtoValidationData extends IProjectEntityCreateDtoValidationData {
6
11
  projectEntity: IProjectEntity;
@@ -5,7 +5,7 @@ export interface IReimbursementActionDataDto {
5
5
  }
6
6
  export interface IReimbursementUpdateDto extends IEntityUpdateDto<IReimbursementEntity> {
7
7
  expenseDetails?: IReimbursementExpenseAllocation[];
8
- actionData?: IReimbursementActionDataDto;
8
+ actionData: IReimbursementActionDataDto;
9
9
  }
10
10
  export interface IReimbursementEntityUpdateDtoValidationData {
11
11
  projectUserMappingEntities: IProjectUserMappingEntity[];
@@ -1,3 +1,10 @@
1
+ import { TdsRateActionEnum } from "../../entities";
1
2
  import { DeepPartialButRequired } from "./api.utils.interface";
2
3
  import { ITdsRateCreateDto } from "./tds_rate.create.dto.interface";
3
- export type ITdsRateUpdateDto = DeepPartialButRequired<ITdsRateCreateDto, never>;
4
+ export type ITdsRateUpdateDto = DeepPartialButRequired<ITdsRateCreateDto, never> & {
5
+ actionData: ITdsRateActionDataDto;
6
+ };
7
+ export interface ITdsRateActionDataDto {
8
+ action: TdsRateActionEnum;
9
+ remark?: string;
10
+ }
@@ -5,7 +5,7 @@ export interface IActionDataDto {
5
5
  remark?: string;
6
6
  }
7
7
  export interface ITimesheetEntityUpdateDto extends IEntityUpdateDto<ITimesheetEntity> {
8
- actionData?: IActionDataDto;
8
+ actionData: IActionDataDto;
9
9
  }
10
10
  export interface ITimesheetEntityUpdateDtoValidationData extends ITimesheetEntityCreateDtoValidationData {
11
11
  }
@@ -1,6 +1,11 @@
1
- import { IEntityUpdateDto, IToDoListEntity } from "../../entities";
1
+ import { IEntityUpdateDto, IToDoListEntity, ToDoListActionEnum } from "../../entities";
2
2
  import { IToDoListExclude } from "./to_do_list.create.dto.interface";
3
3
  export interface IToDoListUpdateDto extends Omit<IEntityUpdateDto<IToDoListEntity>, IToDoListExclude> {
4
+ actionData: IToDoListActionDataDto;
5
+ }
6
+ export interface IToDoListActionDataDto {
7
+ action: ToDoListActionEnum;
8
+ remark?: string;
4
9
  }
5
10
  export interface IToDoListEntityUpdateDtoValidationData {
6
11
  toDoListEntity: IToDoListEntity;
@@ -1,3 +1,10 @@
1
+ import { VoucherTypeActionEnum } from "../../entities";
1
2
  import { DeepPartialButRequired } from "./api.utils.interface";
2
3
  import { IVoucherTypeCreateDto } from "./voucher_type.create.dto.interface";
3
- export type IVoucherTypeUpdateDto = DeepPartialButRequired<IVoucherTypeCreateDto, never>;
4
+ export type IVoucherTypeUpdateDto = DeepPartialButRequired<IVoucherTypeCreateDto, never> & {
5
+ actionData: IVoucherTypeActionDataDto;
6
+ };
7
+ export interface IVoucherTypeActionDataDto {
8
+ action: VoucherTypeActionEnum;
9
+ remark?: string;
10
+ }
@@ -1,4 +1,5 @@
1
1
  export declare enum LeaveActionEnum {
2
+ UPDATE = "UPDATE",
2
3
  READ = "READ",
3
4
  APPROVE = "APPROVE",
4
5
  REJECT = "REJECT",
@@ -5,6 +5,7 @@ const error_key_enum_1 = require("../../enums/error.key.enum");
5
5
  const exceptions_1 = require("../../exceptions");
6
6
  var LeaveActionEnum;
7
7
  (function (LeaveActionEnum) {
8
+ LeaveActionEnum["UPDATE"] = "UPDATE";
8
9
  LeaveActionEnum["READ"] = "READ";
9
10
  // EDIT = "edit",
10
11
  LeaveActionEnum["APPROVE"] = "APPROVE";
@@ -17,7 +18,7 @@ var LeaveActionEnum;
17
18
  (function (LeaveActionEnum) {
18
19
  const actionLabelMap = {
19
20
  [LeaveActionEnum.READ]: "Read",
20
- // [LeaveActionEnum.EDIT]: "Edit",
21
+ [LeaveActionEnum.UPDATE]: "Edit",
21
22
  [LeaveActionEnum.APPROVE]: "Approve",
22
23
  [LeaveActionEnum.REJECT]: "Reject",
23
24
  [LeaveActionEnum.DELETE]: "Delete",
@@ -31,6 +31,13 @@ const ACTION_MAP = {
31
31
  reachableStatues: [],
32
32
  permissions: [],
33
33
  },
34
+ // UPDATE is declared on the enum so every entity accepts a default actionData.action, but it
35
+ // carries no transition here: the empty reachable set and empty permission list make a plain
36
+ // update on this approval-only entity fail at runtime by design (LW-833).
37
+ [leave_action_enum_1.LeaveActionEnum.UPDATE]: {
38
+ reachableStatues: [],
39
+ permissions: [],
40
+ },
34
41
  [leave_action_enum_1.LeaveActionEnum.APPROVE]: {
35
42
  reachableStatues: [leave_status_enum_1.LeaveStatusEnum.APPROVED, leave_status_enum_1.LeaveStatusEnum.DELETED],
36
43
  permissions: LEAVE_APPROVER_PERMISSION,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "law-common",
3
- "version": "14.0.0",
3
+ "version": "14.0.1-beta.1",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "files": [