law-common 12.0.1-beta.3 → 12.2.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 (33) hide show
  1. package/README.md +1 -1
  2. package/dist/src/api/index.d.ts +0 -4
  3. package/dist/src/api/index.js +0 -4
  4. package/dist/src/entities/index.d.ts +0 -8
  5. package/dist/src/entities/index.js +0 -8
  6. package/dist/src/entities/interface/entity.utils.interface.d.ts +3 -9
  7. package/dist/src/entities/interface/entity.utils.interface.js +0 -2
  8. package/dist/src/entities/model/entity.model.interface.js +0 -4
  9. package/package.json +1 -1
  10. package/dist/src/api/interface/client_debit_note.create.dto.interface.d.ts +0 -12
  11. package/dist/src/api/interface/client_debit_note.create.dto.interface.js +0 -12
  12. package/dist/src/api/interface/client_debit_note.update.dto.interface.d.ts +0 -25
  13. package/dist/src/api/interface/client_debit_note.update.dto.interface.js +0 -17
  14. package/dist/src/api/interface/client_debit_note_particulars.create.dto.interface.d.ts +0 -5
  15. package/dist/src/api/interface/client_debit_note_particulars.create.dto.interface.js +0 -2
  16. package/dist/src/api/interface/client_debit_note_particulars.update.dto.interface.d.ts +0 -22
  17. package/dist/src/api/interface/client_debit_note_particulars.update.dto.interface.js +0 -17
  18. package/dist/src/entities/enums/client_debit_note_particulars_status_enum.d.ts +0 -11
  19. package/dist/src/entities/enums/client_debit_note_particulars_status_enum.js +0 -15
  20. package/dist/src/entities/enums/client_debit_note_status_enum.d.ts +0 -11
  21. package/dist/src/entities/enums/client_debit_note_status_enum.js +0 -15
  22. package/dist/src/entities/flow-configs/client_debit_note_flow.config.d.ts +0 -6
  23. package/dist/src/entities/flow-configs/client_debit_note_flow.config.js +0 -165
  24. package/dist/src/entities/flow-configs/client_debit_note_particulars_flow.config.d.ts +0 -6
  25. package/dist/src/entities/flow-configs/client_debit_note_particulars_flow.config.js +0 -165
  26. package/dist/src/entities/interface/client_debit_note.entity.interface.d.ts +0 -18
  27. package/dist/src/entities/interface/client_debit_note.entity.interface.js +0 -2
  28. package/dist/src/entities/interface/client_debit_note_particulars.entity.interface.d.ts +0 -9
  29. package/dist/src/entities/interface/client_debit_note_particulars.entity.interface.js +0 -2
  30. package/dist/src/entities/model/client_debit_note.entity.model.d.ts +0 -57
  31. package/dist/src/entities/model/client_debit_note.entity.model.js +0 -337
  32. package/dist/src/entities/model/client_debit_note_particulars.entity.model.d.ts +0 -43
  33. package/dist/src/entities/model/client_debit_note_particulars.entity.model.js +0 -319
