law-common 11.4.0 → 12.0.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.
Files changed (167) hide show
  1. package/README.md +1 -1
  2. package/dist/src/api/index.d.ts +4 -0
  3. package/dist/src/api/index.js +4 -0
  4. package/dist/src/api/interface/vendor_advance.create.dto.interface.d.ts +10 -0
  5. package/dist/src/api/interface/vendor_advance.create.dto.interface.js +12 -0
  6. package/dist/src/api/interface/vendor_advance.update.dto.interface.d.ts +24 -0
  7. package/dist/src/api/interface/vendor_advance.update.dto.interface.js +18 -0
  8. package/dist/src/api/interface/vendor_invoice.update.dto.interface.d.ts +3 -0
  9. package/dist/src/api/interface/vendor_invoice.update.dto.interface.js +1 -0
  10. package/dist/src/api/interface/vendor_invoice_advance.create.dto.interface.d.ts +5 -0
  11. package/dist/src/api/interface/vendor_invoice_advance.update.dto.interface.d.ts +17 -0
  12. package/dist/src/api/interface/vendor_invoice_advance.update.dto.interface.js +17 -0
  13. package/dist/src/constants/website_lead.constants.d.ts +2 -1
  14. package/dist/src/constants/website_lead.constants.js +3 -2
  15. package/dist/src/entities/enums/vendor_advance_payment_mode.d.ts +7 -0
  16. package/dist/src/entities/enums/vendor_advance_payment_mode.js +11 -0
  17. package/dist/src/entities/enums/vendor_advance_status_enum.d.ts +5 -0
  18. package/dist/src/entities/enums/vendor_advance_status_enum.js +9 -0
  19. package/dist/src/entities/enums/vendor_invoice_action.enum.d.ts +2 -1
  20. package/dist/src/entities/enums/vendor_invoice_action.enum.js +1 -0
  21. package/dist/src/entities/enums/vendor_invoice_advance_status_enum.d.ts +5 -0
  22. package/dist/src/entities/enums/vendor_invoice_advance_status_enum.js +9 -0
  23. package/dist/src/entities/flow-configs/vendor-invoice-flow.config.d.ts +4 -0
  24. package/dist/src/entities/flow-configs/vendor-invoice-flow.config.js +25 -0
  25. package/dist/src/entities/flow-configs/vendor_advance_flow.config.d.ts +6 -0
  26. package/dist/src/entities/flow-configs/vendor_advance_flow.config.js +75 -0
  27. package/dist/src/entities/flow-configs/vendor_invoice_advance_flow.config.d.ts +6 -0
  28. package/dist/src/entities/flow-configs/vendor_invoice_advance_flow.config.js +70 -0
  29. package/dist/src/entities/flow-configs/vendor_tds_liability_flow.config.js +1 -1
  30. package/dist/src/entities/index.d.ts +9 -0
  31. package/dist/src/entities/index.js +9 -0
  32. package/dist/src/entities/interface/entity.utils.interface.d.ts +9 -3
  33. package/dist/src/entities/interface/entity.utils.interface.js +2 -0
  34. package/dist/src/entities/interface/vendor_advance.entity.interface.d.ts +24 -0
  35. package/dist/src/entities/interface/vendor_advance.entity.interface.js +2 -0
  36. package/dist/src/entities/interface/vendor_invoice_advance.entity.interface.d.ts +11 -0
  37. package/dist/src/entities/interface/vendor_invoice_advance.entity.interface.js +2 -0
  38. package/dist/src/entities/model/entity.model.interface.js +4 -0
  39. package/dist/src/entities/model/vendor.entity.model.d.ts +24 -5
  40. package/dist/src/entities/model/vendor.entity.model.js +74 -4
  41. package/dist/src/entities/model/vendor_advance.entity.model.d.ts +80 -0
  42. package/dist/src/entities/model/vendor_advance.entity.model.js +262 -0
  43. package/dist/src/entities/model/vendor_invoice_advance.entity.model.d.ts +73 -0
  44. package/dist/src/entities/model/vendor_invoice_advance.entity.model.js +243 -0
  45. package/package.json +56 -50
  46. package/dist/src/api/interface/document_upload.create.dto.interface.autocode.d.ts +0 -0
  47. package/dist/src/api/interface/document_upload.create.dto.interface.autocode.js +0 -27
  48. package/dist/src/api/interface/document_upload.update.dto.interface.autocode.d.ts +0 -0
  49. package/dist/src/api/interface/document_upload.update.dto.interface.autocode.js +0 -8
  50. package/dist/src/api/interface/expense_head.create.dto.interface.autocode.d.ts +0 -0
  51. package/dist/src/api/interface/expense_head.create.dto.interface.autocode.js +0 -4
  52. package/dist/src/api/interface/expense_head.update.dto.interface.autocode.d.ts +0 -0
  53. package/dist/src/api/interface/expense_head.update.dto.interface.autocode.js +0 -3
  54. package/dist/src/api/interface/gst_rate.create.dto.interface.autocode.d.ts +0 -0
  55. package/dist/src/api/interface/gst_rate.create.dto.interface.autocode.js +0 -4
  56. package/dist/src/api/interface/gst_rate.update.dto.interface.autocode.d.ts +0 -0
  57. package/dist/src/api/interface/gst_rate.update.dto.interface.autocode.js +0 -3
  58. package/dist/src/api/interface/organization_type.create.dto.interface.autocode.d.ts +0 -0
  59. package/dist/src/api/interface/organization_type.create.dto.interface.autocode.js +0 -4
  60. package/dist/src/api/interface/organization_type.update.dto.interface.autocode.d.ts +0 -0
  61. package/dist/src/api/interface/organization_type.update.dto.interface.autocode.js +0 -3
  62. package/dist/src/api/interface/state.create.dto.interface.autocode.d.ts +0 -0
  63. package/dist/src/api/interface/state.create.dto.interface.autocode.js +0 -6
  64. package/dist/src/api/interface/state.update.dto.interface.autocode.d.ts +0 -0
  65. package/dist/src/api/interface/state.update.dto.interface.autocode.js +0 -10
  66. package/dist/src/api/interface/tds_rate.create.dto.interface.autocode.d.ts +0 -0
  67. package/dist/src/api/interface/tds_rate.create.dto.interface.autocode.js +0 -6
  68. package/dist/src/api/interface/tds_rate.update.dto.interface.autocode.d.ts +0 -0
  69. package/dist/src/api/interface/tds_rate.update.dto.interface.autocode.js +0 -3
  70. package/dist/src/api/interface/tds_rate_voucher_type_mapping.create.dto.interface.autocode.d.ts +0 -0
  71. package/dist/src/api/interface/tds_rate_voucher_type_mapping.create.dto.interface.autocode.js +0 -7
  72. package/dist/src/api/interface/tds_rate_voucher_type_mapping.update.dto.interface.autocode.d.ts +0 -0
  73. package/dist/src/api/interface/tds_rate_voucher_type_mapping.update.dto.interface.autocode.js +0 -3
  74. package/dist/src/api/interface/vendor.create.dto.interface.autocode.d.ts +0 -0
  75. package/dist/src/api/interface/vendor.create.dto.interface.autocode.js +0 -74
  76. package/dist/src/api/interface/vendor.update.dto.interface.autocode.d.ts +0 -0
  77. package/dist/src/api/interface/vendor.update.dto.interface.autocode.js +0 -8
  78. package/dist/src/api/interface/vendor_invoice.create.dto.interface.autocode.d.ts +0 -0
  79. package/dist/src/api/interface/vendor_invoice.create.dto.interface.autocode.js +0 -21
  80. package/dist/src/api/interface/vendor_invoice.update.dto.interface.autocode.d.ts +0 -0
  81. package/dist/src/api/interface/vendor_invoice.update.dto.interface.autocode.js +0 -8
  82. package/dist/src/api/interface/vendor_invoice_item.create.dto.interface.autocode.d.ts +0 -0
  83. package/dist/src/api/interface/vendor_invoice_item.create.dto.interface.autocode.js +0 -6
  84. package/dist/src/api/interface/vendor_invoice_item.update.dto.interface.autocode.d.ts +0 -0
  85. package/dist/src/api/interface/vendor_invoice_item.update.dto.interface.autocode.js +0 -6
  86. package/dist/src/api/interface/voucher_type.create.dto.interface.autocode.d.ts +0 -0
  87. package/dist/src/api/interface/voucher_type.create.dto.interface.autocode.js +0 -4
  88. package/dist/src/api/interface/voucher_type.update.dto.interface.autocode.d.ts +0 -0
  89. package/dist/src/api/interface/voucher_type.update.dto.interface.autocode.js +0 -3
  90. package/dist/src/api/interface/website_lead.create.dto.interface.autocode.d.ts +0 -0
  91. package/dist/src/api/interface/website_lead.create.dto.interface.autocode.js +0 -6
  92. package/dist/src/entities/enums/address_book_status_enum.autocode.d.ts +0 -5
  93. package/dist/src/entities/enums/address_book_status_enum.autocode.js +0 -9
  94. package/dist/src/entities/enums/expense_head_status_enum.autocode.d.ts +0 -0
  95. package/dist/src/entities/enums/expense_head_status_enum.autocode.js +0 -6
  96. package/dist/src/entities/enums/gst_rate_status_enum.autocode.d.ts +0 -0
  97. package/dist/src/entities/enums/gst_rate_status_enum.autocode.js +0 -6
  98. package/dist/src/entities/enums/organization_type_status_enum.autocode.d.ts +0 -0
  99. package/dist/src/entities/enums/organization_type_status_enum.autocode.js +0 -6
  100. package/dist/src/entities/enums/state_status_enum.autocode.d.ts +0 -0
  101. package/dist/src/entities/enums/state_status_enum.autocode.js +0 -6
  102. package/dist/src/entities/enums/tds_rate_status_enum.autocode.d.ts +0 -0
  103. package/dist/src/entities/enums/tds_rate_status_enum.autocode.js +0 -6
  104. package/dist/src/entities/enums/vendor_contract_applicability_enum.autocode.d.ts +0 -0
  105. package/dist/src/entities/enums/vendor_contract_applicability_enum.autocode.js +0 -5
  106. package/dist/src/entities/enums/vendor_gst_type_enum.autocode.d.ts +0 -0
  107. package/dist/src/entities/enums/vendor_gst_type_enum.autocode.js +0 -5
  108. package/dist/src/entities/enums/vendor_invoice_action_status_enum.autocode.d.ts +0 -0
  109. package/dist/src/entities/enums/vendor_invoice_action_status_enum.autocode.js +0 -5
  110. package/dist/src/entities/enums/vendor_invoice_status_enum.autocode.d.ts +0 -0
  111. package/dist/src/entities/enums/vendor_invoice_status_enum.autocode.js +0 -5
  112. package/dist/src/entities/enums/vendor_location_type_enum.autocode.d.ts +0 -0
  113. package/dist/src/entities/enums/vendor_location_type_enum.autocode.js +0 -5
  114. package/dist/src/entities/enums/vendor_pan_type_enum.autocode.d.ts +0 -0
  115. package/dist/src/entities/enums/vendor_pan_type_enum.autocode.js +0 -5
  116. package/dist/src/entities/enums/voucher_type_status_enum.autocode.d.ts +0 -0
  117. package/dist/src/entities/enums/voucher_type_status_enum.autocode.js +0 -6
  118. package/dist/src/entities/interface/address-book.entity.interface.autocode.d.ts +0 -13
  119. package/dist/src/entities/interface/document_upload.entity.interface.autocode.d.ts +0 -0
  120. package/dist/src/entities/interface/document_upload.entity.interface.autocode.js +0 -10
  121. package/dist/src/entities/interface/expense_head.entity.interface.autocode.d.ts +0 -0
  122. package/dist/src/entities/interface/expense_head.entity.interface.autocode.js +0 -8
  123. package/dist/src/entities/interface/gst_rate.entity.interface.autocode.d.ts +0 -0
  124. package/dist/src/entities/interface/gst_rate.entity.interface.autocode.js +0 -8
  125. package/dist/src/entities/interface/organization_type.entity.interface.autocode.d.ts +0 -0
  126. package/dist/src/entities/interface/organization_type.entity.interface.autocode.js +0 -8
  127. package/dist/src/entities/interface/organization_type_tds_rate_mapping.entity.interface.autocode.d.ts +0 -0
  128. package/dist/src/entities/interface/organization_type_tds_rate_mapping.entity.interface.autocode.js +0 -7
  129. package/dist/src/entities/interface/state.entity.interface.autocode.d.ts +0 -0
  130. package/dist/src/entities/interface/state.entity.interface.autocode.js +0 -10
  131. package/dist/src/entities/interface/tds_rate.entity.interface.autocode.d.ts +0 -0
  132. package/dist/src/entities/interface/tds_rate.entity.interface.autocode.js +0 -12
  133. package/dist/src/entities/interface/tds_rate_voucher_type_mapping.entity.interface.autocode.d.ts +0 -0
  134. package/dist/src/entities/interface/tds_rate_voucher_type_mapping.entity.interface.autocode.js +0 -7
  135. package/dist/src/entities/interface/vendor.entity.interface.autocode.d.ts +0 -0
  136. package/dist/src/entities/interface/vendor.entity.interface.autocode.js +0 -24
  137. package/dist/src/entities/interface/vendor_invoice.entity.interface.autocode.d.ts +0 -0
  138. package/dist/src/entities/interface/vendor_invoice.entity.interface.autocode.js +0 -18
  139. package/dist/src/entities/interface/vendor_invoice_item.entity.interface.autocode.d.ts +0 -0
  140. package/dist/src/entities/interface/vendor_invoice_item.entity.interface.autocode.js +0 -17
  141. package/dist/src/entities/interface/voucher_type.entity.interface.autocode.d.ts +0 -0
  142. package/dist/src/entities/interface/voucher_type.entity.interface.autocode.js +0 -7
  143. package/dist/src/entities/model/document_upload.entity.model.autocode.d.ts +0 -0
  144. package/dist/src/entities/model/document_upload.entity.model.autocode.js +0 -25
  145. package/dist/src/entities/model/expense_head.entity.model.autocode.d.ts +0 -0
  146. package/dist/src/entities/model/expense_head.entity.model.autocode.js +0 -33
  147. package/dist/src/entities/model/gst_rate.entity.model.autocode.d.ts +0 -0
  148. package/dist/src/entities/model/gst_rate.entity.model.autocode.js +0 -22
  149. package/dist/src/entities/model/office_location.entity.model.autocode.d.ts +0 -0
  150. package/dist/src/entities/model/office_location.entity.model.autocode.js +0 -23
  151. package/dist/src/entities/model/organization_type.entity.model.autocode.d.ts +0 -0
  152. package/dist/src/entities/model/organization_type.entity.model.autocode.js +0 -22
  153. package/dist/src/entities/model/organization_type_tds_rate_mapping.entity.model.autocode.d.ts +0 -0
  154. package/dist/src/entities/model/organization_type_tds_rate_mapping.entity.model.autocode.js +0 -24
  155. package/dist/src/entities/model/tds_rate.entity.model.autocode.d.ts +0 -0
  156. package/dist/src/entities/model/tds_rate.entity.model.autocode.js +0 -261
  157. package/dist/src/entities/model/tds_rate_voucher_type_mapping.entity.model.autocode.d.ts +0 -0
  158. package/dist/src/entities/model/tds_rate_voucher_type_mapping.entity.model.autocode.js +0 -22
  159. package/dist/src/entities/model/vendor.entity.model.autocode.d.ts +0 -0
  160. package/dist/src/entities/model/vendor.entity.model.autocode.js +0 -60
  161. package/dist/src/entities/model/vendor_invoice.entity.model.autocode.d.ts +0 -0
  162. package/dist/src/entities/model/vendor_invoice.entity.model.autocode.js +0 -67
  163. package/dist/src/entities/model/vendor_invoice_item.entity.model.autocode.d.ts +0 -0
  164. package/dist/src/entities/model/vendor_invoice_item.entity.model.autocode.js +0 -132
  165. package/dist/src/entities/model/voucher_type.entity.model.autocode.d.ts +0 -0
  166. package/dist/src/entities/model/voucher_type.entity.model.autocode.js +0 -32
  167. /package/dist/src/{entities/interface/address-book.entity.interface.autocode.js → api/interface/vendor_invoice_advance.create.dto.interface.js} +0 -0
