law-common 10.63.0 → 10.63.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 (63) hide show
  1. package/dist/src/api/index.d.ts +3 -1
  2. package/dist/src/api/index.js +3 -1
  3. package/dist/src/api/interface/leave.api.d.ts +0 -10
  4. package/dist/src/api/interface/leave.api.js +21 -0
  5. package/dist/src/api/interface/vendor-invoice.entity.response.d.ts +30 -0
  6. package/dist/src/api/interface/vendor-invoice.entity.response.js +2 -0
  7. package/dist/src/api/interface/vendor.create.dto.interface.d.ts +1 -1
  8. package/dist/src/api/interface/vendor.entity.response.d.ts +12 -0
  9. package/dist/src/api/interface/vendor.entity.response.js +2 -0
  10. package/dist/src/api/interface/vendor.update.dto.interface.d.ts +8 -2
  11. package/dist/src/api/interface/vendor_invoice.create.dto.interface.d.ts +1 -1
  12. package/dist/src/api/interface/vendor_invoice.update.dto.interface.d.ts +7 -2
  13. package/dist/src/api/interface/vendor_invoice_item.create.dto.interface.d.ts +1 -1
  14. package/dist/src/api/interface/vendor_invoice_item.update.dto.interface.d.ts +4 -1
  15. package/dist/src/entities/enums/vendor-action.enum.d.ts +8 -0
  16. package/dist/src/entities/enums/vendor-action.enum.js +13 -0
  17. package/dist/src/entities/enums/vendor-status.enum.d.ts +9 -0
  18. package/dist/src/entities/enums/vendor-status.enum.js +13 -0
  19. package/dist/src/entities/enums/vendor_invoice_action.enum.d.ts +6 -0
  20. package/dist/src/entities/enums/vendor_invoice_action.enum.js +10 -0
  21. package/dist/src/entities/enums/vendor_invoice_action_status_enum.d.ts +5 -1
  22. package/dist/src/entities/enums/vendor_invoice_action_status_enum.js +8 -0
  23. package/dist/src/entities/enums/vendor_invoice_item_action.enum.d.ts +6 -0
  24. package/dist/src/entities/enums/vendor_invoice_item_action.enum.js +10 -0
  25. package/dist/src/entities/enums/vendor_invoice_item_status.enum.d.ts +6 -0
  26. package/dist/src/entities/enums/vendor_invoice_item_status.enum.js +10 -0
  27. package/dist/src/entities/flow-configs/flow-config.type.d.ts +14 -0
  28. package/dist/src/entities/flow-configs/flow-config.type.js +2 -0
  29. package/dist/src/entities/flow-configs/leave.flow.config.d.ts +1 -1
  30. package/dist/src/entities/flow-configs/vendor-flow.config.d.ts +2 -0
  31. package/dist/src/entities/flow-configs/vendor-flow.config.js +87 -0
  32. package/dist/src/entities/flow-configs/vendor-invoice-flow.config.d.ts +11 -0
  33. package/dist/src/entities/flow-configs/vendor-invoice-flow.config.js +105 -0
  34. package/dist/src/entities/index.d.ts +13 -0
  35. package/dist/src/entities/index.js +13 -0
  36. package/dist/src/entities/interface/entity.utils.interface.d.ts +8 -2
  37. package/dist/src/entities/interface/entity.utils.interface.js +3 -0
  38. package/dist/src/entities/interface/vendor-history.entity.interface.d.ts +7 -0
  39. package/dist/src/entities/interface/vendor-history.entity.interface.js +2 -0
  40. package/dist/src/entities/interface/vendor-invoice-item-history.entity.interface.d.ts +7 -0
  41. package/dist/src/entities/interface/vendor-invoice-item-history.entity.interface.js +2 -0
  42. package/dist/src/entities/interface/vendor.entity.interface.d.ts +3 -0
  43. package/dist/src/entities/interface/vendor_invoice.entity.interface.d.ts +3 -2
  44. package/dist/src/entities/interface/vendor_invoice_item.entity.interface.d.ts +4 -0
  45. package/dist/src/entities/interface/vendot-invoice-history.entity.interface.d.ts +7 -0
  46. package/dist/src/entities/interface/vendot-invoice-history.entity.interface.js +2 -0
  47. package/dist/src/entities/model/leave.entity.model.js +2 -1
  48. package/dist/src/entities/model/vendor.entity.model.d.ts +24 -3
  49. package/dist/src/entities/model/vendor.entity.model.js +65 -0
  50. package/dist/src/entities/model/vendor_invoice.entity.model.d.ts +22 -5
  51. package/dist/src/entities/model/vendor_invoice.entity.model.js +71 -2
  52. package/dist/src/entities/model/vendor_invoice_item.entity.model.d.ts +23 -4
  53. package/dist/src/entities/model/vendor_invoice_item.entity.model.js +71 -1
  54. package/dist/src/entities/model/work-from-home.entity.model.js +2 -1
  55. package/dist/src/enums/error.key.enum.d.ts +2 -1
  56. package/dist/src/enums/error.key.enum.js +1 -0
  57. package/dist/src/utils/code.util.d.ts +2 -0
  58. package/dist/src/utils/code.util.js +4 -0
  59. package/dist/src/utils/entity.flow.util.d.ts +45 -1
  60. package/dist/src/utils/entity.flow.util.js +69 -1
  61. package/dist/src/utils/helper.fn.util.d.ts +29 -0
  62. package/dist/src/utils/helper.fn.util.js +32 -2
  63. package/package.json +1 -1
