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.
- package/README.md +1 -1
- package/dist/src/api/index.d.ts +0 -4
- package/dist/src/api/index.js +0 -4
- package/dist/src/entities/index.d.ts +0 -8
- package/dist/src/entities/index.js +0 -8
- package/dist/src/entities/interface/entity.utils.interface.d.ts +3 -9
- package/dist/src/entities/interface/entity.utils.interface.js +0 -2
- package/dist/src/entities/model/entity.model.interface.js +0 -4
- package/package.json +1 -1
- package/dist/src/api/interface/client_debit_note.create.dto.interface.d.ts +0 -12
- package/dist/src/api/interface/client_debit_note.create.dto.interface.js +0 -12
- package/dist/src/api/interface/client_debit_note.update.dto.interface.d.ts +0 -25
- package/dist/src/api/interface/client_debit_note.update.dto.interface.js +0 -17
- package/dist/src/api/interface/client_debit_note_particulars.create.dto.interface.d.ts +0 -5
- package/dist/src/api/interface/client_debit_note_particulars.create.dto.interface.js +0 -2
- package/dist/src/api/interface/client_debit_note_particulars.update.dto.interface.d.ts +0 -22
- package/dist/src/api/interface/client_debit_note_particulars.update.dto.interface.js +0 -17
- package/dist/src/entities/enums/client_debit_note_particulars_status_enum.d.ts +0 -11
- package/dist/src/entities/enums/client_debit_note_particulars_status_enum.js +0 -15
- package/dist/src/entities/enums/client_debit_note_status_enum.d.ts +0 -11
- package/dist/src/entities/enums/client_debit_note_status_enum.js +0 -15
- package/dist/src/entities/flow-configs/client_debit_note_flow.config.d.ts +0 -6
- package/dist/src/entities/flow-configs/client_debit_note_flow.config.js +0 -165
- package/dist/src/entities/flow-configs/client_debit_note_particulars_flow.config.d.ts +0 -6
- package/dist/src/entities/flow-configs/client_debit_note_particulars_flow.config.js +0 -165
- package/dist/src/entities/interface/client_debit_note.entity.interface.d.ts +0 -18
- package/dist/src/entities/interface/client_debit_note.entity.interface.js +0 -2
- package/dist/src/entities/interface/client_debit_note_particulars.entity.interface.d.ts +0 -9
- package/dist/src/entities/interface/client_debit_note_particulars.entity.interface.js +0 -2
- package/dist/src/entities/model/client_debit_note.entity.model.d.ts +0 -57
- package/dist/src/entities/model/client_debit_note.entity.model.js +0 -337
- package/dist/src/entities/model/client_debit_note_particulars.entity.model.d.ts +0 -43
- 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,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,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
|
-
];
|