@@ -1,165 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.clientDebitNoteParticularsFlowConfig = void 0;
4
- const base_flow_config_factory_1 = require("./base-flow-config.factory");
5
- const api_1 = require("../../api");
6
- const client_debit_note_particulars_status_enum_1 = require("../enums/client_debit_note_particulars_status_enum");
7
- const CLIENT_DEBIT_NOTE_PARTICULARS_CREATE_PERMISSION = ["CLIENT_DEBIT_NOTE_CREATE"];
8
- const CLIENT_DEBIT_NOTE_PARTICULARS_UPDATE_PERMISSION = ["CLIENT_DEBIT_NOTE_UPDATE"];
9
- const CLIENT_DEBIT_NOTE_PARTICULARS_DELETE_PERMISSION = ["CLIENT_DEBIT_NOTE_DELETE"];
10
- const CLIENT_DEBIT_NOTE_PARTICULARS_APPROVE_PERMISSION = ["CLIENT_DEBIT_NOTE_APPROVER"];
11
- const CLIENT_DEBIT_NOTE_PARTICULARS_REJECT_PERMISSION = ["CLIENT_DEBIT_NOTE_APPROVER"];
12
- const CLIENT_DEBIT_NOTE_PARTICULARS_RECALL_PERMISSION = ["CLIENT_DEBIT_NOTE_RECALL"];
13
- const CLIENT_DEBIT_NOTE_PARTICULARS_DEACTIVATE_PERMISSION = ["CLIENT_DEBIT_NOTE_DEACTIVATE"];
14
- const CLIENT_DEBIT_NOTE_PARTICULARS_REQUEST_CHANGES_PERMISSION = ["CLIENT_DEBIT_NOTE_REQUEST_CHANGES"];
15
- const CLIENT_DEBIT_NOTE_PARTICULARS_ACTIVATE_PERMISSION = ["CLIENT_DEBIT_NOTE_ACTIVATE"];
16
- const CLIENT_DEBIT_NOTE_PARTICULARS_RESTORE_PERMISSION = ["CLIENT_DEBIT_NOTE_RESTORE"];
17
- const CLIENT_DEBIT_NOTE_PARTICULARS_CHANGES_DONE_PERMISSION = ["CLIENT_DEBIT_NOTE_CHANGES_DONE"];
18
- const ACTION_MAP = {
19
- [api_1.ClientDebitNoteParticularsActionEnum.CREATE]: {
20
- reachableStatues: [client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.CREATE_APPROVAL_PENDING],
21
- permissions: CLIENT_DEBIT_NOTE_PARTICULARS_CREATE_PERMISSION,
22
- },
23
- [api_1.ClientDebitNoteParticularsActionEnum.UPDATE]: {
24
- reachableStatues: [
25
- client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.CREATE_APPROVAL_PENDING,
26
- client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.UPDATE_APPROVAL_PENDING,
27
- client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.CHANGE_REQUESTED,
28
- ],
29
- permissions: CLIENT_DEBIT_NOTE_PARTICULARS_UPDATE_PERMISSION,
30
- },
31
- [api_1.ClientDebitNoteParticularsActionEnum.DELETE]: {
32
- reachableStatues: [client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.DELETE_APPROVAL_PENDING, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.DELETED],
33
- permissions: CLIENT_DEBIT_NOTE_PARTICULARS_DELETE_PERMISSION,
34
- },
35
- [api_1.ClientDebitNoteParticularsActionEnum.APPROVE]: {
36
- reachableStatues: [client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.APPROVED, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.DELETED],
37
- permissions: CLIENT_DEBIT_NOTE_PARTICULARS_APPROVE_PERMISSION,
38
- },
39
- [api_1.ClientDebitNoteParticularsActionEnum.REJECT]: {
40
- reachableStatues: [client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.REJECTED, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.RESOLVED_REJECTED],
41
- permissions: CLIENT_DEBIT_NOTE_PARTICULARS_REJECT_PERMISSION,
42
- },
43
- [api_1.ClientDebitNoteParticularsActionEnum.RECALL]: {
44
- reachableStatues: [client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.APPROVED, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.DEACTIVATED],
45
- permissions: CLIENT_DEBIT_NOTE_PARTICULARS_RECALL_PERMISSION,
46
- },
47
- [api_1.ClientDebitNoteParticularsActionEnum.DEACTIVATE]: {
48
- reachableStatues: [client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.UPDATE_APPROVAL_PENDING],
49
- permissions: CLIENT_DEBIT_NOTE_PARTICULARS_DEACTIVATE_PERMISSION,
50
- },
51
- [api_1.ClientDebitNoteParticularsActionEnum.REQUEST_CHANGES]: {
52
- reachableStatues: [client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.CHANGE_REQUESTED],
53
- permissions: CLIENT_DEBIT_NOTE_PARTICULARS_REQUEST_CHANGES_PERMISSION,
54
- },
55
- [api_1.ClientDebitNoteParticularsActionEnum.ACTIVATE]: {
56
- reachableStatues: [client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.APPROVED],
57
- permissions: CLIENT_DEBIT_NOTE_PARTICULARS_ACTIVATE_PERMISSION,
58
- },
59
- [api_1.ClientDebitNoteParticularsActionEnum.RESTORE]: {
60
- reachableStatues: [client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.CREATE_APPROVAL_PENDING],
61
- permissions: CLIENT_DEBIT_NOTE_PARTICULARS_RESTORE_PERMISSION,
62
- },
63
- [api_1.ClientDebitNoteParticularsActionEnum.CHANGES_DONE]: {
64
- reachableStatues: [client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.UPDATE_APPROVAL_PENDING],
65
- permissions: CLIENT_DEBIT_NOTE_PARTICULARS_CHANGES_DONE_PERMISSION,
66
- },
67
- };
68
- const { createActionConfig } = (0, base_flow_config_factory_1.createFlowConfigFactory)()(ACTION_MAP);
69
- // CREATE_APPROVAL_PENDING status transitions
70
- const transitionCreateApprovalPendingStatusUpdateAction = createActionConfig(api_1.ClientDebitNoteParticularsActionEnum.UPDATE, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.CREATE_APPROVAL_PENDING);
71
- const transitionCreateApprovalPendingStatusDeleteAction = createActionConfig(api_1.ClientDebitNoteParticularsActionEnum.DELETE, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.DELETED);
72
- const transitionCreateApprovalPendingStatusApproveAction = createActionConfig(api_1.ClientDebitNoteParticularsActionEnum.APPROVE, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.APPROVED);
73
- const transitionCreateApprovalPendingStatusRejectAction = createActionConfig(api_1.ClientDebitNoteParticularsActionEnum.REJECT, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.REJECTED);
74
- const transitionCreateApprovalPendingStatusRequestChangesAction = createActionConfig(api_1.ClientDebitNoteParticularsActionEnum.REQUEST_CHANGES, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.CHANGE_REQUESTED);
75
- // UPDATE_APPROVAL_PENDING status transitions
76
- const transitionUpdateApprovalPendingStatusUpdateAction = createActionConfig(api_1.ClientDebitNoteParticularsActionEnum.UPDATE, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.UPDATE_APPROVAL_PENDING);
77
- const transitionUpdateApprovalPendingStatusApproveAction = createActionConfig(api_1.ClientDebitNoteParticularsActionEnum.APPROVE, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.APPROVED);
78
- const transitionUpdateApprovalPendingStatusRejectAction = createActionConfig(api_1.ClientDebitNoteParticularsActionEnum.REJECT, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.RESOLVED_REJECTED);
79
- // <old approved state> - resolved at runtime
80
- const transitionUpdateApprovalPendingStatusRecallAction = createActionConfig(api_1.ClientDebitNoteParticularsActionEnum.RECALL, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.APPROVED);
81
- const transitionUpdateApprovalPendingStatusRequestChangesAction = createActionConfig(api_1.ClientDebitNoteParticularsActionEnum.REQUEST_CHANGES, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.CHANGE_REQUESTED);
82
- // DELETE_APPROVAL_PENDING status transitions
83
- const transitionDeleteApprovalPendingStatusApproveAction = createActionConfig(api_1.ClientDebitNoteParticularsActionEnum.APPROVE, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.DELETED);
84
- const transitionDeleteApprovalPendingStatusRejectAction = createActionConfig(api_1.ClientDebitNoteParticularsActionEnum.REJECT, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.RESOLVED_REJECTED);
85
- // <old approved state> - resolved at runtime
86
- const transitionDeleteApprovalPendingStatusRecallAction = createActionConfig(api_1.ClientDebitNoteParticularsActionEnum.RECALL, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.APPROVED);
87
- // APPROVED status transitions
88
- const transitionApprovedStatusUpdateAction = createActionConfig(api_1.ClientDebitNoteParticularsActionEnum.UPDATE, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.UPDATE_APPROVAL_PENDING);
89
- const transitionApprovedStatusDeleteAction = createActionConfig(api_1.ClientDebitNoteParticularsActionEnum.DELETE, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.DELETE_APPROVAL_PENDING);
90
- const transitionApprovedStatusDeactivateAction = createActionConfig(api_1.ClientDebitNoteParticularsActionEnum.DEACTIVATE, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.UPDATE_APPROVAL_PENDING);
91
- // REJECTED status transitions
92
- const transitionRejectedStatusRestoreAction = createActionConfig(api_1.ClientDebitNoteParticularsActionEnum.RESTORE, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.CREATE_APPROVAL_PENDING);
93
- // RESOLVED_REJECTED status transitions
94
- const transitionResolvedRejectedStatusUpdateAction = createActionConfig(api_1.ClientDebitNoteParticularsActionEnum.UPDATE, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.UPDATE_APPROVAL_PENDING);
95
- const transitionResolvedRejectedStatusDeleteAction = createActionConfig(api_1.ClientDebitNoteParticularsActionEnum.DELETE, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.DELETED);
96
- const transitionResolvedRejectedStatusDeactivateAction = createActionConfig(api_1.ClientDebitNoteParticularsActionEnum.DEACTIVATE, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.UPDATE_APPROVAL_PENDING);
97
- // DEACTIVATED status transitions
98
- const transitionDeactivatedStatusRestoreAction = createActionConfig(api_1.ClientDebitNoteParticularsActionEnum.RESTORE, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.CREATE_APPROVAL_PENDING);
99
- // DELETED status transitions
100
- const transitionDeletedStatusRestoreAction = createActionConfig(api_1.ClientDebitNoteParticularsActionEnum.RESTORE, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.CREATE_APPROVAL_PENDING);
101
- // CHANGE_REQUESTED status transitions
102
- const transitionChangeRequestedStatusUpdateAction = createActionConfig(api_1.ClientDebitNoteParticularsActionEnum.UPDATE, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.CHANGE_REQUESTED);
103
- const transitionChangeRequestedStatusChangesDoneAction = createActionConfig(api_1.ClientDebitNoteParticularsActionEnum.CHANGES_DONE, client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.UPDATE_APPROVAL_PENDING);
104
- exports.clientDebitNoteParticularsFlowConfig = {
105
- [client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.CREATE_APPROVAL_PENDING]: {
106
- actions: {
107
- [api_1.ClientDebitNoteParticularsActionEnum.UPDATE]: transitionCreateApprovalPendingStatusUpdateAction,
108
- [api_1.ClientDebitNoteParticularsActionEnum.DELETE]: transitionCreateApprovalPendingStatusDeleteAction,
109
- [api_1.ClientDebitNoteParticularsActionEnum.APPROVE]: transitionCreateApprovalPendingStatusApproveAction,
110
- [api_1.ClientDebitNoteParticularsActionEnum.REJECT]: transitionCreateApprovalPendingStatusRejectAction,
111
- [api_1.ClientDebitNoteParticularsActionEnum.REQUEST_CHANGES]: transitionCreateApprovalPendingStatusRequestChangesAction,
112
- },
113
- },
114
- [client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.UPDATE_APPROVAL_PENDING]: {
115
- actions: {
116
- [api_1.ClientDebitNoteParticularsActionEnum.UPDATE]: transitionUpdateApprovalPendingStatusUpdateAction,
117
- [api_1.ClientDebitNoteParticularsActionEnum.APPROVE]: transitionUpdateApprovalPendingStatusApproveAction,
118
- [api_1.ClientDebitNoteParticularsActionEnum.REJECT]: transitionUpdateApprovalPendingStatusRejectAction,
119
- [api_1.ClientDebitNoteParticularsActionEnum.RECALL]: transitionUpdateApprovalPendingStatusRecallAction,
120
- [api_1.ClientDebitNoteParticularsActionEnum.REQUEST_CHANGES]: transitionUpdateApprovalPendingStatusRequestChangesAction,
121
- },
122
- },
123
- [client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.DELETE_APPROVAL_PENDING]: {
124
- actions: {
125
- [api_1.ClientDebitNoteParticularsActionEnum.APPROVE]: transitionDeleteApprovalPendingStatusApproveAction,
126
- [api_1.ClientDebitNoteParticularsActionEnum.REJECT]: transitionDeleteApprovalPendingStatusRejectAction,
127
- [api_1.ClientDebitNoteParticularsActionEnum.RECALL]: transitionDeleteApprovalPendingStatusRecallAction,
128
- },
129
- },
130
- [client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.APPROVED]: {
131
- actions: {
132
- [api_1.ClientDebitNoteParticularsActionEnum.UPDATE]: transitionApprovedStatusUpdateAction,
133
- [api_1.ClientDebitNoteParticularsActionEnum.DELETE]: transitionApprovedStatusDeleteAction,
134
- [api_1.ClientDebitNoteParticularsActionEnum.DEACTIVATE]: transitionApprovedStatusDeactivateAction,
135
- },
136
- },
137
- [client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.REJECTED]: {
138
- actions: {
139
- [api_1.ClientDebitNoteParticularsActionEnum.RESTORE]: transitionRejectedStatusRestoreAction,
140
- },
141
- },
142
- [client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.RESOLVED_REJECTED]: {
143
- actions: {
144
- [api_1.ClientDebitNoteParticularsActionEnum.UPDATE]: transitionResolvedRejectedStatusUpdateAction,
145
- [api_1.ClientDebitNoteParticularsActionEnum.DELETE]: transitionResolvedRejectedStatusDeleteAction,
146
- [api_1.ClientDebitNoteParticularsActionEnum.DEACTIVATE]: transitionResolvedRejectedStatusDeactivateAction,
147
- },
148
- },
149
- [client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.DEACTIVATED]: {
150
- actions: {
151
- [api_1.ClientDebitNoteParticularsActionEnum.RESTORE]: transitionDeactivatedStatusRestoreAction,
152
- },
153
- },
154
- [client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.DELETED]: {
155
- actions: {
156
- [api_1.ClientDebitNoteParticularsActionEnum.RESTORE]: transitionDeletedStatusRestoreAction,
157
- },
158
- },
159
- [client_debit_note_particulars_status_enum_1.ClientDebitNoteParticularsStatusEnum.CHANGE_REQUESTED]: {
160
- actions: {
161
- [api_1.ClientDebitNoteParticularsActionEnum.UPDATE]: transitionChangeRequestedStatusUpdateAction,
162
- [api_1.ClientDebitNoteParticularsActionEnum.CHANGES_DONE]: transitionChangeRequestedStatusChangesDoneAction,
163
- },
164
- },
165
- };
@@ -1,18 +0,0 @@
1
- import { IEntityAuditColumn } from "./entity-audit-columns.interface";
2
- import { Nullable } from "./entity.utils.interface";
3
- import { ClientDebitNoteStatusEnum } from "../enums/client_debit_note_status_enum";
4
- export interface IClientDebitNoteEntity extends IEntityAuditColumn {
5
- id: number;
6
- no: string;
7
- date: number;
8
- clientId: number;
9
- clientAffiliateId?: Nullable<number>;
10
- address: string;
11
- email: string;
12
- kindAttn?: Nullable<string>;
13
- description: string;
14
- bankId: number;
15
- totalAmount: number;
16
- attachmentDocuments?: Nullable<string>;
17
- status: ClientDebitNoteStatusEnum;
18
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,9 +0,0 @@
1
- import { IEntityAuditColumn } from "./entity-audit-columns.interface";
2
- import { ClientDebitNoteParticularsStatusEnum } from "../enums/client_debit_note_particulars_status_enum";
3
- export interface IClientDebitNoteParticularsEntity extends IEntityAuditColumn {
4
- id: number;
5
- description: string;
6
- amount: number;
7
- clientDebitNoteId: number;
8
- status: ClientDebitNoteParticularsStatusEnum;
9
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,57 +0,0 @@
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 { IClientDebitNoteEntity } from "../interface/client_debit_note.entity.interface";
8
- import { ClientDebitNoteStatusEnum } from "../enums/client_debit_note_status_enum";
9
- import { BankEntityModel } from "./bank.entity.model";
10
- import { ClientEntityModel } from "./client.entity.model";
11
- import { ClientAffiliateEntityModel } from "./client-affiliate.entity.model";
12
- import { ClientDebitNoteParticularsEntityModel } from "./client_debit_note_particulars.entity.model";
13
- import { ClientDebitNoteActionEnum } from "../../api";
14
- import { IClientDebitNoteFlowConfigContextData } from "../flow-configs/client_debit_note_flow.config";
15
- export declare class ClientDebitNoteEntityModel extends BaseEntityModel<EntityEnum.CLIENT_DEBIT_NOTE> implements IClientDebitNoteEntity {
16
- id: number;
17
- no: string;
18
- date: number;
19
- clientId: number;
20
- clientAffiliateId?: number;
21
- address: string;
22
- email: string;
23
- kindAttn?: string;
24
- description: string;
25
- bankId: number;
26
- totalAmount: number;
27
- attachmentDocuments?: string;
28
- status: ClientDebitNoteStatusEnum;
29
- createdOn: number;
30
- updatedOn: number;
31
- createdBy: number;
32
- updatedBy: number;
33
- bank?: BankEntityModel;
34
- client?: ClientEntityModel;
35
- clientAffiliate?: ClientAffiliateEntityModel;
36
- clientDebitNoteParticularss?: ClientDebitNoteParticularsEntityModel[];
37
- static relationConfigs: RelationConfigs<[
38
- EntityEnum.BANK,
39
- EntityEnum.CLIENT,
40
- EntityEnum.CLIENT_AFFILIATE,
41
- EntityEnum.CLIENT_DEBIT_NOTE_PARTICULARS,
42
- EntityEnum.CLIENT_DEBIT_NOTE_PARTICULARS
43
- ], EntityEnum.CLIENT_DEBIT_NOTE>;
44
- static fromEntity(entity: IClientDebitNoteEntity): ClientDebitNoteEntityModel;
45
- getRelationConfigs(): any[];
46
- getNextStatus(currentUser: IUserEntity, action: ClientDebitNoteActionEnum, clientDebitNoteFlowConfigContextData: IClientDebitNoteFlowConfigContextData): ClientDebitNoteStatusEnum;
47
- getAvailableActions(currentUser: UserEntityModel, config?: {
48
- combinedActions?: Record<string, {
49
- combineActions: ClientDebitNoteActionEnum[];
50
- label: string;
51
- }>;
52
- customLabels?: Partial<Record<ClientDebitNoteActionEnum, string>>;
53
- }): IRowActions<EntityEnum.CLIENT_DEBIT_NOTE>[];
54
- getUpdateActionVisibility(currentUser: UserEntityModel): {
55
- [key: string]: () => boolean;
56
- };
57
- }
@@ -1,337 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ClientDebitNoteEntityModel = 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 client_debit_note_status_enum_1 = require("../enums/client_debit_note_status_enum");
11
- const client_debit_note_flow_config_1 = require("../flow-configs/client_debit_note_flow.config");
12
- class ClientDebitNoteEntityModel extends base_entity_model_1.BaseEntityModel {
13
- constructor() {
14
- super(...arguments);
15
- this.id = 0;
16
- this.no = "";
17
- this.date = 0;
18
- this.clientId = 0;
19
- this.address = "";
20
- this.email = "";
21
- this.description = "";
22
- this.bankId = 0;
23
- this.totalAmount = 0;
24
- this.status = client_debit_note_status_enum_1.ClientDebitNoteStatusEnum.CREATE_APPROVAL_PENDING;
25
- this.createdOn = 0;
26
- this.updatedOn = 0;
27
- this.createdBy = 0;
28
- this.updatedBy = 0;
29
- }
30
- static fromEntity(entity) {
31
- const result = new ClientDebitNoteEntityModel(entity_utils_interface_1.EntityEnum.CLIENT_DEBIT_NOTE);
32
- Object.assign(result, entity);
33
- return result;
34
- }
35
- getRelationConfigs() {
36
- return this.constructor.prototype.constructor.relationConfigs || [];
37
- }
38
- // get vendorTdsChallans(): VendorTdsChallanEntityModel[] | undefined {
39
- // // many_to_many -> many_to_many verified
40
- // // {'client_debit_note->bank': 'many_to_one', 'bank->vendor_tds_challan': 'one_to_many'}
41
- // // ['client_debit_note', 'bank'] -> many_to_one
42
- // // ['bank', 'vendor_tds_challan'] -> one_to_many
43
- // return this.bank?.vendorTdsChallans;
44
- // }
45
- // get tdsRates(): TdsRateEntityModel[] | undefined {
46
- // // many_to_many -> many_to_many verified
47
- // // {'client_debit_note->bank': 'many_to_one', 'bank->vendor_tds_challan': 'one_to_many', 'vendor_tds_challan->tds_rate': 'many_to_one'}
48
- // // ['bank', 'vendor_tds_challan'] -> one_to_many
49
- // // ['vendor_tds_challan', 'tds_rate'] -> many_to_one
50
- // return this.vendorTdsChallans
51
- // ?.flatMap((vendorTdsChallan) => vendorTdsChallan.tdsRate)
52
- // .filter((tdsRate): tdsRate is TdsRateEntityModel => !!tdsRate)
53
- // .reduce((accumulator: TdsRateEntityModel[], current) => {
54
- // if (!accumulator.some((tdsRate) => tdsRate.id === current.id)) {
55
- // accumulator.push(current);
56
- // }
57
- // return accumulator;
58
- // }, []);
59
- // }
60
- // get organizationTypes(): OrganizationTypeEntityModel[] | undefined {
61
- // // many_to_many -> many_to_many verified
62
- // // {'client_debit_note->bank': 'many_to_one', 'bank->vendor_tds_challan': 'one_to_many', 'vendor_tds_challan->tds_rate': 'many_to_one', 'tds_rate->organization_type': 'many_to_many'}
63
- // // ['vendor_tds_challan', 'tds_rate'] -> many_to_one
64
- // // ['tds_rate', 'organization_type'] -> many_to_many
65
- // return this.tdsRate?.organizationTypes;
66
- // }
67
- // get vendors(): VendorEntityModel[] | undefined {
68
- // // many_to_many -> many_to_many verified
69
- // // {'client_debit_note->bank': 'many_to_one', 'bank->vendor_tds_challan': 'one_to_many', 'vendor_tds_challan->tds_rate': 'many_to_one', 'tds_rate->organization_type': 'many_to_many', 'organization_type->vendor': 'one_to_many'}
70
- // // ['tds_rate', 'organization_type'] -> many_to_many
71
- // // ['organization_type', 'vendor'] -> one_to_many
72
- // return this.organizationTypes
73
- // ?.flatMap((organizationType) => organizationType.vendors)
74
- // .filter((vendor): vendor is VendorEntityModel => !!vendor)
75
- // .reduce((accumulator: VendorEntityModel[], current) => {
76
- // if (!accumulator.some((vendor) => vendor.id === current.id)) {
77
- // accumulator.push(current);
78
- // }
79
- // return accumulator;
80
- // }, []);
81
- // }
82
- // get states(): StateEntityModel[] | undefined {
83
- // // many_to_many -> many_to_many verified
84
- // // {'client_debit_note->bank': 'many_to_one', 'bank->vendor_tds_challan': 'one_to_many', 'vendor_tds_challan->tds_rate': 'many_to_one', 'tds_rate->organization_type': 'many_to_many', 'organization_type->vendor': 'one_to_many', 'vendor->state': 'many_to_one'}
85
- // // ['organization_type', 'vendor'] -> one_to_many
86
- // // ['vendor', 'state'] -> many_to_one
87
- // return this.vendors
88
- // ?.flatMap((vendor) => vendor.stateModel)
89
- // .filter((state): state is StateEntityModel => !!state)
90
- // .reduce((accumulator: StateEntityModel[], current) => {
91
- // if (!accumulator.some((state) => state.id === current.id)) {
92
- // accumulator.push(current);
93
- // }
94
- // return accumulator;
95
- // }, []);
96
- // }
97
- // get countrys(): CountryEntityModel[] | undefined {
98
- // // many_to_many -> many_to_many verified
99
- // // {'client_debit_note->bank': 'many_to_one', 'bank->vendor_tds_challan': 'one_to_many', 'vendor_tds_challan->tds_rate': 'many_to_one', 'tds_rate->organization_type': 'many_to_many', 'organization_type->vendor': 'one_to_many', 'vendor->country': 'many_to_one'}
100
- // // ['organization_type', 'vendor'] -> one_to_many
101
- // // ['vendor', 'country'] -> many_to_one
102
- // return this.vendors
103
- // ?.flatMap((vendor) => vendor.countryModel)
104
- // .filter((country): country is CountryEntityModel => !!country)
105
- // .reduce((accumulator: CountryEntityModel[], current) => {
106
- // if (!accumulator.some((country) => country.id === current.id)) {
107
- // accumulator.push(current);
108
- // }
109
- // return accumulator;
110
- // }, []);
111
- // }
112
- // get vendorInvoices(): VendorInvoiceEntityModel[] | undefined {
113
- // // one_to_many -> many_to_many mismatch
114
- // // {'client_debit_note->bank': 'many_to_one', 'bank->vendor_tds_challan': 'one_to_many', 'vendor_tds_challan->tds_rate': 'many_to_one', 'tds_rate->organization_type': 'many_to_many', 'organization_type->vendor': 'one_to_many', 'vendor->vendor_invoice': 'one_to_many'}
115
- // // ['organization_type', 'vendor'] -> one_to_many
116
- // // ['vendor', 'vendor_invoice'] -> one_to_many
117
- // return this.vendors
118
- // ?.flatMap((vendor) => vendor.vendorInvoices)
119
- // .filter((vendorInvoice): vendorInvoice is VendorInvoiceEntityModel => !!vendorInvoice)
120
- // .reduce((accumulator: VendorInvoiceEntityModel[], current) => {
121
- // if (!accumulator.some((vendorInvoice) => vendorInvoice.id === current.id)) {
122
- // accumulator.push(current);
123
- // }
124
- // return accumulator;
125
- // }, []);
126
- // }
127
- // get officeLocations(): OfficeLocationEntityModel[] | undefined {
128
- // // many_to_many -> many_to_many verified
129
- // // {'client_debit_note->bank': 'many_to_one', 'bank->vendor_tds_challan': 'one_to_many', 'vendor_tds_challan->tds_rate': 'many_to_one', 'tds_rate->organization_type': 'many_to_many', 'organization_type->vendor': 'one_to_many', 'vendor->vendor_invoice': 'one_to_many', 'vendor_invoice->office_location': 'many_to_one'}
130
- // // ['vendor', 'vendor_invoice'] -> one_to_many
131
- // // ['vendor_invoice', 'office_location'] -> many_to_one
132
- // return this.vendorInvoices
133
- // ?.flatMap((vendorInvoice) => vendorInvoice.officeLocation)
134
- // .filter((officeLocation): officeLocation is OfficeLocationEntityModel => !!officeLocation)
135
- // .reduce((accumulator: OfficeLocationEntityModel[], current) => {
136
- // if (!accumulator.some((officeLocation) => officeLocation.id === current.id)) {
137
- // accumulator.push(current);
138
- // }
139
- // return accumulator;
140
- // }, []);
141
- // }
142
- // get vendorInvoiceItems(): VendorInvoiceItemEntityModel[] | undefined {
143
- // // many_to_many -> many_to_many verified
144
- // // {'client_debit_note->bank': 'many_to_one', 'bank->vendor_tds_challan': 'one_to_many', 'vendor_tds_challan->tds_rate': 'many_to_one', 'tds_rate->vendor_invoice_item': 'one_to_many'}
145
- // // ['vendor_tds_challan', 'tds_rate'] -> many_to_one
146
- // // ['tds_rate', 'vendor_invoice_item'] -> one_to_many
147
- // return this.tdsRate?.vendorInvoiceItems;
148
- // }
149
- // get voucherTypes(): VoucherTypeEntityModel[] | undefined {
150
- // // many_to_many -> many_to_many verified
151
- // // {'client_debit_note->bank': 'many_to_one', 'bank->vendor_tds_challan': 'one_to_many', 'vendor_tds_challan->tds_rate': 'many_to_one', 'tds_rate->voucher_type': 'many_to_many'}
152
- // // ['vendor_tds_challan', 'tds_rate'] -> many_to_one
153
- // // ['tds_rate', 'voucher_type'] -> many_to_many
154
- // return this.tdsRate?.voucherTypes;
155
- // }
156
- // get expenseHeads(): ExpenseHeadEntityModel[] | undefined {
157
- // // many_to_many -> many_to_many verified
158
- // // {'client_debit_note->bank': 'many_to_one', 'bank->vendor_tds_challan': 'one_to_many', 'vendor_tds_challan->tds_rate': 'many_to_one', 'tds_rate->voucher_type': 'many_to_many', 'voucher_type->expense_head': 'one_to_many'}
159
- // // ['tds_rate', 'voucher_type'] -> many_to_many
160
- // // ['voucher_type', 'expense_head'] -> one_to_many
161
- // return this.voucherTypes
162
- // ?.flatMap((voucherType) => voucherType.expenseHeads)
163
- // .filter((expenseHead): expenseHead is ExpenseHeadEntityModel => !!expenseHead)
164
- // .reduce((accumulator: ExpenseHeadEntityModel[], current) => {
165
- // if (!accumulator.some((expenseHead) => expenseHead.id === current.id)) {
166
- // accumulator.push(current);
167
- // }
168
- // return accumulator;
169
- // }, []);
170
- // }
171
- // get gstRates(): GstRateEntityModel[] | undefined {
172
- // // many_to_many -> many_to_many verified
173
- // // {'client_debit_note->bank': 'many_to_one', 'bank->vendor_tds_challan': 'one_to_many', 'vendor_tds_challan->tds_rate': 'many_to_one', 'tds_rate->vendor_advance': 'one_to_many', 'vendor_advance->gst_rate': 'many_to_one'}
174
- // // ['tds_rate', 'vendor_advance'] -> one_to_many
175
- // // ['vendor_advance', 'gst_rate'] -> many_to_one
176
- // return this.vendorAdvances
177
- // ?.flatMap((vendorAdvance) => vendorAdvance.gstRate)
178
- // .filter((gstRate): gstRate is GstRateEntityModel => !!gstRate)
179
- // .reduce((accumulator: GstRateEntityModel[], current) => {
180
- // if (!accumulator.some((gstRate) => gstRate.id === current.id)) {
181
- // accumulator.push(current);
182
- // }
183
- // return accumulator;
184
- // }, []);
185
- // }
186
- // get vendorAdvances(): VendorAdvanceEntityModel[] | undefined {
187
- // // many_to_many -> many_to_many verified
188
- // // {'client_debit_note->bank': 'many_to_one', 'bank->vendor_tds_challan': 'one_to_many', 'vendor_tds_challan->tds_rate': 'many_to_one', 'tds_rate->vendor_advance': 'one_to_many'}
189
- // // ['vendor_tds_challan', 'tds_rate'] -> many_to_one
190
- // // ['tds_rate', 'vendor_advance'] -> one_to_many
191
- // return this.tdsRate?.vendorAdvances;
192
- // }
193
- // get vendorInvoiceAdvances(): VendorInvoiceAdvanceEntityModel[] | undefined {
194
- // // one_to_many -> many_to_many mismatch
195
- // // {'client_debit_note->bank': 'many_to_one', 'bank->vendor_tds_challan': 'one_to_many', 'vendor_tds_challan->tds_rate': 'many_to_one', 'tds_rate->vendor_advance': 'one_to_many', 'vendor_advance->vendor_invoice_advance': 'one_to_many'}
196
- // // ['tds_rate', 'vendor_advance'] -> one_to_many
197
- // // ['vendor_advance', 'vendor_invoice_advance'] -> one_to_many
198
- // return this.vendorAdvances
199
- // ?.flatMap((vendorAdvance) => vendorAdvance.vendorInvoiceAdvances)
200
- // .filter((vendorInvoiceAdvance): vendorInvoiceAdvance is VendorInvoiceAdvanceEntityModel => !!vendorInvoiceAdvance)
201
- // .reduce((accumulator: VendorInvoiceAdvanceEntityModel[], current) => {
202
- // if (!accumulator.some((vendorInvoiceAdvance) => vendorInvoiceAdvance.id === current.id)) {
203
- // accumulator.push(current);
204
- // }
205
- // return accumulator;
206
- // }, []);
207
- // }
208
- // get vendorInvoicePayments(): VendorInvoicePaymentEntityModel[] | undefined {
209
- // // one_to_many -> many_to_many mismatch
210
- // // {'client_debit_note->bank': 'many_to_one', 'bank->vendor_tds_challan': 'one_to_many', 'vendor_tds_challan->tds_rate': 'many_to_one', 'tds_rate->organization_type': 'many_to_many', 'organization_type->vendor': 'one_to_many', 'vendor->vendor_invoice': 'one_to_many', 'vendor_invoice->vendor_invoice_payment': 'one_to_many'}
211
- // // ['vendor', 'vendor_invoice'] -> one_to_many
212
- // // ['vendor_invoice', 'vendor_invoice_payment'] -> one_to_many
213
- // return this.vendorInvoices
214
- // ?.flatMap((vendorInvoice) => vendorInvoice.vendorInvoicePayments)
215
- // .filter((vendorInvoicePayment): vendorInvoicePayment is VendorInvoicePaymentEntityModel => !!vendorInvoicePayment)
216
- // .reduce((accumulator: VendorInvoicePaymentEntityModel[], current) => {
217
- // if (!accumulator.some((vendorInvoicePayment) => vendorInvoicePayment.id === current.id)) {
218
- // accumulator.push(current);
219
- // }
220
- // return accumulator;
221
- // }, []);
222
- // }
223
- // get vendorTdsLiabilitys(): VendorTdsLiabilityEntityModel[] | undefined {
224
- // // many_to_many -> many_to_many verified
225
- // // {'client_debit_note->bank': 'many_to_one', 'bank->vendor_tds_challan': 'one_to_many', 'vendor_tds_challan->tds_rate': 'many_to_one', 'tds_rate->vendor_tds_liability': 'one_to_many'}
226
- // // ['vendor_tds_challan', 'tds_rate'] -> many_to_one
227
- // // ['tds_rate', 'vendor_tds_liability'] -> one_to_many
228
- // return this.tdsRate?.vendorTdsLiabilitys;
229
- // }
230
- getNextStatus(currentUser, action, clientDebitNoteFlowConfigContextData) {
231
- if (!this.status) {
232
- throw new exceptions_1.AppBadRequestException({
233
- key: error_key_enum_1.ErrorKeyEnum.STATUS,
234
- message: [`Status not found: ${this.status}`],
235
- });
236
- }
237
- const flowForStatus = client_debit_note_flow_config_1.clientDebitNoteFlowConfig[this.status];
238
- if (!flowForStatus) {
239
- throw new exceptions_1.AppBadRequestException({
240
- key: error_key_enum_1.ErrorKeyEnum.STATUS,
241
- message: [`No flow configuration found for status: ${this.status}`],
242
- });
243
- }
244
- if (!action) {
245
- throw new exceptions_1.AppBadRequestException({
246
- key: error_key_enum_1.ErrorKeyEnum.ACTION_DATA,
247
- message: ["actionData is required"],
248
- });
249
- }
250
- const matchingPermissionConfig = flowForStatus.actions[action];
251
- if (!matchingPermissionConfig) {
252
- throw new exceptions_1.AppBadRequestException({
253
- key: error_key_enum_1.ErrorKeyEnum.ACTION,
254
- message: [`Action '${action}' is not valid for the current status.`],
255
- });
256
- }
257
- if (!currentUser.permissions || currentUser.permissions.length === 0) {
258
- throw new exceptions_1.AppBadRequestException({
259
- key: error_key_enum_1.ErrorKeyEnum.PERMISSIONS,
260
- message: ["Permission not available for currentUser"],
261
- });
262
- }
263
- const hasPermission = matchingPermissionConfig.permissions.some((permission) => currentUser.permissions.includes(permission));
264
- if (!hasPermission) {
265
- throw new exceptions_1.AppBadRequestException({
266
- key: error_key_enum_1.ErrorKeyEnum.PERMISSION,
267
- message: [`Current user does not have permission to ${action} clientDebitNote`],
268
- });
269
- }
270
- const nextStatus = matchingPermissionConfig.next(clientDebitNoteFlowConfigContextData);
271
- return nextStatus;
272
- }
273
- getAvailableActions(currentUser, config) {
274
- var _a;
275
- const params = {
276
- flowConfig: client_debit_note_flow_config_1.clientDebitNoteFlowConfig,
277
- currentStatus: this.status,
278
- userPermissions: (_a = currentUser.permissions) !== null && _a !== void 0 ? _a : [],
279
- visibilityData: this.getUpdateActionVisibility.bind(this, currentUser),
280
- combinedActions: config === null || config === void 0 ? void 0 : config.combinedActions,
281
- customLabels: config === null || config === void 0 ? void 0 : config.customLabels,
282
- };
283
- return utils_1.EntityActionFlowResolverV2.getAvailableActionsData(params);
284
- }
285
- getUpdateActionVisibility(currentUser) {
286
- return {};
287
- }
288
- }
289
- exports.ClientDebitNoteEntityModel = ClientDebitNoteEntityModel;
290
- // clientDebitNoteParticularss?: ClientDebitNoteParticularsEntityModel[];
291
- ClientDebitNoteEntityModel.relationConfigs = [
292
- {
293
- name: entity_utils_interface_1.EntityEnum.BANK,
294
- relation: relation_type_enum_1.RelationType.ONE,
295
- key: "bank",
296
- mapKeyConfig: {
297
- relationKey: "id",
298
- key: "bankId",
299
- },
300
- },
301
- {
302
- name: entity_utils_interface_1.EntityEnum.CLIENT,
303
- relation: relation_type_enum_1.RelationType.ONE,
304
- key: "client",
305
- mapKeyConfig: {
306
- relationKey: "id",
307
- key: "clientId",
308
- },
309
- },
310
- {
311
- name: entity_utils_interface_1.EntityEnum.CLIENT_AFFILIATE,
312
- relation: relation_type_enum_1.RelationType.ONE,
313
- key: "clientAffiliate",
314
- mapKeyConfig: {
315
- relationKey: "id",
316
- key: "clientAffiliateId",
317
- },
318
- },
319
- {
320
- name: entity_utils_interface_1.EntityEnum.CLIENT_DEBIT_NOTE_PARTICULARS,
321
- relation: relation_type_enum_1.RelationType.MANY,
322
- key: "clientDebitNoteParticularss",
323
- mapKeyConfig: {
324
- relationKey: "clientDebitNoteId",
325
- key: "id",
326
- },
327
- },
328
- {
329
- name: entity_utils_interface_1.EntityEnum.CLIENT_DEBIT_NOTE_PARTICULARS,
330
- relation: relation_type_enum_1.RelationType.MANY,
331
- key: "clientDebitNoteParticularss",
332
- mapKeyConfig: {
333
- relationKey: "clientDebitNoteId",
334
- key: "id",
335
- },
336
- },
337
- ];