@@ -64,9 +64,9 @@ export * from "./interface/tds_rate_voucher_type_mapping.create.dto.interface";
64
64
  export * from "./interface/tds_rate_voucher_type_mapping.update.dto.interface";
65
65
  export * from "./interface/voucher_type.create.dto.interface";
66
66
  export * from "./interface/voucher_type.update.dto.interface";
67
+ export * from "./interface/client.create.dto.interface";
67
68
  export * from "./interface/expense_head.create.dto.interface";
68
69
  export * from "./interface/expense_head.update.dto.interface";
69
- export * from "./interface/client.create.dto.interface";
70
70
  export * from "./interface/client.update.dto.interface";
71
71
  export * from "./interface/document_upload.create.dto.interface";
72
72
  export * from "./interface/document_upload.update.dto.interface";
@@ -76,6 +76,8 @@ export * from "./interface/vendor_invoice.create.dto.interface";
76
76
  export * from "./interface/vendor_invoice_item.create.dto.interface";
77
77
  export * from "./interface/vendor_invoice.update.dto.interface";
78
78
  export * from "./interface/vendor_invoice_item.update.dto.interface";
79
+ export * from "./interface/vendor-invoice.entity.response";
80
+ export * from "./interface/vendor.entity.response";
79
81
  export * from "./interface/website_lead.create.dto.interface";
80
82
  export * from "./interface/website_lead.update.dto.interface";
81
83
  export * from "./interface/website_newsletter_subscription.create.dto.interface";