@@ -0,0 +1,73 @@
1
+ import { EntityEnum } from "../interface/entity.utils.interface";
2
+ import { BaseEntityModel } from "./base.entity.model";
3
+ import { RelationConfigs } from "../interface/relation-config.interface";
4
+ import { IUserEntity } from "../interface/user.entity.interface";
5
+ import { UserEntityModel } from "./user.entity.model";
6
+ import { IRowActions } from "./interface/row-actions.interface";
7
+ import { IVendorInvoiceAdvanceEntity } from "../interface/vendor_invoice_advance.entity.interface";
8
+ import { VendorInvoiceAdvanceStatusEnum } from "../enums/vendor_invoice_advance_status_enum";
9
+ import { VendorInvoiceEntityModel } from "./vendor_invoice.entity.model";
10
+ import { VendorAdvanceEntityModel } from "./vendor_advance.entity.model";
11
+ import { VendorEntityModel } from "./vendor.entity.model";
12
+ import { StateEntityModel } from "./state.entity.model";
13
+ import { CountryEntityModel } from "./country.entity.model";
14
+ import { OrganizationTypeEntityModel } from "./organization_type.entity.model";
15
+ import { TdsRateEntityModel } from "./tds_rate.entity.model";
16
+ import { VoucherTypeEntityModel } from "./voucher_type.entity.model";
17
+ import { ExpenseHeadEntityModel } from "./expense_head.entity.model";
18
+ import { VendorInvoiceItemEntityModel } from "./vendor_invoice_item.entity.model";
19
+ import { GstRateEntityModel } from "./gst_rate.entity.model";
20
+ import { VendorTdsLiabilityEntityModel } from "./vendor_tds_liability.entity.model";
21
+ import { VendorTdsChallanEntityModel } from "./vendor_tds_challan.entity.model";
22
+ import { BankEntityModel } from "./bank.entity.model";
23
+ import { OfficeLocationEntityModel } from "./office_location.entity.model";
24
+ import { VendorInvoicePaymentEntityModel } from "./vendor_invoice_payment.entity.model";
25
+ import { VendorInvoiceAdvanceActionEnum } from "../../api";
26
+ import { IVendorInvoiceAdvanceFlowConfigContextData } from "../flow-configs/vendor_invoice_advance_flow.config";
27
+ export declare class VendorInvoiceAdvanceEntityModel extends BaseEntityModel<EntityEnum.VENDOR_INVOICE_ADVANCE> implements IVendorInvoiceAdvanceEntity {
28
+ id: number;
29
+ date: number;
30
+ amount: number;
31
+ vendorInvoiceId: number;
32
+ vendorAdvanceId: number;
33
+ vendorId: number;
34
+ status: VendorInvoiceAdvanceStatusEnum;
35
+ createdOn: number;
36
+ updatedOn: number;
37
+ createdBy: number;
38
+ updatedBy: number;
39
+ vendorInvoice?: VendorInvoiceEntityModel;
40
+ vendorAdvance?: VendorAdvanceEntityModel;
41
+ vendor?: VendorEntityModel;
42
+ static relationConfigs: RelationConfigs<[EntityEnum.VENDOR_INVOICE, EntityEnum.VENDOR_ADVANCE, EntityEnum.VENDOR], EntityEnum.VENDOR_INVOICE_ADVANCE>;
43
+ static fromEntity(entity: IVendorInvoiceAdvanceEntity): VendorInvoiceAdvanceEntityModel;
44
+ getRelationConfigs(): any[];
45
+ get state(): StateEntityModel | undefined;
46
+ get country(): CountryEntityModel | undefined;
47
+ get organizationType(): OrganizationTypeEntityModel | undefined;
48
+ get tdsRate(): TdsRateEntityModel | undefined;
49
+ get voucherTypes(): VoucherTypeEntityModel[] | undefined;
50
+ get expenseHeads(): ExpenseHeadEntityModel[] | undefined;
51
+ get vendorInvoiceItems(): VendorInvoiceItemEntityModel[] | undefined;
52
+ get gstRate(): GstRateEntityModel | undefined;
53
+ get vendorTdsLiabilitys(): VendorTdsLiabilityEntityModel[] | undefined;
54
+ get vendorTdsChallans(): VendorTdsChallanEntityModel[] | undefined;
55
+ get banks(): BankEntityModel[] | undefined;
56
+ get officeLocation(): OfficeLocationEntityModel | undefined;
57
+ get vendorInvoicePayments(): VendorInvoicePaymentEntityModel[] | undefined;
58
+ getNextStatus(currentUser: IUserEntity, action: VendorInvoiceAdvanceActionEnum, vendorInvoiceAdvanceFlowConfigContextData: IVendorInvoiceAdvanceFlowConfigContextData): VendorInvoiceAdvanceStatusEnum;
59
+ getAvailableActions(currentUser: UserEntityModel, config?: {
60
+ combinedActions?: Record<string, {
61
+ combineActions: VendorInvoiceAdvanceActionEnum[];
62
+ label: string;
63
+ }>;
64
+ customLabels?: Partial<Record<VendorInvoiceAdvanceActionEnum, string>>;
65
+ }): IRowActions<EntityEnum.VENDOR_INVOICE_ADVANCE>[];
66
+ getUpdateActionVisibility(currentUser: UserEntityModel): {
67
+ [key: string]: () => boolean;
68
+ };
69
+ static getMaxAmount({ vendorInvoiceModel, vendorAdvanceModel, }: {
70
+ vendorInvoiceModel: VendorInvoiceEntityModel;
71
+ vendorAdvanceModel: VendorAdvanceEntityModel;
72
+ }): number;
73
+ }
@@ -0,0 +1,243 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VendorInvoiceAdvanceEntityModel = void 0;
4
+ const entity_utils_interface_1 = require("../interface/entity.utils.interface");
5
+ const base_entity_model_1 = require("./base.entity.model");
6
+ const relation_type_enum_1 = require("../enums/relation-type.enum");
7
+ const exceptions_1 = require("../../exceptions");
8
+ const error_key_enum_1 = require("../../enums/error.key.enum");
9
+ const utils_1 = require("../../utils");
10
+ const vendor_invoice_advance_status_enum_1 = require("../enums/vendor_invoice_advance_status_enum");
11
+ const vendor_invoice_advance_flow_config_1 = require("../flow-configs/vendor_invoice_advance_flow.config");
12
+ class VendorInvoiceAdvanceEntityModel extends base_entity_model_1.BaseEntityModel {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.id = 0;
16
+ this.date = 0;
17
+ this.amount = 0;
18
+ this.vendorInvoiceId = 0;
19
+ this.vendorAdvanceId = 0;
20
+ this.vendorId = 0;
21
+ this.status = vendor_invoice_advance_status_enum_1.VendorInvoiceAdvanceStatusEnum.APPROVED;
22
+ this.createdOn = 0;
23
+ this.updatedOn = 0;
24
+ this.createdBy = 0;
25
+ this.updatedBy = 0;
26
+ }
27
+ static fromEntity(entity) {
28
+ const result = new VendorInvoiceAdvanceEntityModel(entity_utils_interface_1.EntityEnum.VENDOR_INVOICE_ADVANCE);
29
+ Object.assign(result, entity);
30
+ return result;
31
+ }
32
+ getRelationConfigs() {
33
+ return this.constructor.prototype.constructor.relationConfigs || [];
34
+ }
35
+ get state() {
36
+ // many_to_one -> many_to_one verified
37
+ // {'vendor_invoice_advance->vendor': 'many_to_one', 'vendor->state': 'many_to_one'}
38
+ // ['vendor_invoice_advance', 'vendor'] -> many_to_one
39
+ // ['vendor', 'state'] -> many_to_one
40
+ var _a;
41
+ return (_a = this.vendor) === null || _a === void 0 ? void 0 : _a.stateModel;
42
+ }
43
+ get country() {
44
+ // many_to_one -> many_to_one verified
45
+ // {'vendor_invoice_advance->vendor': 'many_to_one', 'vendor->country': 'many_to_one'}
46
+ // ['vendor_invoice_advance', 'vendor'] -> many_to_one
47
+ // ['vendor', 'country'] -> many_to_one
48
+ var _a;
49
+ return (_a = this.vendor) === null || _a === void 0 ? void 0 : _a.countryModel;
50
+ }
51
+ get organizationType() {
52
+ // many_to_one -> many_to_one verified
53
+ // {'vendor_invoice_advance->vendor': 'many_to_one', 'vendor->organization_type': 'many_to_one'}
54
+ // ['vendor_invoice_advance', 'vendor'] -> many_to_one
55
+ // ['vendor', 'organization_type'] -> many_to_one
56
+ var _a;
57
+ return (_a = this.vendor) === null || _a === void 0 ? void 0 : _a.organizationType;
58
+ }
59
+ get tdsRate() {
60
+ // many_to_one -> many_to_one verified
61
+ // {'vendor_invoice_advance->vendor_advance': 'many_to_one', 'vendor_advance->tds_rate': 'many_to_one'}
62
+ // ['vendor_invoice_advance', 'vendor_advance'] -> many_to_one
63
+ // ['vendor_advance', 'tds_rate'] -> many_to_one
64
+ var _a;
65
+ return (_a = this.vendorAdvance) === null || _a === void 0 ? void 0 : _a.tdsRate;
66
+ }
67
+ get voucherTypes() {
68
+ // many_to_many -> many_to_many verified
69
+ // {'vendor_invoice_advance->vendor_advance': 'many_to_one', 'vendor_advance->tds_rate': 'many_to_one', 'tds_rate->voucher_type': 'many_to_many'}
70
+ // ['vendor_advance', 'tds_rate'] -> many_to_one
71
+ // ['tds_rate', 'voucher_type'] -> many_to_many
72
+ var _a;
73
+ return (_a = this.tdsRate) === null || _a === void 0 ? void 0 : _a.voucherTypes;
74
+ }
75
+ get expenseHeads() {
76
+ // many_to_many -> many_to_many verified
77
+ // {'vendor_invoice_advance->vendor_invoice': 'many_to_one', 'vendor_invoice->vendor_invoice_item': 'one_to_many', 'vendor_invoice_item->expense_head': 'many_to_one'}
78
+ // ['vendor_invoice', 'vendor_invoice_item'] -> one_to_many
79
+ // ['vendor_invoice_item', 'expense_head'] -> many_to_one
80
+ var _a;
81
+ return (_a = this.vendorInvoiceItems) === null || _a === void 0 ? void 0 : _a.flatMap((vendorInvoiceItem) => vendorInvoiceItem.expenseHead).filter((expenseHead) => !!expenseHead).reduce((accumulator, current) => {
82
+ if (!accumulator.some((expenseHead) => expenseHead.id === current.id)) {
83
+ accumulator.push(current);
84
+ }
85
+ return accumulator;
86
+ }, []);
87
+ }
88
+ get vendorInvoiceItems() {
89
+ // many_to_many -> many_to_many verified
90
+ // {'vendor_invoice_advance->vendor_invoice': 'many_to_one', 'vendor_invoice->vendor_invoice_item': 'one_to_many'}
91
+ // ['vendor_invoice_advance', 'vendor_invoice'] -> many_to_one
92
+ // ['vendor_invoice', 'vendor_invoice_item'] -> one_to_many
93
+ var _a;
94
+ return (_a = this.vendorInvoice) === null || _a === void 0 ? void 0 : _a.vendorInvoiceItems;
95
+ }
96
+ get gstRate() {
97
+ // many_to_one -> many_to_one verified
98
+ // {'vendor_invoice_advance->vendor_advance': 'many_to_one', 'vendor_advance->gst_rate': 'many_to_one'}
99
+ // ['vendor_invoice_advance', 'vendor_advance'] -> many_to_one
100
+ // ['vendor_advance', 'gst_rate'] -> many_to_one
101
+ var _a;
102
+ return (_a = this.vendorAdvance) === null || _a === void 0 ? void 0 : _a.gstRate;
103
+ }
104
+ get vendorTdsLiabilitys() {
105
+ // many_to_many -> many_to_many verified
106
+ // {'vendor_invoice_advance->vendor_advance': 'many_to_one', 'vendor_advance->tds_rate': 'many_to_one', 'tds_rate->vendor_tds_liability': 'one_to_many'}
107
+ // ['vendor_advance', 'tds_rate'] -> many_to_one
108
+ // ['tds_rate', 'vendor_tds_liability'] -> one_to_many
109
+ var _a;
110
+ return (_a = this.tdsRate) === null || _a === void 0 ? void 0 : _a.vendorTdsLiabilitys;
111
+ }
112
+ get vendorTdsChallans() {
113
+ // many_to_many -> many_to_many verified
114
+ // {'vendor_invoice_advance->vendor_advance': 'many_to_one', 'vendor_advance->tds_rate': 'many_to_one', 'tds_rate->vendor_tds_challan': 'one_to_many'}
115
+ // ['vendor_advance', 'tds_rate'] -> many_to_one
116
+ // ['tds_rate', 'vendor_tds_challan'] -> one_to_many
117
+ var _a;
118
+ return (_a = this.tdsRate) === null || _a === void 0 ? void 0 : _a.vendorTdsChallans;
119
+ }
120
+ get banks() {
121
+ // many_to_many -> many_to_many verified
122
+ // {'vendor_invoice_advance->vendor_advance': 'many_to_one', 'vendor_advance->tds_rate': 'many_to_one', 'tds_rate->vendor_tds_challan': 'one_to_many', 'vendor_tds_challan->bank': 'many_to_one'}
123
+ // ['tds_rate', 'vendor_tds_challan'] -> one_to_many
124
+ // ['vendor_tds_challan', 'bank'] -> many_to_one
125
+ var _a;
126
+ return (_a = this.vendorTdsChallans) === null || _a === void 0 ? void 0 : _a.flatMap((vendorTdsChallan) => vendorTdsChallan.bank).filter((bank) => !!bank).reduce((accumulator, current) => {
127
+ if (!accumulator.some((bank) => bank.id === current.id)) {
128
+ accumulator.push(current);
129
+ }
130
+ return accumulator;
131
+ }, []);
132
+ }
133
+ get officeLocation() {
134
+ // many_to_one -> many_to_one verified
135
+ // {'vendor_invoice_advance->vendor_invoice': 'many_to_one', 'vendor_invoice->office_location': 'many_to_one'}
136
+ // ['vendor_invoice_advance', 'vendor_invoice'] -> many_to_one
137
+ // ['vendor_invoice', 'office_location'] -> many_to_one
138
+ var _a;
139
+ return (_a = this.vendorInvoice) === null || _a === void 0 ? void 0 : _a.officeLocation;
140
+ }
141
+ get vendorInvoicePayments() {
142
+ // many_to_many -> many_to_many verified
143
+ // {'vendor_invoice_advance->vendor_invoice': 'many_to_one', 'vendor_invoice->vendor_invoice_payment': 'one_to_many'}
144
+ // ['vendor_invoice_advance', 'vendor_invoice'] -> many_to_one
145
+ // ['vendor_invoice', 'vendor_invoice_payment'] -> one_to_many
146
+ var _a;
147
+ return (_a = this.vendorInvoice) === null || _a === void 0 ? void 0 : _a.vendorInvoicePayments;
148
+ }
149
+ getNextStatus(currentUser, action, vendorInvoiceAdvanceFlowConfigContextData) {
150
+ if (!this.status) {
151
+ throw new exceptions_1.AppBadRequestException({
152
+ key: error_key_enum_1.ErrorKeyEnum.STATUS,
153
+ message: [`Status not found: ${this.status}`],
154
+ });
155
+ }
156
+ const flowForStatus = vendor_invoice_advance_flow_config_1.vendorInvoiceAdvanceFlowConfig[this.status];
157
+ if (!flowForStatus) {
158
+ throw new exceptions_1.AppBadRequestException({
159
+ key: error_key_enum_1.ErrorKeyEnum.STATUS,
160
+ message: [`No flow configuration found for status: ${this.status}`],
161
+ });
162
+ }
163
+ if (!action) {
164
+ throw new exceptions_1.AppBadRequestException({
165
+ key: error_key_enum_1.ErrorKeyEnum.ACTION_DATA,
166
+ message: ["actionData is required"],
167
+ });
168
+ }
169
+ const matchingPermissionConfig = flowForStatus.actions[action];
170
+ if (!matchingPermissionConfig) {
171
+ throw new exceptions_1.AppBadRequestException({
172
+ key: error_key_enum_1.ErrorKeyEnum.ACTION,
173
+ message: [`Action '${action}' is not valid for the current status.`],
174
+ });
175
+ }
176
+ if (!currentUser.permissions || currentUser.permissions.length === 0) {
177
+ throw new exceptions_1.AppBadRequestException({
178
+ key: error_key_enum_1.ErrorKeyEnum.PERMISSIONS,
179
+ message: ["Permission not available for currentUser"],
180
+ });
181
+ }
182
+ const hasPermission = matchingPermissionConfig.permissions.some((permission) => currentUser.permissions.includes(permission));
183
+ if (!hasPermission) {
184
+ throw new exceptions_1.AppBadRequestException({
185
+ key: error_key_enum_1.ErrorKeyEnum.PERMISSION,
186
+ message: [`Current user does not have permission to ${action} vendorInvoiceAdvance`],
187
+ });
188
+ }
189
+ const nextStatus = matchingPermissionConfig.next(vendorInvoiceAdvanceFlowConfigContextData);
190
+ return nextStatus;
191
+ }
192
+ getAvailableActions(currentUser, config) {
193
+ var _a;
194
+ const params = {
195
+ flowConfig: vendor_invoice_advance_flow_config_1.vendorInvoiceAdvanceFlowConfig,
196
+ currentStatus: this.status,
197
+ userPermissions: (_a = currentUser.permissions) !== null && _a !== void 0 ? _a : [],
198
+ visibilityData: this.getUpdateActionVisibility.bind(this, currentUser),
199
+ combinedActions: config === null || config === void 0 ? void 0 : config.combinedActions,
200
+ customLabels: config === null || config === void 0 ? void 0 : config.customLabels,
201
+ };
202
+ return utils_1.EntityActionFlowResolverV2.getAvailableActionsData(params);
203
+ }
204
+ getUpdateActionVisibility(currentUser) {
205
+ return {};
206
+ }
207
+ static getMaxAmount({ vendorInvoiceModel, vendorAdvanceModel, }) {
208
+ var _a, _b;
209
+ const vendorInvoiceBalance = (_a = vendorInvoiceModel === null || vendorInvoiceModel === void 0 ? void 0 : vendorInvoiceModel.getBalanceAmount()) !== null && _a !== void 0 ? _a : 0;
210
+ const vendorAdvanceBalance = (_b = vendorAdvanceModel === null || vendorAdvanceModel === void 0 ? void 0 : vendorAdvanceModel.getBalanceAmount()) !== null && _b !== void 0 ? _b : 0;
211
+ return Math.min(vendorInvoiceBalance, vendorAdvanceBalance);
212
+ }
213
+ }
214
+ exports.VendorInvoiceAdvanceEntityModel = VendorInvoiceAdvanceEntityModel;
215
+ VendorInvoiceAdvanceEntityModel.relationConfigs = [
216
+ {
217
+ name: entity_utils_interface_1.EntityEnum.VENDOR_INVOICE,
218
+ relation: relation_type_enum_1.RelationType.ONE,
219
+ key: "vendorInvoice",
220
+ mapKeyConfig: {
221
+ relationKey: "id",
222
+ key: "vendorInvoiceId",
223
+ },
224
+ },
225
+ {
226
+ name: entity_utils_interface_1.EntityEnum.VENDOR_ADVANCE,
227
+ relation: relation_type_enum_1.RelationType.ONE,
228
+ key: "vendorAdvance",
229
+ mapKeyConfig: {
230
+ relationKey: "id",
231
+ key: "vendorAdvanceId",
232
+ },
233
+ },
234
+ {
235
+ name: entity_utils_interface_1.EntityEnum.VENDOR,
236
+ relation: relation_type_enum_1.RelationType.ONE,
237
+ key: "vendor",
238
+ mapKeyConfig: {
239
+ relationKey: "id",
240
+ key: "vendorId",
241
+ },
242
+ },
243
+ ];
package/package.json CHANGED
@@ -1,50 +1,56 @@
1
- {
2
- "name": "law-common",
3
- "version": "11.4.0",
4
- "description": "",
5
- "main": "dist/index.js",
6
- "files": [
7
- "dist/**/*"
8
- ],
9
- "scripts": {
10
- "clean": "rm -rf dist",
11
- "build": "npm run clean && tsc",
12
- "publish:beta": "npm run build && npm version prerelease --preid beta && git push && npm publish --tag beta",
13
- "publish:beta:link": "npm run build && npm version prerelease --preid beta && git push && npm publish --tag beta && npm run link",
14
- "publish:patch": "npm version patch && git push && npm run build && npm publish",
15
- "publish:minor": "npm version minor && git push && npm run build && npm publish",
16
- "publish:major": "npm verYsion major && git push && npm run build && npm publish",
17
- "link": "npm run build && npm link",
18
- "link:backend": "npm run build && npm link && cd ../law-backend && npm link law-common && cd ../law-common",
19
- "link:frontend": "npm run build && npm link && cd ../law-admin-web && npm link law-common && cd ../law-common",
20
- "link:both": "npm run build && npm link && cd ../law-backend && npm link law-common && cd ../law-admin-web && npm link law-common && cd ../law-common",
21
- "test": "jest",
22
- "format": "prettier --write .",
23
- "check-format": "prettier --check .",
24
- "pull:link": "git pull && npm run link",
25
- "check-version": "npm view law-common versions --json | jq -r '.[-1]'",
26
- "script:publish": "node scripts/publish.js",
27
- "script:publish:latest:beta": "npm run build && node scripts/publish.js prerelease beta && git push",
28
- "script:publish:latest:patch": "npm run build && node scripts/publish.js patch && git push"
29
- },
30
- "keywords": [],
31
- "author": "",
32
- "license": "ISC",
33
- "devDependencies": {
34
- "@types/jest": "^29.5.13",
35
- "@types/lodash": "^4.17.21",
36
- "@types/node": "^22.6.1",
37
- "jest": "^29.7.0",
38
- "prettier": "3.8.1",
39
- "semver": "^7.8.1",
40
- "ts-jest": "^29.2.5",
41
- "ts-node": "^10.9.2",
42
- "typescript": "^5.6.2"
43
- },
44
- "dependencies": {
45
- "@types/express": "^5.0.0",
46
- "@types/multer": "^1.4.12",
47
- "date-fns": "^4.1.0",
48
- "lodash": "4.17.21"
49
- }
50
- }
1
+ {
2
+ "name": "law-common",
3
+ "version": "12.0.0",
4
+ "description": "",
5
+ "main": "dist/index.js",
6
+ "files": [
7
+ "dist/**/*"
8
+ ],
9
+ "scripts": {
10
+ "clean": "rm -rf dist",
11
+ "build": "npm run clean && tsc",
12
+ "publish:beta": "npm run build && npm version prerelease --preid beta && git push && npm publish --tag beta",
13
+ "publish:beta:link": "npm run build && npm version prerelease --preid beta && git push && npm publish --tag beta && npm run link",
14
+ "publish:patch": "npm version patch && git push && npm run build && npm publish",
15
+ "publish:minor": "npm version minor && git push && npm run build && npm publish",
16
+ "publish:major": "npm verYsion major && git push && npm run build && npm publish",
17
+ "link": "npm run build && npm link",
18
+ "link:backend": "npm run build && npm link && cd ../law-backend && npm link law-common && cd ../law-common",
19
+ "link:frontend": "npm run build && npm link && cd ../law-admin-web && npm link law-common && cd ../law-common",
20
+ "link:both": "npm run build && npm link && cd ../law-backend && npm link law-common && cd ../law-admin-web && npm link law-common && cd ../law-common",
21
+ "test": "jest",
22
+ "format": "prettier --write .",
23
+ "check-format": "prettier --check .",
24
+ "pull:link": "git pull && npm run link",
25
+ "check-version": "npm view law-common versions --json | jq -r '.[-1]'",
26
+ "script:publish": "node scripts/publish.js",
27
+ "script:publish:latest:beta": "npm run build && node scripts/publish.js prerelease beta && git push",
28
+ "script:publish:latest:patch": "npm run build && node scripts/publish.js patch && git push",
29
+ "script:nobuild:publish:latest:beta": "node scripts/publish.js prerelease beta && git push",
30
+ "install:version": "node scripts/install-version.js",
31
+ "script:publish:install:beta": "node scripts/publish-and-install.js prerelease beta",
32
+ "script:publish:install:patch": "node scripts/publish-and-install.js patch",
33
+ "script:publish:install:minor": "node scripts/publish-and-install.js minor",
34
+ "script:publish:install:major": "node scripts/publish-and-install.js major"
35
+ },
36
+ "keywords": [],
37
+ "author": "",
38
+ "license": "ISC",
39
+ "devDependencies": {
40
+ "@types/jest": "^29.5.13",
41
+ "@types/lodash": "^4.17.21",
42
+ "@types/node": "^22.6.1",
43
+ "jest": "^29.7.0",
44
+ "prettier": "3.8.1",
45
+ "semver": "^7.8.1",
46
+ "ts-jest": "^29.2.5",
47
+ "ts-node": "^10.9.2",
48
+ "typescript": "^5.6.2"
49
+ },
50
+ "dependencies": {
51
+ "@types/express": "^5.0.0",
52
+ "@types/multer": "^1.4.12",
53
+ "date-fns": "^4.1.0",
54
+ "lodash": "4.17.21"
55
+ }
56
+ }
@@ -1,27 +0,0 @@
1
- "use strict";
2
- // import { IEntityCreateDto, Nullable } from "../../entities";
3
- // import { IAppFileConfig, IFilePayload, MulterFileWithUrl } from "../../misc";
4
- // import { IDocumentUploadEntity } from "../../entities/interface/document_upload.entity.interface";
5
- // export type IDocumentUploadCreateExclude = "gstDocument" | "additionalDocuments";
6
- // export interface IDocumentUploadCreateDto extends Omit<IEntityCreateDto<IDocumentUploadEntity>, IDocumentUploadCreateExclude> {
7
- // gstDocument?: Nullable<MulterFileWithUrl>;
8
- // additionalDocuments?: Nullable<MulterFileWithUrl[]>;
9
- // files: IFilePayload[];
10
- // }
11
- // export type DocumentUploadDocumentFieldNames = ["gstDocument", "additionalDocuments"];
12
- // export const documentUploadFileConfig: IAppFileConfig<DocumentUploadDocumentFieldNames[number]>[] = [
13
- // {
14
- // name: "gstDocument",
15
- // size: 5242880,
16
- // count: 1,
17
- // isRequired: false,
18
- // format: ["application/pdf"],
19
- // },
20
- // {
21
- // name: "additionalDocuments",
22
- // size: 5242880,
23
- // count: 5,
24
- // isRequired: false,
25
- // format: ["application/pdf", "image/png"],
26
- // },
27
- // ];
@@ -1,8 +0,0 @@
1
- "use strict";
2
- // import { DeepPartialButRequired } from "./api.utils.interface";
3
- // import { IDeleteDocumentDetails } from "../../misc";
4
- // import { EntityEnum, EnumEntityType } from "../../entities";
5
- // import { IDocumentUploadCreateDto } from "./document_upload.create.dto.interface";
6
- // export type IDocumentUploadUpdateDto = DeepPartialButRequired<IDocumentUploadCreateDto, never> & {
7
- // deleteDocumentDetails?: IDeleteDocumentDetails<EnumEntityType<EntityEnum.DOCUMENT_UPLOAD>>;
8
- // };
@@ -1,4 +0,0 @@
1
- "use strict";
2
- // import { IEntityCreateDto } from "../../entities";
3
- // export type IExpenseHeadCreateExclude = "status";
4
- // export interface IExpenseHeadCreateDto extends Omit<IEntityCreateDto<IExpenseHeadEntity>, IExpenseHeadCreateExclude> {}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- // import { DeepPartialButRequired } from "./api.utils.interface";
3
- // export type IExpenseHeadUpdateDto = DeepPartialButRequired<IExpenseHeadCreateDto, never>;
@@ -1,4 +0,0 @@
1
- "use strict";
2
- // import { IEntityCreateDto } from "../../entities";
3
- // export type IGstRateCreateExclude = "status";
4
- // export interface IGstRateCreateDto extends Omit<IEntityCreateDto<IGstRateEntity>, IGstRateCreateExclude> {}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- // import { DeepPartialButRequired } from "./api.utils.interface";
3
- // export type IGstRateUpdateDto = DeepPartialButRequired<IGstRateCreateDto, never>;
@@ -1,4 +0,0 @@
1
- "use strict";
2
- // import { IEntityCreateDto } from "../../entities";
3
- // export type IOrganizationTypeCreateExclude = "status";
4
- // export interface IOrganizationTypeCreateDto extends Omit<IEntityCreateDto<IOrganizationTypeEntity>, IOrganizationTypeCreateExclude> {}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- // import { DeepPartialButRequired } from "./api.utils.interface";
3
- // export type IOrganizationTypeUpdateDto = DeepPartialButRequired<IOrganizationTypeCreateDto, never>;
@@ -1,6 +0,0 @@
1
- "use strict";
2
- // import { IEntityCreateDto, Nullable } from "../../entities";
3
- // import { IAppFileConfig, IFilePayload, MulterFileWithUrl } from "../../misc";
4
- // import { IStateEntity } from "../../entities/interface/state.entity.interface";
5
- // export type IStateCreateExclude = "status";
6
- // export interface IStateCreateDto extends Omit<IEntityCreateDto<IStateEntity>, IStateCreateExclude> {}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- // import { DeepPartialButRequired } from "./api.utils.interface";
3
- // import { IDeleteDocumentDetails } from "../../misc";
4
- // import { EntityEnum, EnumEntityType } from "../../entities";
5
- // import { IStateCreateDto } from "./state.create.dto.interface";
6
- // export type IStateUpdateDto = DeepPartialButRequired<IStateCreateDto, never> & { actionData: IStateActionDataDto };
7
- // export interface IStateActionDataDto {
8
- // action: StateActionEnum;
9
- // remark?: string;
10
- // }
@@ -1,6 +0,0 @@
1
- "use strict";
2
- // import { IEntityCreateDto } from "../../entities";
3
- // export type ITdsRateCreateExclude = "status";
4
- // export interface ITdsRateCreateDto extends Omit<IEntityCreateDto<ITdsRateEntity>, ITdsRateCreateExclude> {
5
- // organizationTypeIds: number[];
6
- // }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- // import { DeepPartialButRequired } from "./api.utils.interface";
3
- // export type ITdsRateUpdateDto = DeepPartialButRequired<ITdsRateCreateDto, never>;
@@ -1,7 +0,0 @@
1
- "use strict";
2
- // import { IEntityCreateDto } from "../../entities";
3
- // export type ITdsRateVoucherTypeMappingCreateExclude = never;
4
- // export interface ITdsRateVoucherTypeMappingCreateDto extends Omit<
5
- // IEntityCreateDto<ITdsRateVoucherTypeMappingEntity>,
6
- // ITdsRateVoucherTypeMappingCreateExclude
7
- // > {}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- // import { DeepPartialButRequired } from "./api.utils.interface";
3
- // export type ITdsRateVoucherTypeMappingUpdateDto = DeepPartialButRequired<ITdsRateVoucherTypeMappingCreateDto, never>;