@@ -84,9 +84,9 @@ __exportStar(require("./interface/tds_rate_voucher_type_mapping.create.dto.inter
84
84
  __exportStar(require("./interface/tds_rate_voucher_type_mapping.update.dto.interface"), exports);
85
85
  __exportStar(require("./interface/voucher_type.create.dto.interface"), exports);
86
86
  __exportStar(require("./interface/voucher_type.update.dto.interface"), exports);
87
+ __exportStar(require("./interface/client.create.dto.interface"), exports);
87
88
  __exportStar(require("./interface/expense_head.create.dto.interface"), exports);
88
89
  __exportStar(require("./interface/expense_head.update.dto.interface"), exports);
89
- __exportStar(require("./interface/client.create.dto.interface"), exports);
90
90
  __exportStar(require("./interface/client.update.dto.interface"), exports);
91
91
  __exportStar(require("./interface/document_upload.create.dto.interface"), exports);
92
92
  __exportStar(require("./interface/document_upload.update.dto.interface"), exports);
@@ -96,6 +96,8 @@ __exportStar(require("./interface/vendor_invoice.create.dto.interface"), exports
96
96
  __exportStar(require("./interface/vendor_invoice_item.create.dto.interface"), exports);
97
97
  __exportStar(require("./interface/vendor_invoice.update.dto.interface"), exports);
98
98
  __exportStar(require("./interface/vendor_invoice_item.update.dto.interface"), exports);
99
+ __exportStar(require("./interface/vendor-invoice.entity.response"), exports);
100
+ __exportStar(require("./interface/vendor.entity.response"), exports);
99
101
  __exportStar(require("./interface/website_lead.create.dto.interface"), exports);
100
102
  __exportStar(require("./interface/website_lead.update.dto.interface"), exports);
101
103
  __exportStar(require("./interface/website_newsletter_subscription.create.dto.interface"), exports);
@@ -14,13 +14,3 @@ export type ILeaveFlowConfig = {
14
14
  };
15
15
  };
16
16
  };
17
- export type FlowConfig<S extends string, A extends string> = {
18
- [key in S]?: {
19
- actions: {
20
- [key in A]?: {
21
- permissions: string[];
22
- next: () => S;
23
- };
24
- };
25
- };
26
- };
@@ -1,2 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ // export type FlowConfig<S extends string, A extends string> = {
4
+ // [key in S]?: {
5
+ // actions: {
6
+ // [key in A]?: {
7
+ // permissions: string[];
8
+ // next: () => S;
9
+ // };
10
+ // };
11
+ // };
12
+ // };
13
+ // export type FlowConfig<S extends string, A extends string> = {
14
+ // [key in S]?: {
15
+ // actions: {
16
+ // [key in A]?: {
17
+ // permissions: string[];
18
+ // // next: (...args: any[]) => S;
19
+ // next: () => S;
20
+ // };
21
+ // };
22
+ // };
23
+ // };
@@ -0,0 +1,30 @@
1
+ import { IVendorInvoiceEntity, VendorInvoiceActionStatusEnum, VendorInvoiceItemEntityModel } from "../../entities";
2
+ import { VendorInvoiceActionEnum } from "../../entities/enums/vendor_invoice_action.enum";
3
+ import { VendorInvoiceItemActionEnum } from "../../entities/enums/vendor_invoice_item_action.enum";
4
+ import { VendorInvoiceItemStatus } from "../../entities/enums/vendor_invoice_item_status.enum";
5
+ export interface IVendorInvoiceFlowContextData {
6
+ invoice: IVendorInvoiceEntity;
7
+ items: VendorInvoiceItemEntityModel[];
8
+ }
9
+ export type IVendorInvoiceFlowConfig = {
10
+ parent: {
11
+ [key in VendorInvoiceActionStatusEnum]?: {
12
+ actions: {
13
+ [key in VendorInvoiceActionEnum]?: {
14
+ permissions: string[];
15
+ next?: (data: IVendorInvoiceFlowContextData) => VendorInvoiceActionStatusEnum;
16
+ };
17
+ };
18
+ };
19
+ };
20
+ child: {
21
+ [key in VendorInvoiceItemStatus]?: {
22
+ actions: {
23
+ [key in VendorInvoiceItemActionEnum]?: {
24
+ permissions: string[];
25
+ next?: () => VendorInvoiceItemStatus;
26
+ };
27
+ };
28
+ };
29
+ };
30
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -23,7 +23,7 @@ export interface IVendorBankDetail {
23
23
  export type IVendorBankDetailCreateExclude = never;
24
24
  export interface IVendorBankDetailCreateDto extends Omit<IEntityCreateDto<IVendorBankDetail>, IVendorBankDetailCreateExclude> {
25
25
  }
26
- export type IVendorCreateExclude = "contactDetail" | "bankDetail" | "panDocument" | "gstDocument" | "contractDocument" | "attachmentDocuments";
26
+ export type IVendorCreateExclude = "contactDetail" | "bankDetail" | "panDocument" | "gstDocument" | "contractDocument" | "attachmentDocuments" | "status" | "remark";
27
27
  export interface IVendorCreateDto extends Omit<IEntityCreateDto<IVendorEntity>, IVendorCreateExclude> {
28
28
  contactDetail?: IVendorContactDetailCreateDto[];
29
29
  bankDetail?: IVendorBankDetailCreateDto[];
@@ -0,0 +1,12 @@
1
+ import { VendorActionEnum } from "../../entities/enums/vendor-action.enum";
2
+ import { VendorStatusEnum } from "../../entities/enums/vendor-status.enum";
3
+ export type IVendorFlowConfig = {
4
+ [key in VendorStatusEnum]?: {
5
+ actions: {
6
+ [key in VendorActionEnum]?: {
7
+ permissions: string[];
8
+ next: () => VendorStatusEnum;
9
+ };
10
+ };
11
+ };
12
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,9 +1,15 @@
1
- import { DeepPartialButRequired } from "./api.utils.interface";
1
+ import { EntityEnum, EnumEntityType, VendorActionEnum, VendorStatusEnum } from "../../entities";
2
2
  import { IDeleteDocumentDetails } from "../../misc";
3
- import { EntityEnum, EnumEntityType } from "../../entities";
3
+ import { DeepPartialButRequired } from "./api.utils.interface";
4
4
  import { IVendorBankDetailCreateDto, IVendorContactDetailCreateDto, IVendorCreateDto } from "./vendor.create.dto.interface";
5
5
  export type IVendorContactDetailUpdateDto = DeepPartialButRequired<IVendorContactDetailCreateDto, never>;
6
6
  export type IVendorBankDetailUpdateDto = DeepPartialButRequired<IVendorBankDetailCreateDto, never>;
7
7
  export type IVendorUpdateDto = DeepPartialButRequired<IVendorCreateDto, never> & {
8
8
  deleteDocumentDetails?: IDeleteDocumentDetails<EnumEntityType<EntityEnum.VENDOR>>;
9
+ actionData: IVendorActionDataDto;
10
+ status?: VendorStatusEnum;
9
11
  };
12
+ export interface IVendorActionDataDto {
13
+ action: VendorActionEnum;
14
+ remark?: string;
15
+ }
@@ -2,7 +2,7 @@ import { IEntityCreateDto, Nullable } from "../../entities";
2
2
  import { IAppFileConfig, IFilePayload, MulterFileWithUrl } from "../../misc";
3
3
  import { IVendorInvoiceEntity } from "../../entities/interface/vendor_invoice.entity.interface";
4
4
  import { IVendorInvoiceItemCreateDto } from "./vendor_invoice_item.create.dto.interface";
5
- export type IVendorInvoiceCreateExclude = "status" | "actionStatus" | "invoiceDocuments";
5
+ export type IVendorInvoiceCreateExclude = "status" | "actionStatus" | "invoiceDocuments" | "remark";
6
6
  export interface IVendorInvoiceCreateDto extends Omit<IEntityCreateDto<IVendorInvoiceEntity>, IVendorInvoiceCreateExclude> {
7
7
  invoiceDocuments?: Nullable<MulterFileWithUrl[]>;
8
8
  files: IFilePayload[];
@@ -1,7 +1,12 @@
1
- import { DeepPartialButRequired } from "./api.utils.interface";
1
+ import { EntityEnum, EnumEntityType, VendorInvoiceActionEnum } from "../../entities";
2
2
  import { IDeleteDocumentDetails } from "../../misc";
3
- import { EntityEnum, EnumEntityType } from "../../entities";
3
+ import { DeepPartialButRequired } from "./api.utils.interface";
4
4
  import { IVendorInvoiceCreateDto } from "./vendor_invoice.create.dto.interface";
5
5
  export type IVendorInvoiceUpdateDto = DeepPartialButRequired<IVendorInvoiceCreateDto, never> & {
6
6
  deleteDocumentDetails?: IDeleteDocumentDetails<EnumEntityType<EntityEnum.VENDOR_INVOICE>>;
7
+ actionData: IVendorInvoiceActionDataDto;
7
8
  };
9
+ export interface IVendorInvoiceActionDataDto {
10
+ action: VendorInvoiceActionEnum;
11
+ remark?: string;
12
+ }
@@ -1,5 +1,5 @@
1
1
  import { IEntityCreateDto } from "../../entities";
2
2
  import { IVendorInvoiceItemEntity } from "../../entities/interface/vendor_invoice_item.entity.interface";
3
- export type IVendorInvoiceItemCreateExclude = never;
3
+ export type IVendorInvoiceItemCreateExclude = "status" | "remark";
4
4
  export interface IVendorInvoiceItemCreateDto extends Omit<IEntityCreateDto<IVendorInvoiceItemEntity>, IVendorInvoiceItemCreateExclude> {
5
5
  }
@@ -1,3 +1,6 @@
1
+ import { VendorInvoiceItemActionEnum } from "../../entities";
1
2
  import { DeepPartialButRequired } from "./api.utils.interface";
2
3
  import { IVendorInvoiceItemCreateDto } from "./vendor_invoice_item.create.dto.interface";
3
- export type IVendorInvoiceItemUpdateDto = DeepPartialButRequired<IVendorInvoiceItemCreateDto, never>;
4
+ export type IVendorInvoiceItemUpdateDto = DeepPartialButRequired<IVendorInvoiceItemCreateDto, never> & {
5
+ action?: VendorInvoiceItemActionEnum;
6
+ };
@@ -0,0 +1,8 @@
1
+ export declare enum VendorActionEnum {
2
+ VIEW = "view",
3
+ EDIT = "edit",
4
+ DELETE = "delete",
5
+ CREATE = "create",
6
+ APPROVE = "approve",
7
+ REJECT = "reject"
8
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VendorActionEnum = void 0;
4
+ var VendorActionEnum;
5
+ (function (VendorActionEnum) {
6
+ VendorActionEnum["VIEW"] = "view";
7
+ VendorActionEnum["EDIT"] = "edit";
8
+ VendorActionEnum["DELETE"] = "delete";
9
+ VendorActionEnum["CREATE"] = "create";
10
+ VendorActionEnum["APPROVE"] = "approve";
11
+ VendorActionEnum["REJECT"] = "reject";
12
+ // RECALL = "recall",
13
+ })(VendorActionEnum || (exports.VendorActionEnum = VendorActionEnum = {}));
@@ -0,0 +1,9 @@
1
+ export declare enum VendorStatusEnum {
2
+ CREATE_APPROVAL = "create_approval",
3
+ EDIT_APPROVAL = "edit_approval",
4
+ DELETE_APPROVAL = "delete_approval",
5
+ REJECTED = "rejected",
6
+ APPROVED = "approved",
7
+ DELETED = "deleted",
8
+ RESOLVED_REJECTED = "resolved_rejected"
9
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VendorStatusEnum = void 0;
4
+ var VendorStatusEnum;
5
+ (function (VendorStatusEnum) {
6
+ VendorStatusEnum["CREATE_APPROVAL"] = "create_approval";
7
+ VendorStatusEnum["EDIT_APPROVAL"] = "edit_approval";
8
+ VendorStatusEnum["DELETE_APPROVAL"] = "delete_approval";
9
+ VendorStatusEnum["REJECTED"] = "rejected";
10
+ VendorStatusEnum["APPROVED"] = "approved";
11
+ VendorStatusEnum["DELETED"] = "deleted";
12
+ VendorStatusEnum["RESOLVED_REJECTED"] = "resolved_rejected";
13
+ })(VendorStatusEnum || (exports.VendorStatusEnum = VendorStatusEnum = {}));
@@ -0,0 +1,6 @@
1
+ export declare enum VendorInvoiceActionEnum {
2
+ VIEW = "view",
3
+ EDIT = "edit",
4
+ DELETE = "delete",
5
+ UPDATE_PAYMENT = "update_payment"
6
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VendorInvoiceActionEnum = void 0;
4
+ var VendorInvoiceActionEnum;
5
+ (function (VendorInvoiceActionEnum) {
6
+ VendorInvoiceActionEnum["VIEW"] = "view";
7
+ VendorInvoiceActionEnum["EDIT"] = "edit";
8
+ VendorInvoiceActionEnum["DELETE"] = "delete";
9
+ VendorInvoiceActionEnum["UPDATE_PAYMENT"] = "update_payment";
10
+ })(VendorInvoiceActionEnum || (exports.VendorInvoiceActionEnum = VendorInvoiceActionEnum = {}));
@@ -1,4 +1,8 @@
1
1
  export declare enum VendorInvoiceActionStatusEnum {
2
2
  PENDING_APPROVAL = "PENDING_APPROVAL",
3
- APPROVED = "APPROVED"
3
+ APPROVED = "APPROVED",
4
+ REJECTED = "REJECTED",
5
+ PARTIALLY_APPROVED = "PARTIALLY_APPROVED",
6
+ PAYMENT_DISBURSE = "PAYMENT_DISBURSE",
7
+ DELETED = "DELETED"
4
8
  }
@@ -1,8 +1,16 @@
1
1
  "use strict";
2
+ // export enum VendorInvoiceActionStatusEnum {
3
+ // PENDING_APPROVAL = "PENDING_APPROVAL",
4
+ // APPROVED = "APPROVED",
5
+ // }
2
6
  Object.defineProperty(exports, "__esModule", { value: true });
3
7
  exports.VendorInvoiceActionStatusEnum = void 0;
4
8
  var VendorInvoiceActionStatusEnum;
5
9
  (function (VendorInvoiceActionStatusEnum) {
6
10
  VendorInvoiceActionStatusEnum["PENDING_APPROVAL"] = "PENDING_APPROVAL";
7
11
  VendorInvoiceActionStatusEnum["APPROVED"] = "APPROVED";
12
+ VendorInvoiceActionStatusEnum["REJECTED"] = "REJECTED";
13
+ VendorInvoiceActionStatusEnum["PARTIALLY_APPROVED"] = "PARTIALLY_APPROVED";
14
+ VendorInvoiceActionStatusEnum["PAYMENT_DISBURSE"] = "PAYMENT_DISBURSE";
15
+ VendorInvoiceActionStatusEnum["DELETED"] = "DELETED";
8
16
  })(VendorInvoiceActionStatusEnum || (exports.VendorInvoiceActionStatusEnum = VendorInvoiceActionStatusEnum = {}));
@@ -0,0 +1,6 @@
1
+ export declare enum VendorInvoiceItemActionEnum {
2
+ PENDING = "pending",
3
+ APPROVE = "approve",
4
+ REJECT = "reject",
5
+ DELETE = "delete"
6
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VendorInvoiceItemActionEnum = void 0;
4
+ var VendorInvoiceItemActionEnum;
5
+ (function (VendorInvoiceItemActionEnum) {
6
+ VendorInvoiceItemActionEnum["PENDING"] = "pending";
7
+ VendorInvoiceItemActionEnum["APPROVE"] = "approve";
8
+ VendorInvoiceItemActionEnum["REJECT"] = "reject";
9
+ VendorInvoiceItemActionEnum["DELETE"] = "delete";
10
+ })(VendorInvoiceItemActionEnum || (exports.VendorInvoiceItemActionEnum = VendorInvoiceItemActionEnum = {}));
@@ -0,0 +1,6 @@
1
+ export declare enum VendorInvoiceItemStatus {
2
+ PENDING = "pending",
3
+ APPROVED = "approved",
4
+ REJECTED = "rejected",
5
+ DELETED = "deleted"
6
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VendorInvoiceItemStatus = void 0;
4
+ var VendorInvoiceItemStatus;
5
+ (function (VendorInvoiceItemStatus) {
6
+ VendorInvoiceItemStatus["PENDING"] = "pending";
7
+ VendorInvoiceItemStatus["APPROVED"] = "approved";
8
+ VendorInvoiceItemStatus["REJECTED"] = "rejected";
9
+ VendorInvoiceItemStatus["DELETED"] = "deleted";
10
+ })(VendorInvoiceItemStatus || (exports.VendorInvoiceItemStatus = VendorInvoiceItemStatus = {}));
@@ -0,0 +1,14 @@
1
+ export type FlowConfig<S extends string, A extends string, T extends Record<any, any> = never> = {
2
+ [key in S]?: {
3
+ actions: {
4
+ [key in A]?: {
5
+ permissions: string[];
6
+ next: (data?: T) => S;
7
+ };
8
+ };
9
+ };
10
+ };
11
+ export type ParentChildFlowConfig<S extends string, A extends string, CS extends string = never, CA extends string = never, T extends Record<any, any> = never> = {
12
+ parent: FlowConfig<S, A, T>;
13
+ child: FlowConfig<CS, CA, T>;
14
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,4 +1,4 @@
1
- import { FlowConfig } from "../../api";
2
1
  import { LeaveActionEnum } from "../enums/leave.action.enum";
3
2
  import { LeaveStatusEnum } from "../enums/leave.status.enum";
3
+ import { FlowConfig } from "./flow-config.type";
4
4
  export declare const leaveFlowConfig: FlowConfig<LeaveStatusEnum, LeaveActionEnum>;
@@ -0,0 +1,2 @@
1
+ import { IVendorFlowConfig } from "../../api";
2
+ export declare const vendorFlowConfig: IVendorFlowConfig;
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.vendorFlowConfig = void 0;
4
+ const vendor_action_enum_1 = require("../enums/vendor-action.enum");
5
+ const vendor_status_enum_1 = require("../enums/vendor-status.enum");
6
+ exports.vendorFlowConfig = {
7
+ [vendor_status_enum_1.VendorStatusEnum.CREATE_APPROVAL]: {
8
+ actions: {
9
+ [vendor_action_enum_1.VendorActionEnum.APPROVE]: {
10
+ permissions: ["VENDOR_APPROVE_ORG"],
11
+ next: () => vendor_status_enum_1.VendorStatusEnum.APPROVED,
12
+ },
13
+ [vendor_action_enum_1.VendorActionEnum.EDIT]: {
14
+ permissions: ["VENDOR_UPDATE"],
15
+ next: () => vendor_status_enum_1.VendorStatusEnum.CREATE_APPROVAL,
16
+ },
17
+ [vendor_action_enum_1.VendorActionEnum.REJECT]: {
18
+ permissions: ["VENDOR_APPROVE_ORG"],
19
+ next: () => vendor_status_enum_1.VendorStatusEnum.REJECTED,
20
+ },
21
+ [vendor_action_enum_1.VendorActionEnum.DELETE]: {
22
+ permissions: ["VENDOR_UPDATE"],
23
+ next: () => vendor_status_enum_1.VendorStatusEnum.DELETED,
24
+ },
25
+ },
26
+ },
27
+ [vendor_status_enum_1.VendorStatusEnum.EDIT_APPROVAL]: {
28
+ actions: {
29
+ [vendor_action_enum_1.VendorActionEnum.APPROVE]: {
30
+ permissions: ["VENDOR_APPROVE_ORG"],
31
+ next: () => vendor_status_enum_1.VendorStatusEnum.APPROVED,
32
+ },
33
+ [vendor_action_enum_1.VendorActionEnum.EDIT]: {
34
+ permissions: ["VENDOR_UPDATE"],
35
+ next: () => vendor_status_enum_1.VendorStatusEnum.EDIT_APPROVAL,
36
+ },
37
+ [vendor_action_enum_1.VendorActionEnum.REJECT]: {
38
+ permissions: ["VENDOR_APPROVE_ORG"],
39
+ next: () => vendor_status_enum_1.VendorStatusEnum.RESOLVED_REJECTED,
40
+ },
41
+ // [VendorActionEnum.RECALL]: {
42
+ // permissions: ["VENDOR_UPDATE"],
43
+ // next: () => VendorStatusEnum.DELETED,
44
+ // },
45
+ },
46
+ },
47
+ [vendor_status_enum_1.VendorStatusEnum.DELETE_APPROVAL]: {
48
+ actions: {
49
+ [vendor_action_enum_1.VendorActionEnum.APPROVE]: {
50
+ permissions: ["VENDOR_APPROVE_ORG"],
51
+ next: () => vendor_status_enum_1.VendorStatusEnum.DELETED,
52
+ },
53
+ [vendor_action_enum_1.VendorActionEnum.REJECT]: {
54
+ permissions: ["VENDOR_APPROVE_ORG"],
55
+ next: () => vendor_status_enum_1.VendorStatusEnum.RESOLVED_REJECTED,
56
+ },
57
+ // [VendorActionEnum.RECALL]: {
58
+ // permissions: ["VENDOR_UPDATE"],
59
+ // next: () => VendorStatusEnum.DELETED,
60
+ // },
61
+ },
62
+ },
63
+ [vendor_status_enum_1.VendorStatusEnum.APPROVED]: {
64
+ actions: {
65
+ [vendor_action_enum_1.VendorActionEnum.EDIT]: {
66
+ permissions: ["VENDOR_UPDATE"],
67
+ next: () => vendor_status_enum_1.VendorStatusEnum.EDIT_APPROVAL,
68
+ },
69
+ [vendor_action_enum_1.VendorActionEnum.DELETE]: {
70
+ permissions: ["VENDOR_UPDATE"],
71
+ next: () => vendor_status_enum_1.VendorStatusEnum.DELETE_APPROVAL,
72
+ },
73
+ },
74
+ },
75
+ [vendor_status_enum_1.VendorStatusEnum.RESOLVED_REJECTED]: {
76
+ actions: {
77
+ [vendor_action_enum_1.VendorActionEnum.EDIT]: {
78
+ permissions: ["VENDOR_UPDATE"],
79
+ next: () => vendor_status_enum_1.VendorStatusEnum.EDIT_APPROVAL,
80
+ },
81
+ [vendor_action_enum_1.VendorActionEnum.DELETE]: {
82
+ permissions: ["VENDOR_UPDATE"],
83
+ next: () => vendor_status_enum_1.VendorStatusEnum.DELETE_APPROVAL,
84
+ },
85
+ },
86
+ },
87
+ };
@@ -0,0 +1,11 @@
1
+ import { IVendorInvoiceFlowContextData } from "../../api";
2
+ import { VendorInvoiceActionEnum } from "../enums/vendor_invoice_action.enum";
3
+ import { VendorInvoiceActionStatusEnum } from "../enums/vendor_invoice_action_status_enum";
4
+ import { VendorInvoiceItemActionEnum } from "../enums/vendor_invoice_item_action.enum";
5
+ import { VendorInvoiceItemStatus } from "../enums/vendor_invoice_item_status.enum";
6
+ import { FlowConfig, ParentChildFlowConfig } from "./flow-config.type";
7
+ export type VendorInvoiceFlowConfig<S extends string, A extends string, CS extends string = never, CA extends string = never> = {
8
+ parent?: FlowConfig<S, A>;
9
+ child?: FlowConfig<CS, CA>;
10
+ };
11
+ export declare const vendorInvoiceConfigFlow: ParentChildFlowConfig<VendorInvoiceActionStatusEnum, VendorInvoiceActionEnum, VendorInvoiceItemStatus, VendorInvoiceItemActionEnum, IVendorInvoiceFlowContextData>;
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.vendorInvoiceConfigFlow = void 0;
4
+ const vendor_invoice_action_enum_1 = require("../enums/vendor_invoice_action.enum");
5
+ const vendor_invoice_action_status_enum_1 = require("../enums/vendor_invoice_action_status_enum");
6
+ const vendor_invoice_item_action_enum_1 = require("../enums/vendor_invoice_item_action.enum");
7
+ const vendor_invoice_item_status_enum_1 = require("../enums/vendor_invoice_item_status.enum");
8
+ exports.vendorInvoiceConfigFlow = {
9
+ parent: {
10
+ [vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.PENDING_APPROVAL]: {
11
+ actions: {
12
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.EDIT]: {
13
+ permissions: ["VENDOR_INVOICE_UPDATE"],
14
+ next: (data) => {
15
+ if (data && areAllVendorItemsInFinalState(data)) {
16
+ if (areAllVendorItemsApproved(data)) {
17
+ return vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.APPROVED;
18
+ }
19
+ if (areAllVendorItemsRejected(data)) {
20
+ return vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.REJECTED;
21
+ }
22
+ // approved + deleted
23
+ if (areAllVendorItemsInStates(data.items, [vendor_invoice_item_status_enum_1.VendorInvoiceItemStatus.APPROVED, vendor_invoice_item_status_enum_1.VendorInvoiceItemStatus.DELETED])) {
24
+ return vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.APPROVED;
25
+ }
26
+ // rejected + deleted
27
+ if (areAllVendorItemsInStates(data.items, [vendor_invoice_item_status_enum_1.VendorInvoiceItemStatus.REJECTED, vendor_invoice_item_status_enum_1.VendorInvoiceItemStatus.DELETED])) {
28
+ return vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.REJECTED;
29
+ }
30
+ return vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.PARTIALLY_APPROVED;
31
+ }
32
+ return vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.PENDING_APPROVAL;
33
+ },
34
+ },
35
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE]: {
36
+ permissions: ["VENDOR_INVOICE_UPDATE"],
37
+ next: () => vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.DELETED,
38
+ },
39
+ },
40
+ },
41
+ [vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.APPROVED]: {
42
+ actions: {
43
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.UPDATE_PAYMENT]: {
44
+ permissions: ["VENDOR_INVOICE_PAYMENT_PROCESSOR"],
45
+ next: () => vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.PAYMENT_DISBURSE,
46
+ },
47
+ },
48
+ },
49
+ [vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.PARTIALLY_APPROVED]: {
50
+ actions: {
51
+ [vendor_invoice_action_enum_1.VendorInvoiceActionEnum.UPDATE_PAYMENT]: {
52
+ permissions: ["VENDOR_INVOICE_PAYMENT_PROCESSOR"],
53
+ next: () => vendor_invoice_action_status_enum_1.VendorInvoiceActionStatusEnum.PAYMENT_DISBURSE,
54
+ },
55
+ },
56
+ },
57
+ },
58
+ child: {
59
+ [vendor_invoice_item_status_enum_1.VendorInvoiceItemStatus.PENDING]: {
60
+ actions: {
61
+ [vendor_invoice_item_action_enum_1.VendorInvoiceItemActionEnum.APPROVE]: {
62
+ permissions: ["VENDOR_INVOICE_APPROVE"],
63
+ next: () => vendor_invoice_item_status_enum_1.VendorInvoiceItemStatus.APPROVED,
64
+ },
65
+ [vendor_invoice_item_action_enum_1.VendorInvoiceItemActionEnum.PENDING]: {
66
+ permissions: ["VENDOR_INVOICE_UPDATE"],
67
+ next: () => vendor_invoice_item_status_enum_1.VendorInvoiceItemStatus.PENDING,
68
+ },
69
+ [vendor_invoice_item_action_enum_1.VendorInvoiceItemActionEnum.REJECT]: {
70
+ permissions: ["VENDOR_INVOICE_APPROVE"],
71
+ next: () => vendor_invoice_item_status_enum_1.VendorInvoiceItemStatus.REJECTED,
72
+ },
73
+ [vendor_invoice_item_action_enum_1.VendorInvoiceItemActionEnum.DELETE]: {
74
+ permissions: ["VENDOR_INVOICE_UPDATE"],
75
+ next: () => vendor_invoice_item_status_enum_1.VendorInvoiceItemStatus.DELETED,
76
+ },
77
+ },
78
+ },
79
+ [vendor_invoice_item_status_enum_1.VendorInvoiceItemStatus.DELETED]: {
80
+ actions: {
81
+ [vendor_invoice_item_action_enum_1.VendorInvoiceItemActionEnum.PENDING]: {
82
+ permissions: ["VENDOR_INVOICE_UPDATE"],
83
+ next: () => vendor_invoice_item_status_enum_1.VendorInvoiceItemStatus.PENDING,
84
+ },
85
+ },
86
+ },
87
+ },
88
+ };
89
+ function areAllVendorItemsApproved(data) {
90
+ const { items } = data;
91
+ return items.length > 0 ? items.every((row) => row.status === vendor_invoice_item_status_enum_1.VendorInvoiceItemStatus.APPROVED) : false;
92
+ }
93
+ function areAllVendorItemsRejected(data) {
94
+ const { items } = data;
95
+ return items.length > 0 ? items.every((row) => row.status === vendor_invoice_item_status_enum_1.VendorInvoiceItemStatus.REJECTED) : false;
96
+ }
97
+ function areAllVendorItemsInFinalState(data) {
98
+ const { items } = data;
99
+ return items.length > 0
100
+ ? items.every((row) => row.status === vendor_invoice_item_status_enum_1.VendorInvoiceItemStatus.APPROVED || row.status === vendor_invoice_item_status_enum_1.VendorInvoiceItemStatus.REJECTED || row.status === vendor_invoice_item_status_enum_1.VendorInvoiceItemStatus.DELETED)
101
+ : false;
102
+ }
103
+ function areAllVendorItemsInStates(items, states) {
104
+ return items.every((row) => states.includes(row.status));
105
+ }
@@ -148,6 +148,8 @@ export * from "./enums/vendor_location_type_enum";
148
148
  export * from "./enums/vendor_pan_type_enum";
149
149
  export * from "./interface/vendor.entity.interface";
150
150
  export * from "./model/vendor.entity.model";
151
+ export * from "./enums/vendor_invoice_action_status_enum";
152
+ export * from "./enums/vendor_invoice_status_enum";
151
153
  export * from "./interface/vendor_invoice.entity.interface";
152
154
  export * from "./interface/vendor_invoice_item.entity.interface";
153
155
  export * from "./model/office_location.entity.model";
@@ -159,3 +161,14 @@ export * from "./model/website_lead.entity.model";
159
161
  export * from "./model/website_newsletter_subscription.entity.model";
160
162
  export * from "./enums/vendor_invoice_action_status_enum";
161
163
  export * from "./enums/vendor_invoice_status_enum";
164
+ export * from "./interface/vendor-invoice-item-history.entity.interface";
165
+ export * from "./interface/vendot-invoice-history.entity.interface";
166
+ export * from "./enums/vendor-action.enum";
167
+ export * from "./enums/vendor-status.enum";
168
+ export * from "./flow-configs/vendor-flow.config";
169
+ export * from "./interface/vendor-history.entity.interface";
170
+ export * from "./enums/vendor_invoice_action.enum";
171
+ export * from "./enums/vendor_invoice_item_action.enum";
172
+ export * from "./enums/vendor_invoice_item_status.enum";
173
+ export * from "./flow-configs/vendor-invoice-flow.config";
174
+ export * from "./flow-configs/flow-config.type";
@@ -164,6 +164,8 @@ __exportStar(require("./enums/vendor_location_type_enum"), exports);
164
164
  __exportStar(require("./enums/vendor_pan_type_enum"), exports);
165
165
  __exportStar(require("./interface/vendor.entity.interface"), exports);
166
166
  __exportStar(require("./model/vendor.entity.model"), exports);
167
+ __exportStar(require("./enums/vendor_invoice_action_status_enum"), exports);
168
+ __exportStar(require("./enums/vendor_invoice_status_enum"), exports);
167
169
  __exportStar(require("./interface/vendor_invoice.entity.interface"), exports);
168
170
  __exportStar(require("./interface/vendor_invoice_item.entity.interface"), exports);
169
171
  __exportStar(require("./model/office_location.entity.model"), exports);
@@ -175,3 +177,14 @@ __exportStar(require("./model/website_lead.entity.model"), exports);
175
177
  __exportStar(require("./model/website_newsletter_subscription.entity.model"), exports);
176
178
  __exportStar(require("./enums/vendor_invoice_action_status_enum"), exports);
177
179
  __exportStar(require("./enums/vendor_invoice_status_enum"), exports);
180
+ __exportStar(require("./interface/vendor-invoice-item-history.entity.interface"), exports);
181
+ __exportStar(require("./interface/vendot-invoice-history.entity.interface"), exports);
182
+ __exportStar(require("./enums/vendor-action.enum"), exports);
183
+ __exportStar(require("./enums/vendor-status.enum"), exports);
184
+ __exportStar(require("./flow-configs/vendor-flow.config"), exports);
185
+ __exportStar(require("./interface/vendor-history.entity.interface"), exports);
186
+ __exportStar(require("./enums/vendor_invoice_action.enum"), exports);
187
+ __exportStar(require("./enums/vendor_invoice_item_action.enum"), exports);
188
+ __exportStar(require("./enums/vendor_invoice_item_status.enum"), exports);
189
+ __exportStar(require("./flow-configs/vendor-invoice-flow.config"), exports);
190
+ __exportStar(require("./flow-configs/flow-config.type"), exports);