@servicetitan/moneyout-api-client 0.0.0-BuildCorrectly.6915a25d

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 (37) hide show
  1. package/dist/ap-bill-approval-settings-v2.api.d.ts +96 -0
  2. package/dist/ap-bill-approval-settings-v2.api.d.ts.map +1 -0
  3. package/dist/ap-bill-approval-settings-v2.api.js +157 -0
  4. package/dist/ap-bill-approval-settings-v2.api.js.map +1 -0
  5. package/dist/ap-bill-approval-settings.api.d.ts +116 -0
  6. package/dist/ap-bill-approval-settings.api.d.ts.map +1 -0
  7. package/dist/ap-bill-approval-settings.api.js +164 -0
  8. package/dist/ap-bill-approval-settings.api.js.map +1 -0
  9. package/dist/ap-bill-approval-v2.api.d.ts +261 -0
  10. package/dist/ap-bill-approval-v2.api.d.ts.map +1 -0
  11. package/dist/ap-bill-approval-v2.api.js +314 -0
  12. package/dist/ap-bill-approval-v2.api.js.map +1 -0
  13. package/dist/ap-bill-approval.api.d.ts +163 -0
  14. package/dist/ap-bill-approval.api.d.ts.map +1 -0
  15. package/dist/ap-bill-approval.api.js +218 -0
  16. package/dist/ap-bill-approval.api.js.map +1 -0
  17. package/dist/bill-payments.api.d.ts +68 -0
  18. package/dist/bill-payments.api.d.ts.map +1 -0
  19. package/dist/bill-payments.api.js +124 -0
  20. package/dist/bill-payments.api.js.map +1 -0
  21. package/dist/expense-management.api.d.ts +384 -0
  22. package/dist/expense-management.api.d.ts.map +1 -0
  23. package/dist/expense-management.api.js +323 -0
  24. package/dist/expense-management.api.js.map +1 -0
  25. package/dist/index.d.ts +5 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +10 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/utils.d.ts +12 -0
  30. package/dist/utils.d.ts.map +1 -0
  31. package/dist/utils.js +37 -0
  32. package/dist/utils.js.map +1 -0
  33. package/dist/vendor-sync.api.d.ts +229 -0
  34. package/dist/vendor-sync.api.d.ts.map +1 -0
  35. package/dist/vendor-sync.api.js +301 -0
  36. package/dist/vendor-sync.api.js.map +1 -0
  37. package/package.json +29 -0
@@ -0,0 +1,261 @@
1
+ import { AxiosPromise, CancelToken } from 'axios';
2
+ export interface IApBillApprovalV2 {
3
+ /**
4
+ * Get AP bill approvals by bill IDs
5
+ * @tenantId The tenant ID
6
+ * @billIds Comma-separated list of bill identifiers
7
+ * @return List of AP bill approvals
8
+ */
9
+ getApprovalsByBillIds(tenantId: number, billIds: string, cancelToken?: CancelToken): AxiosPromise<ApBillApproval[]>;
10
+ /**
11
+ * Get approval details for a bill by bill ID
12
+ */
13
+ getApproval(tenantId: number, billId: number, cancelToken?: CancelToken): AxiosPromise<ApBillApproval>;
14
+ /**
15
+ * Submit a bill for approval
16
+ */
17
+ submitForApproval(tenantId: number, billId: number, request: ApprovalActionRequest, cancelToken?: CancelToken): AxiosPromise<ApBillApproval>;
18
+ /**
19
+ * Approve the current step
20
+ */
21
+ approveStep(tenantId: number, billId: number, request: ApprovalActionRequest, cancelToken?: CancelToken): AxiosPromise<ApBillApproval>;
22
+ /**
23
+ * Deny the current step (denies entire approval)
24
+ */
25
+ denyStep(tenantId: number, billId: number, request: ApprovalActionRequest, cancelToken?: CancelToken): AxiosPromise<ApBillApproval>;
26
+ /**
27
+ * Get all approvals that a user can act on
28
+ */
29
+ getUserApproval(tenantId: number, userId: number, cancelToken?: CancelToken): AxiosPromise<ApBillApproval[]>;
30
+ /**
31
+ * Get all available approvers for a tenant based on configured approval policies
32
+ * @tenantId The tenant ID
33
+ * @return List of unique approver user IDs configured across all approval policies
34
+ */
35
+ getAvailableApprovers(tenantId: number, cancelToken?: CancelToken): AxiosPromise<AvailableApproversResponse>;
36
+ /**
37
+ * Get all available approvers for a tenant with enriched details (name and email)
38
+ * @tenantId The tenant ID
39
+ * @return List of approvers with user ID, name, and email
40
+ */
41
+ getAvailableApproversDetail(tenantId: number, cancelToken?: CancelToken): AxiosPromise<AvailableApproversDetailResponse>;
42
+ /**
43
+ * Get the approval policy that applies to a specific bill
44
+ * @tenantId The tenant ID
45
+ * @billId The bill ID
46
+ * @return The approval policy that applies to the bill
47
+ */
48
+ getApprovalPolicyForBill(tenantId: number, billId: number, cancelToken?: CancelToken): AxiosPromise<ApBillApprovalPolicyResponse>;
49
+ /**
50
+ * Get approval policies for multiple bills
51
+ * @tenantId The tenant ID
52
+ * @billIds Comma-separated list of bill identifiers
53
+ * @return List of approval policies for the specified bills
54
+ */
55
+ getApprovalPoliciesForBills(tenantId: number, billIds: string, cancelToken?: CancelToken): AxiosPromise<ApBillApprovalPolicyResponse[]>;
56
+ }
57
+ export declare const BASE_URL_TOKEN_ApBillApprovalV2: import("@servicetitan/react-ioc").SymbolToken<string>;
58
+ export declare class ApBillApprovalV2 implements IApBillApprovalV2 {
59
+ private readonly baseUrl;
60
+ protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
61
+ constructor(baseUrl?: string);
62
+ /**
63
+ * Get AP bill approvals by bill IDs
64
+ * @tenantId The tenant ID
65
+ * @billIds Comma-separated list of bill identifiers
66
+ * @return List of AP bill approvals
67
+ */
68
+ getApprovalsByBillIds(tenantId: number, billIds: string, cancelToken?: CancelToken): AxiosPromise<ApBillApproval[]>;
69
+ /**
70
+ * Get approval details for a bill by bill ID
71
+ */
72
+ getApproval(tenantId: number, billId: number, cancelToken?: CancelToken): AxiosPromise<ApBillApproval>;
73
+ /**
74
+ * Submit a bill for approval
75
+ */
76
+ submitForApproval(tenantId: number, billId: number, request: ApprovalActionRequest, cancelToken?: CancelToken): AxiosPromise<ApBillApproval>;
77
+ /**
78
+ * Approve the current step
79
+ */
80
+ approveStep(tenantId: number, billId: number, request: ApprovalActionRequest, cancelToken?: CancelToken): AxiosPromise<ApBillApproval>;
81
+ /**
82
+ * Deny the current step (denies entire approval)
83
+ */
84
+ denyStep(tenantId: number, billId: number, request: ApprovalActionRequest, cancelToken?: CancelToken): AxiosPromise<ApBillApproval>;
85
+ /**
86
+ * Get all approvals that a user can act on
87
+ */
88
+ getUserApproval(tenantId: number, userId: number, cancelToken?: CancelToken): AxiosPromise<ApBillApproval[]>;
89
+ /**
90
+ * Get all available approvers for a tenant based on configured approval policies
91
+ * @tenantId The tenant ID
92
+ * @return List of unique approver user IDs configured across all approval policies
93
+ */
94
+ getAvailableApprovers(tenantId: number, cancelToken?: CancelToken): AxiosPromise<AvailableApproversResponse>;
95
+ /**
96
+ * Get all available approvers for a tenant with enriched details (name and email)
97
+ * @tenantId The tenant ID
98
+ * @return List of approvers with user ID, name, and email
99
+ */
100
+ getAvailableApproversDetail(tenantId: number, cancelToken?: CancelToken): AxiosPromise<AvailableApproversDetailResponse>;
101
+ /**
102
+ * Get the approval policy that applies to a specific bill
103
+ * @tenantId The tenant ID
104
+ * @billId The bill ID
105
+ * @return The approval policy that applies to the bill
106
+ */
107
+ getApprovalPolicyForBill(tenantId: number, billId: number, cancelToken?: CancelToken): AxiosPromise<ApBillApprovalPolicyResponse>;
108
+ /**
109
+ * Get approval policies for multiple bills
110
+ * @tenantId The tenant ID
111
+ * @billIds Comma-separated list of bill identifiers
112
+ * @return List of approval policies for the specified bills
113
+ */
114
+ getApprovalPoliciesForBills(tenantId: number, billIds: string, cancelToken?: CancelToken): AxiosPromise<ApBillApprovalPolicyResponse[]>;
115
+ }
116
+ export interface ApBillApproval {
117
+ tenantId: number;
118
+ billId: number;
119
+ settingId: string;
120
+ approvalStatus: ApprovalStatus;
121
+ requestingUserId: number;
122
+ approvingUserId?: number | undefined;
123
+ comments: ApBillApprovalComment[];
124
+ createdOn: Date;
125
+ modifiedOn: Date;
126
+ denialReason?: string | undefined;
127
+ denialComment?: string | undefined;
128
+ id: string;
129
+ completedOn?: Date | undefined;
130
+ status: ApprovalStatus;
131
+ currentStepNumber: number;
132
+ totalSteps: number;
133
+ isComplete: boolean;
134
+ currentStep?: ApprovalStepResponse | undefined;
135
+ steps: ApprovalStepResponse[];
136
+ denialInfo?: ApprovalDenialInfoResponse | undefined;
137
+ lastApprovingUserId?: number | undefined;
138
+ }
139
+ export declare enum ApprovalStatus {
140
+ NotSet = 0,
141
+ Pending = 1,
142
+ Sent = 2,
143
+ Approved = 3,
144
+ AutoApproved = 4,
145
+ Denied = 99,
146
+ Skipped = 100
147
+ }
148
+ export interface ApBillApprovalComment {
149
+ commentId: number;
150
+ comment: string;
151
+ userId: number;
152
+ approvalStatus?: ApprovalStatus | undefined;
153
+ createdOn: Date;
154
+ }
155
+ export interface ApprovalStepResponse {
156
+ stepNumber: number;
157
+ stepName: string;
158
+ status: ApprovalStatus;
159
+ stepType: ApprovalStepType;
160
+ isActionable: boolean;
161
+ approverUserIds: number[];
162
+ approverUserRoleIds: number[];
163
+ requireAllApprovers: boolean;
164
+ decisions: ApprovalStepDecisionResponse[];
165
+ activatedOn?: Date | undefined;
166
+ completedOn?: Date | undefined;
167
+ }
168
+ export declare enum ApprovalStepType {
169
+ Sequential = 1,
170
+ Parallel = 2,
171
+ Skippable = 3
172
+ }
173
+ export interface ApprovalStepDecisionResponse {
174
+ userId: number;
175
+ decision: ApprovalStatus;
176
+ decisionOn: Date;
177
+ comment?: string | undefined;
178
+ denialReason?: string | undefined;
179
+ }
180
+ export interface ApprovalDenialInfoResponse {
181
+ reason?: string | undefined;
182
+ comment?: string | undefined;
183
+ userId?: number | undefined;
184
+ }
185
+ export interface ApprovalActionRequest {
186
+ userId: number;
187
+ comment?: string | undefined;
188
+ denialReason?: string | undefined;
189
+ userRoleId?: number | undefined;
190
+ }
191
+ export interface AvailableApproversResponse {
192
+ approverUserIds: number[];
193
+ approverUserRoleIds: number[];
194
+ }
195
+ export interface AvailableApproversDetailResponse {
196
+ approvers: AvailableApproverDetail[];
197
+ approverRoles: AvailableApproverRoleDetail[];
198
+ }
199
+ export interface AvailableApproverDetail {
200
+ userId: number;
201
+ name?: string | undefined;
202
+ email?: string | undefined;
203
+ }
204
+ export interface AvailableApproverRoleDetail {
205
+ roleId: number;
206
+ name?: string | undefined;
207
+ active?: boolean | undefined;
208
+ }
209
+ /** Response containing the approval policy that applies to a bill */
210
+ export interface ApBillApprovalPolicyResponse {
211
+ /** The bill ID */
212
+ billId: number;
213
+ /** The matching approval policy, or null if no policy matches */
214
+ policy?: ApBillApprovalPolicy | undefined;
215
+ }
216
+ export interface ApBillApprovalPolicy {
217
+ order: number;
218
+ approvalAction: ApprovalAction;
219
+ approverUserIds?: number[] | undefined;
220
+ approverUserRoleIds?: number[] | undefined;
221
+ steps: ApBillApprovalStep[];
222
+ }
223
+ export declare enum ApprovalAction {
224
+ NotSet = 0,
225
+ AutoApprove = 1,
226
+ RequireUserApproval = 2,
227
+ ApproveByPOCreator = 3,
228
+ Skip = 4
229
+ }
230
+ export interface ApBillApprovalStep {
231
+ stepNumber: number;
232
+ name: string;
233
+ stepType: ApprovalStepType;
234
+ approverUserIds: number[];
235
+ approverUserRoleIds: number[];
236
+ requireAllApprovers: boolean;
237
+ conditions: ApBillApprovalCondition[];
238
+ }
239
+ export interface ApBillApprovalCondition {
240
+ type: ConditionType;
241
+ minBillTotalAmount?: number | undefined;
242
+ maxBillTotalAmount?: number | undefined;
243
+ businessUnitIds?: number[] | undefined;
244
+ vendorIds?: number[] | undefined;
245
+ billMissingPurchaseOrder?: boolean | undefined;
246
+ hasDiscrepancies?: boolean | undefined;
247
+ hasProject?: boolean | undefined;
248
+ isElseOnly: boolean;
249
+ approverUserIds: number[];
250
+ approverUserRoleIds: number[];
251
+ approvalAction: ApprovalAction;
252
+ }
253
+ export declare enum ConditionType {
254
+ AmountRange = 1,
255
+ BusinessUnit = 2,
256
+ Vendor = 3,
257
+ MissingPurchaseOrder = 4,
258
+ Discrepancies = 5,
259
+ Project = 6
260
+ }
261
+ //# sourceMappingURL=ap-bill-approval-v2.api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ap-bill-approval-v2.api.d.ts","sourceRoot":"","sources":["../src/ap-bill-approval-v2.api.ts"],"names":[],"mappings":"AASA,OAAc,EAAsB,YAAY,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAM7E,MAAM,WAAW,iBAAiB;IAC9B;;;;;OAKG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;IACpH;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;IACvG;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;IAC7I;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;IACvI;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;IACpI;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;IAC7G;;;;OAIG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,0BAA0B,CAAC,CAAC;IAC7G;;;;OAIG;IACH,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,gCAAgC,CAAC,CAAC;IACzH;;;;;OAKG;IACH,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,4BAA4B,CAAC,CAAC;IAClI;;;;;OAKG;IACH,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,4BAA4B,EAAE,CAAC,CAAC;CAC3I;AAED,eAAO,MAAM,+BAA+B,uDAA+C,CAAC;AAE5F,qBACa,gBAAiB,YAAW,iBAAiB;IAGW,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFzF,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC,GAAG,SAAS,CAAa;gBAEL,OAAO,SAAK;IAG9F;;;;;OAKG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC;IAyBnH;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,cAAc,CAAC;IAwBtG;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,cAAc,CAAC;IA2B5I;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,cAAc,CAAC;IA2BtI;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,cAAc,CAAC;IA2BnI;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC;IAwB5G;;;;OAIG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,0BAA0B,CAAC;IAqB5G;;;;OAIG;IACH,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,gCAAgC,CAAC;IAqBxH;;;;;OAKG;IACH,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,4BAA4B,CAAC;IAwBjI;;;;;OAKG;IACH,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,4BAA4B,EAAE,CAAC;CAwB1I;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,EAAE,qBAAqB,EAAE,CAAC;IAClC,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,IAAI,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAC/B,MAAM,EAAE,cAAc,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAC/C,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,UAAU,CAAC,EAAE,0BAA0B,GAAG,SAAS,CAAC;IACpD,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED,oBAAY,cAAc;IACtB,MAAM,IAAI;IACV,OAAO,IAAI;IACX,IAAI,IAAI;IACR,QAAQ,IAAI;IACZ,YAAY,IAAI;IAChB,MAAM,KAAK;IACX,OAAO,MAAM;CAChB;AAED,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IAC5C,SAAS,EAAE,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,4BAA4B,EAAE,CAAC;IAC1C,WAAW,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CAClC;AAED,oBAAY,gBAAgB;IACxB,UAAU,IAAI;IACd,QAAQ,IAAI;IACZ,SAAS,IAAI;CAChB;AAED,MAAM,WAAW,4BAA4B;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,0BAA0B;IACvC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,WAAW,0BAA0B;IACvC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,gCAAgC;IAC7C,SAAS,EAAE,uBAAuB,EAAE,CAAC;IACrC,aAAa,EAAE,2BAA2B,EAAE,CAAC;CAChD;AAED,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,2BAA2B;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC;AAED,qEAAqE;AACrE,MAAM,WAAW,4BAA4B;IACzC,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,MAAM,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;CAC7C;AAED,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACvC,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3C,KAAK,EAAE,kBAAkB,EAAE,CAAC;CAC/B;AAED,oBAAY,cAAc;IACtB,MAAM,IAAI;IACV,WAAW,IAAI;IACf,mBAAmB,IAAI;IACvB,kBAAkB,IAAI;IACtB,IAAI,IAAI;CACX;AAED,MAAM,WAAW,kBAAkB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,UAAU,EAAE,uBAAuB,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,uBAAuB;IACpC,IAAI,EAAE,aAAa,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACjC,wBAAwB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/C,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,cAAc,EAAE,cAAc,CAAC;CAClC;AAED,oBAAY,aAAa;IACrB,WAAW,IAAI;IACf,YAAY,IAAI;IAChB,MAAM,IAAI;IACV,oBAAoB,IAAI;IACxB,aAAa,IAAI;IACjB,OAAO,IAAI;CACd"}
@@ -0,0 +1,314 @@
1
+ function _define_property(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value: value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+ return obj;
13
+ }
14
+ function _ts_decorate(decorators, target, key, desc) {
15
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
16
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
17
+ else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
19
+ }
20
+ function _ts_metadata(k, v) {
21
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
22
+ }
23
+ function _ts_param(paramIndex, decorator) {
24
+ return function(target, key) {
25
+ decorator(target, key, paramIndex);
26
+ };
27
+ }
28
+ /* tslint:disable */ /* eslint-disable */ //----------------------
29
+ // <auto-generated>
30
+ // Generated with ApiClientGenerator, using the NSwag toolchain
31
+ // </auto-generated>
32
+ //----------------------
33
+ // ReSharper disable InconsistentNaming
34
+ import axios from 'axios';
35
+ import { injectable, inject, optional, symbolToken } from '@servicetitan/react-ioc';
36
+ import { makeCodedException } from './utils';
37
+ export const BASE_URL_TOKEN_ApBillApprovalV2 = symbolToken('BASE_URL_TOKEN', false);
38
+ export class ApBillApprovalV2 {
39
+ /**
40
+ * Get AP bill approvals by bill IDs
41
+ * @tenantId The tenant ID
42
+ * @billIds Comma-separated list of bill identifiers
43
+ * @return List of AP bill approvals
44
+ */ getApprovalsByBillIds(tenantId, billIds, cancelToken) {
45
+ let url_ = "/v2/tenant/{tenantId}/ap-bill-approvals?";
46
+ if (tenantId === undefined || tenantId === null) throw new Error("The parameter 'tenantId' must be defined.");
47
+ url_ = url_.replace("{tenantId}", encodeURIComponent("" + tenantId));
48
+ if (billIds === undefined || billIds === null) throw new Error("The parameter 'billIds' must be defined and cannot be null.");
49
+ else url_ += "billIds=" + encodeURIComponent("" + billIds) + "&";
50
+ url_ = url_.replace(/[?&]$/, "");
51
+ let options_ = {
52
+ baseURL: this.baseUrl,
53
+ cancelToken,
54
+ url: url_,
55
+ method: "GET",
56
+ headers: {
57
+ "Content-Type": "application/json",
58
+ "Accept": "application/json"
59
+ }
60
+ };
61
+ return makeCodedException(axios.request(options_));
62
+ }
63
+ /**
64
+ * Get approval details for a bill by bill ID
65
+ */ getApproval(tenantId, billId, cancelToken) {
66
+ let url_ = "/v2/tenant/{tenantId}/ap-bill-approvals/bill/{billId}";
67
+ if (tenantId === undefined || tenantId === null) throw new Error("The parameter 'tenantId' must be defined.");
68
+ url_ = url_.replace("{tenantId}", encodeURIComponent("" + tenantId));
69
+ if (billId === undefined || billId === null) throw new Error("The parameter 'billId' must be defined.");
70
+ url_ = url_.replace("{billId}", encodeURIComponent("" + billId));
71
+ url_ = url_.replace(/[?&]$/, "");
72
+ let options_ = {
73
+ baseURL: this.baseUrl,
74
+ cancelToken,
75
+ url: url_,
76
+ method: "GET",
77
+ headers: {
78
+ "Content-Type": "application/json",
79
+ "Accept": "application/json"
80
+ }
81
+ };
82
+ return makeCodedException(axios.request(options_));
83
+ }
84
+ /**
85
+ * Submit a bill for approval
86
+ */ submitForApproval(tenantId, billId, request, cancelToken) {
87
+ let url_ = "/v2/tenant/{tenantId}/ap-bill-approvals/bill/{billId}/submit";
88
+ if (tenantId === undefined || tenantId === null) throw new Error("The parameter 'tenantId' must be defined.");
89
+ url_ = url_.replace("{tenantId}", encodeURIComponent("" + tenantId));
90
+ if (billId === undefined || billId === null) throw new Error("The parameter 'billId' must be defined.");
91
+ url_ = url_.replace("{billId}", encodeURIComponent("" + billId));
92
+ url_ = url_.replace(/[?&]$/, "");
93
+ const content_ = request;
94
+ let options_ = {
95
+ baseURL: this.baseUrl,
96
+ cancelToken,
97
+ data: content_,
98
+ url: url_,
99
+ method: "POST",
100
+ headers: {
101
+ "Content-Type": "application/json",
102
+ "Accept": "application/json"
103
+ }
104
+ };
105
+ return makeCodedException(axios.request(options_));
106
+ }
107
+ /**
108
+ * Approve the current step
109
+ */ approveStep(tenantId, billId, request, cancelToken) {
110
+ let url_ = "/v2/tenant/{tenantId}/ap-bill-approvals/bill/{billId}/approve";
111
+ if (tenantId === undefined || tenantId === null) throw new Error("The parameter 'tenantId' must be defined.");
112
+ url_ = url_.replace("{tenantId}", encodeURIComponent("" + tenantId));
113
+ if (billId === undefined || billId === null) throw new Error("The parameter 'billId' must be defined.");
114
+ url_ = url_.replace("{billId}", encodeURIComponent("" + billId));
115
+ url_ = url_.replace(/[?&]$/, "");
116
+ const content_ = request;
117
+ let options_ = {
118
+ baseURL: this.baseUrl,
119
+ cancelToken,
120
+ data: content_,
121
+ url: url_,
122
+ method: "POST",
123
+ headers: {
124
+ "Content-Type": "application/json",
125
+ "Accept": "application/json"
126
+ }
127
+ };
128
+ return makeCodedException(axios.request(options_));
129
+ }
130
+ /**
131
+ * Deny the current step (denies entire approval)
132
+ */ denyStep(tenantId, billId, request, cancelToken) {
133
+ let url_ = "/v2/tenant/{tenantId}/ap-bill-approvals/bill/{billId}/deny";
134
+ if (tenantId === undefined || tenantId === null) throw new Error("The parameter 'tenantId' must be defined.");
135
+ url_ = url_.replace("{tenantId}", encodeURIComponent("" + tenantId));
136
+ if (billId === undefined || billId === null) throw new Error("The parameter 'billId' must be defined.");
137
+ url_ = url_.replace("{billId}", encodeURIComponent("" + billId));
138
+ url_ = url_.replace(/[?&]$/, "");
139
+ const content_ = request;
140
+ let options_ = {
141
+ baseURL: this.baseUrl,
142
+ cancelToken,
143
+ data: content_,
144
+ url: url_,
145
+ method: "POST",
146
+ headers: {
147
+ "Content-Type": "application/json",
148
+ "Accept": "application/json"
149
+ }
150
+ };
151
+ return makeCodedException(axios.request(options_));
152
+ }
153
+ /**
154
+ * Get all approvals that a user can act on
155
+ */ getUserApproval(tenantId, userId, cancelToken) {
156
+ let url_ = "/v2/tenant/{tenantId}/ap-bill-approvals/user/{userId}";
157
+ if (tenantId === undefined || tenantId === null) throw new Error("The parameter 'tenantId' must be defined.");
158
+ url_ = url_.replace("{tenantId}", encodeURIComponent("" + tenantId));
159
+ if (userId === undefined || userId === null) throw new Error("The parameter 'userId' must be defined.");
160
+ url_ = url_.replace("{userId}", encodeURIComponent("" + userId));
161
+ url_ = url_.replace(/[?&]$/, "");
162
+ let options_ = {
163
+ baseURL: this.baseUrl,
164
+ cancelToken,
165
+ url: url_,
166
+ method: "GET",
167
+ headers: {
168
+ "Content-Type": "application/json",
169
+ "Accept": "application/json"
170
+ }
171
+ };
172
+ return makeCodedException(axios.request(options_));
173
+ }
174
+ /**
175
+ * Get all available approvers for a tenant based on configured approval policies
176
+ * @tenantId The tenant ID
177
+ * @return List of unique approver user IDs configured across all approval policies
178
+ */ getAvailableApprovers(tenantId, cancelToken) {
179
+ let url_ = "/v2/tenant/{tenantId}/ap-bill-approvals/available-approvers";
180
+ if (tenantId === undefined || tenantId === null) throw new Error("The parameter 'tenantId' must be defined.");
181
+ url_ = url_.replace("{tenantId}", encodeURIComponent("" + tenantId));
182
+ url_ = url_.replace(/[?&]$/, "");
183
+ let options_ = {
184
+ baseURL: this.baseUrl,
185
+ cancelToken,
186
+ url: url_,
187
+ method: "GET",
188
+ headers: {
189
+ "Content-Type": "application/json",
190
+ "Accept": "application/json"
191
+ }
192
+ };
193
+ return makeCodedException(axios.request(options_));
194
+ }
195
+ /**
196
+ * Get all available approvers for a tenant with enriched details (name and email)
197
+ * @tenantId The tenant ID
198
+ * @return List of approvers with user ID, name, and email
199
+ */ getAvailableApproversDetail(tenantId, cancelToken) {
200
+ let url_ = "/v2/tenant/{tenantId}/ap-bill-approvals/available-approvers-detail";
201
+ if (tenantId === undefined || tenantId === null) throw new Error("The parameter 'tenantId' must be defined.");
202
+ url_ = url_.replace("{tenantId}", encodeURIComponent("" + tenantId));
203
+ url_ = url_.replace(/[?&]$/, "");
204
+ let options_ = {
205
+ baseURL: this.baseUrl,
206
+ cancelToken,
207
+ url: url_,
208
+ method: "GET",
209
+ headers: {
210
+ "Content-Type": "application/json",
211
+ "Accept": "application/json"
212
+ }
213
+ };
214
+ return makeCodedException(axios.request(options_));
215
+ }
216
+ /**
217
+ * Get the approval policy that applies to a specific bill
218
+ * @tenantId The tenant ID
219
+ * @billId The bill ID
220
+ * @return The approval policy that applies to the bill
221
+ */ getApprovalPolicyForBill(tenantId, billId, cancelToken) {
222
+ let url_ = "/v2/tenant/{tenantId}/ap-bill-approvals/bill/{billId}/policy";
223
+ if (tenantId === undefined || tenantId === null) throw new Error("The parameter 'tenantId' must be defined.");
224
+ url_ = url_.replace("{tenantId}", encodeURIComponent("" + tenantId));
225
+ if (billId === undefined || billId === null) throw new Error("The parameter 'billId' must be defined.");
226
+ url_ = url_.replace("{billId}", encodeURIComponent("" + billId));
227
+ url_ = url_.replace(/[?&]$/, "");
228
+ let options_ = {
229
+ baseURL: this.baseUrl,
230
+ cancelToken,
231
+ url: url_,
232
+ method: "GET",
233
+ headers: {
234
+ "Content-Type": "application/json",
235
+ "Accept": "application/json"
236
+ }
237
+ };
238
+ return makeCodedException(axios.request(options_));
239
+ }
240
+ /**
241
+ * Get approval policies for multiple bills
242
+ * @tenantId The tenant ID
243
+ * @billIds Comma-separated list of bill identifiers
244
+ * @return List of approval policies for the specified bills
245
+ */ getApprovalPoliciesForBills(tenantId, billIds, cancelToken) {
246
+ let url_ = "/v2/tenant/{tenantId}/ap-bill-approvals/policies?";
247
+ if (tenantId === undefined || tenantId === null) throw new Error("The parameter 'tenantId' must be defined.");
248
+ url_ = url_.replace("{tenantId}", encodeURIComponent("" + tenantId));
249
+ if (billIds === undefined || billIds === null) throw new Error("The parameter 'billIds' must be defined and cannot be null.");
250
+ else url_ += "billIds=" + encodeURIComponent("" + billIds) + "&";
251
+ url_ = url_.replace(/[?&]$/, "");
252
+ let options_ = {
253
+ baseURL: this.baseUrl,
254
+ cancelToken,
255
+ url: url_,
256
+ method: "GET",
257
+ headers: {
258
+ "Content-Type": "application/json",
259
+ "Accept": "application/json"
260
+ }
261
+ };
262
+ return makeCodedException(axios.request(options_));
263
+ }
264
+ constructor(baseUrl = ""){
265
+ _define_property(this, "baseUrl", void 0);
266
+ _define_property(this, "jsonParseReviver", void 0);
267
+ this.baseUrl = baseUrl;
268
+ this.jsonParseReviver = undefined;
269
+ }
270
+ }
271
+ ApBillApprovalV2 = _ts_decorate([
272
+ injectable(),
273
+ _ts_param(0, inject(BASE_URL_TOKEN_ApBillApprovalV2)),
274
+ _ts_param(0, optional()),
275
+ _ts_metadata("design:type", Function),
276
+ _ts_metadata("design:paramtypes", [
277
+ void 0
278
+ ])
279
+ ], ApBillApprovalV2);
280
+ export var ApprovalStatus = /*#__PURE__*/ function(ApprovalStatus) {
281
+ ApprovalStatus[ApprovalStatus["NotSet"] = 0] = "NotSet";
282
+ ApprovalStatus[ApprovalStatus["Pending"] = 1] = "Pending";
283
+ ApprovalStatus[ApprovalStatus["Sent"] = 2] = "Sent";
284
+ ApprovalStatus[ApprovalStatus["Approved"] = 3] = "Approved";
285
+ ApprovalStatus[ApprovalStatus["AutoApproved"] = 4] = "AutoApproved";
286
+ ApprovalStatus[ApprovalStatus["Denied"] = 99] = "Denied";
287
+ ApprovalStatus[ApprovalStatus["Skipped"] = 100] = "Skipped";
288
+ return ApprovalStatus;
289
+ }({});
290
+ export var ApprovalStepType = /*#__PURE__*/ function(ApprovalStepType) {
291
+ ApprovalStepType[ApprovalStepType["Sequential"] = 1] = "Sequential";
292
+ ApprovalStepType[ApprovalStepType["Parallel"] = 2] = "Parallel";
293
+ ApprovalStepType[ApprovalStepType["Skippable"] = 3] = "Skippable";
294
+ return ApprovalStepType;
295
+ }({});
296
+ export var ApprovalAction = /*#__PURE__*/ function(ApprovalAction) {
297
+ ApprovalAction[ApprovalAction["NotSet"] = 0] = "NotSet";
298
+ ApprovalAction[ApprovalAction["AutoApprove"] = 1] = "AutoApprove";
299
+ ApprovalAction[ApprovalAction["RequireUserApproval"] = 2] = "RequireUserApproval";
300
+ ApprovalAction[ApprovalAction["ApproveByPOCreator"] = 3] = "ApproveByPOCreator";
301
+ ApprovalAction[ApprovalAction["Skip"] = 4] = "Skip";
302
+ return ApprovalAction;
303
+ }({});
304
+ export var ConditionType = /*#__PURE__*/ function(ConditionType) {
305
+ ConditionType[ConditionType["AmountRange"] = 1] = "AmountRange";
306
+ ConditionType[ConditionType["BusinessUnit"] = 2] = "BusinessUnit";
307
+ ConditionType[ConditionType["Vendor"] = 3] = "Vendor";
308
+ ConditionType[ConditionType["MissingPurchaseOrder"] = 4] = "MissingPurchaseOrder";
309
+ ConditionType[ConditionType["Discrepancies"] = 5] = "Discrepancies";
310
+ ConditionType[ConditionType["Project"] = 6] = "Project";
311
+ return ConditionType;
312
+ }({});
313
+
314
+ //# sourceMappingURL=ap-bill-approval-v2.api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ap-bill-approval-v2.api.ts"],"sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n//----------------------\n// <auto-generated>\n// Generated with ApiClientGenerator, using the NSwag toolchain\n// </auto-generated>\n//----------------------\n// ReSharper disable InconsistentNaming\n\nimport axios, { AxiosRequestConfig, AxiosPromise, CancelToken } from 'axios';\nimport { injectable, inject, optional, symbolToken } from '@servicetitan/react-ioc';\nimport { makeCodedException, makeContent } from './utils';\n// @ts-ignore: needed for Date serialization if a DateTime parameter has an Unspecified attribute on it\nimport moment from 'moment';\n\nexport interface IApBillApprovalV2 {\n /**\n * Get AP bill approvals by bill IDs\n * @tenantId The tenant ID\n * @billIds Comma-separated list of bill identifiers\n * @return List of AP bill approvals\n */\n getApprovalsByBillIds(tenantId: number, billIds: string, cancelToken?: CancelToken): AxiosPromise<ApBillApproval[]>;\n /**\n * Get approval details for a bill by bill ID\n */\n getApproval(tenantId: number, billId: number, cancelToken?: CancelToken): AxiosPromise<ApBillApproval>;\n /**\n * Submit a bill for approval\n */\n submitForApproval(tenantId: number, billId: number, request: ApprovalActionRequest, cancelToken?: CancelToken): AxiosPromise<ApBillApproval>;\n /**\n * Approve the current step\n */\n approveStep(tenantId: number, billId: number, request: ApprovalActionRequest, cancelToken?: CancelToken): AxiosPromise<ApBillApproval>;\n /**\n * Deny the current step (denies entire approval)\n */\n denyStep(tenantId: number, billId: number, request: ApprovalActionRequest, cancelToken?: CancelToken): AxiosPromise<ApBillApproval>;\n /**\n * Get all approvals that a user can act on\n */\n getUserApproval(tenantId: number, userId: number, cancelToken?: CancelToken): AxiosPromise<ApBillApproval[]>;\n /**\n * Get all available approvers for a tenant based on configured approval policies\n * @tenantId The tenant ID\n * @return List of unique approver user IDs configured across all approval policies\n */\n getAvailableApprovers(tenantId: number, cancelToken?: CancelToken): AxiosPromise<AvailableApproversResponse>;\n /**\n * Get all available approvers for a tenant with enriched details (name and email)\n * @tenantId The tenant ID\n * @return List of approvers with user ID, name, and email\n */\n getAvailableApproversDetail(tenantId: number, cancelToken?: CancelToken): AxiosPromise<AvailableApproversDetailResponse>;\n /**\n * Get the approval policy that applies to a specific bill\n * @tenantId The tenant ID\n * @billId The bill ID\n * @return The approval policy that applies to the bill\n */\n getApprovalPolicyForBill(tenantId: number, billId: number, cancelToken?: CancelToken): AxiosPromise<ApBillApprovalPolicyResponse>;\n /**\n * Get approval policies for multiple bills\n * @tenantId The tenant ID\n * @billIds Comma-separated list of bill identifiers\n * @return List of approval policies for the specified bills\n */\n getApprovalPoliciesForBills(tenantId: number, billIds: string, cancelToken?: CancelToken): AxiosPromise<ApBillApprovalPolicyResponse[]>;\n}\n\nexport const BASE_URL_TOKEN_ApBillApprovalV2 = symbolToken<string>('BASE_URL_TOKEN', false);\n\n@injectable()\nexport class ApBillApprovalV2 implements IApBillApprovalV2 {\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@inject(BASE_URL_TOKEN_ApBillApprovalV2) @optional() private readonly baseUrl = \"\") {\n }\n\n /**\n * Get AP bill approvals by bill IDs\n * @tenantId The tenant ID\n * @billIds Comma-separated list of bill identifiers\n * @return List of AP bill approvals\n */\n getApprovalsByBillIds(tenantId: number, billIds: string, cancelToken?: CancelToken): AxiosPromise<ApBillApproval[]> {\n let url_ = \"/v2/tenant/{tenantId}/ap-bill-approvals?\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (billIds === undefined || billIds === null)\n throw new Error(\"The parameter 'billIds' must be defined and cannot be null.\");\n else\n url_ += \"billIds=\" + encodeURIComponent(\"\" + billIds) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<ApBillApproval[]>(options_));\n }\n\n /**\n * Get approval details for a bill by bill ID\n */\n getApproval(tenantId: number, billId: number, cancelToken?: CancelToken): AxiosPromise<ApBillApproval> {\n let url_ = \"/v2/tenant/{tenantId}/ap-bill-approvals/bill/{billId}\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (billId === undefined || billId === null)\n throw new Error(\"The parameter 'billId' must be defined.\");\n url_ = url_.replace(\"{billId}\", encodeURIComponent(\"\" + billId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<ApBillApproval>(options_));\n }\n\n /**\n * Submit a bill for approval\n */\n submitForApproval(tenantId: number, billId: number, request: ApprovalActionRequest, cancelToken?: CancelToken): AxiosPromise<ApBillApproval> {\n let url_ = \"/v2/tenant/{tenantId}/ap-bill-approvals/bill/{billId}/submit\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (billId === undefined || billId === null)\n throw new Error(\"The parameter 'billId' must be defined.\");\n url_ = url_.replace(\"{billId}\", encodeURIComponent(\"\" + billId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = request;\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n data: content_,\n url: url_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<ApBillApproval>(options_));\n }\n\n /**\n * Approve the current step\n */\n approveStep(tenantId: number, billId: number, request: ApprovalActionRequest, cancelToken?: CancelToken): AxiosPromise<ApBillApproval> {\n let url_ = \"/v2/tenant/{tenantId}/ap-bill-approvals/bill/{billId}/approve\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (billId === undefined || billId === null)\n throw new Error(\"The parameter 'billId' must be defined.\");\n url_ = url_.replace(\"{billId}\", encodeURIComponent(\"\" + billId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = request;\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n data: content_,\n url: url_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<ApBillApproval>(options_));\n }\n\n /**\n * Deny the current step (denies entire approval)\n */\n denyStep(tenantId: number, billId: number, request: ApprovalActionRequest, cancelToken?: CancelToken): AxiosPromise<ApBillApproval> {\n let url_ = \"/v2/tenant/{tenantId}/ap-bill-approvals/bill/{billId}/deny\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (billId === undefined || billId === null)\n throw new Error(\"The parameter 'billId' must be defined.\");\n url_ = url_.replace(\"{billId}\", encodeURIComponent(\"\" + billId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = request;\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n data: content_,\n url: url_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<ApBillApproval>(options_));\n }\n\n /**\n * Get all approvals that a user can act on\n */\n getUserApproval(tenantId: number, userId: number, cancelToken?: CancelToken): AxiosPromise<ApBillApproval[]> {\n let url_ = \"/v2/tenant/{tenantId}/ap-bill-approvals/user/{userId}\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (userId === undefined || userId === null)\n throw new Error(\"The parameter 'userId' must be defined.\");\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<ApBillApproval[]>(options_));\n }\n\n /**\n * Get all available approvers for a tenant based on configured approval policies\n * @tenantId The tenant ID\n * @return List of unique approver user IDs configured across all approval policies\n */\n getAvailableApprovers(tenantId: number, cancelToken?: CancelToken): AxiosPromise<AvailableApproversResponse> {\n let url_ = \"/v2/tenant/{tenantId}/ap-bill-approvals/available-approvers\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<AvailableApproversResponse>(options_));\n }\n\n /**\n * Get all available approvers for a tenant with enriched details (name and email)\n * @tenantId The tenant ID\n * @return List of approvers with user ID, name, and email\n */\n getAvailableApproversDetail(tenantId: number, cancelToken?: CancelToken): AxiosPromise<AvailableApproversDetailResponse> {\n let url_ = \"/v2/tenant/{tenantId}/ap-bill-approvals/available-approvers-detail\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<AvailableApproversDetailResponse>(options_));\n }\n\n /**\n * Get the approval policy that applies to a specific bill\n * @tenantId The tenant ID\n * @billId The bill ID\n * @return The approval policy that applies to the bill\n */\n getApprovalPolicyForBill(tenantId: number, billId: number, cancelToken?: CancelToken): AxiosPromise<ApBillApprovalPolicyResponse> {\n let url_ = \"/v2/tenant/{tenantId}/ap-bill-approvals/bill/{billId}/policy\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (billId === undefined || billId === null)\n throw new Error(\"The parameter 'billId' must be defined.\");\n url_ = url_.replace(\"{billId}\", encodeURIComponent(\"\" + billId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<ApBillApprovalPolicyResponse>(options_));\n }\n\n /**\n * Get approval policies for multiple bills\n * @tenantId The tenant ID\n * @billIds Comma-separated list of bill identifiers\n * @return List of approval policies for the specified bills\n */\n getApprovalPoliciesForBills(tenantId: number, billIds: string, cancelToken?: CancelToken): AxiosPromise<ApBillApprovalPolicyResponse[]> {\n let url_ = \"/v2/tenant/{tenantId}/ap-bill-approvals/policies?\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (billIds === undefined || billIds === null)\n throw new Error(\"The parameter 'billIds' must be defined and cannot be null.\");\n else\n url_ += \"billIds=\" + encodeURIComponent(\"\" + billIds) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<ApBillApprovalPolicyResponse[]>(options_));\n }\n}\n\nexport interface ApBillApproval {\n tenantId: number;\n billId: number;\n settingId: string;\n approvalStatus: ApprovalStatus;\n requestingUserId: number;\n approvingUserId?: number | undefined;\n comments: ApBillApprovalComment[];\n createdOn: Date;\n modifiedOn: Date;\n denialReason?: string | undefined;\n denialComment?: string | undefined;\n id: string;\n completedOn?: Date | undefined;\n status: ApprovalStatus;\n currentStepNumber: number;\n totalSteps: number;\n isComplete: boolean;\n currentStep?: ApprovalStepResponse | undefined;\n steps: ApprovalStepResponse[];\n denialInfo?: ApprovalDenialInfoResponse | undefined;\n lastApprovingUserId?: number | undefined;\n}\n\nexport enum ApprovalStatus {\n NotSet = 0,\n Pending = 1,\n Sent = 2,\n Approved = 3,\n AutoApproved = 4,\n Denied = 99,\n Skipped = 100,\n}\n\nexport interface ApBillApprovalComment {\n commentId: number;\n comment: string;\n userId: number;\n approvalStatus?: ApprovalStatus | undefined;\n createdOn: Date;\n}\n\nexport interface ApprovalStepResponse {\n stepNumber: number;\n stepName: string;\n status: ApprovalStatus;\n stepType: ApprovalStepType;\n isActionable: boolean;\n approverUserIds: number[];\n approverUserRoleIds: number[];\n requireAllApprovers: boolean;\n decisions: ApprovalStepDecisionResponse[];\n activatedOn?: Date | undefined;\n completedOn?: Date | undefined;\n}\n\nexport enum ApprovalStepType {\n Sequential = 1,\n Parallel = 2,\n Skippable = 3,\n}\n\nexport interface ApprovalStepDecisionResponse {\n userId: number;\n decision: ApprovalStatus;\n decisionOn: Date;\n comment?: string | undefined;\n denialReason?: string | undefined;\n}\n\nexport interface ApprovalDenialInfoResponse {\n reason?: string | undefined;\n comment?: string | undefined;\n userId?: number | undefined;\n}\n\nexport interface ApprovalActionRequest {\n userId: number;\n comment?: string | undefined;\n denialReason?: string | undefined;\n userRoleId?: number | undefined;\n}\n\nexport interface AvailableApproversResponse {\n approverUserIds: number[];\n approverUserRoleIds: number[];\n}\n\nexport interface AvailableApproversDetailResponse {\n approvers: AvailableApproverDetail[];\n approverRoles: AvailableApproverRoleDetail[];\n}\n\nexport interface AvailableApproverDetail {\n userId: number;\n name?: string | undefined;\n email?: string | undefined;\n}\n\nexport interface AvailableApproverRoleDetail {\n roleId: number;\n name?: string | undefined;\n active?: boolean | undefined;\n}\n\n/** Response containing the approval policy that applies to a bill */\nexport interface ApBillApprovalPolicyResponse {\n /** The bill ID */\n billId: number;\n /** The matching approval policy, or null if no policy matches */\n policy?: ApBillApprovalPolicy | undefined;\n}\n\nexport interface ApBillApprovalPolicy {\n order: number;\n approvalAction: ApprovalAction;\n approverUserIds?: number[] | undefined;\n approverUserRoleIds?: number[] | undefined;\n steps: ApBillApprovalStep[];\n}\n\nexport enum ApprovalAction {\n NotSet = 0,\n AutoApprove = 1,\n RequireUserApproval = 2,\n ApproveByPOCreator = 3,\n Skip = 4,\n}\n\nexport interface ApBillApprovalStep {\n stepNumber: number;\n name: string;\n stepType: ApprovalStepType;\n approverUserIds: number[];\n approverUserRoleIds: number[];\n requireAllApprovers: boolean;\n conditions: ApBillApprovalCondition[];\n}\n\nexport interface ApBillApprovalCondition {\n type: ConditionType;\n minBillTotalAmount?: number | undefined;\n maxBillTotalAmount?: number | undefined;\n businessUnitIds?: number[] | undefined;\n vendorIds?: number[] | undefined;\n billMissingPurchaseOrder?: boolean | undefined;\n hasDiscrepancies?: boolean | undefined;\n hasProject?: boolean | undefined;\n isElseOnly: boolean;\n approverUserIds: number[];\n approverUserRoleIds: number[];\n approvalAction: ApprovalAction;\n}\n\nexport enum ConditionType {\n AmountRange = 1,\n BusinessUnit = 2,\n Vendor = 3,\n MissingPurchaseOrder = 4,\n Discrepancies = 5,\n Project = 6,\n}\n"],"names":["axios","injectable","inject","optional","symbolToken","makeCodedException","BASE_URL_TOKEN_ApBillApprovalV2","ApBillApprovalV2","getApprovalsByBillIds","tenantId","billIds","cancelToken","url_","undefined","Error","replace","encodeURIComponent","options_","baseURL","baseUrl","url","method","headers","request","getApproval","billId","submitForApproval","content_","data","approveStep","denyStep","getUserApproval","userId","getAvailableApprovers","getAvailableApproversDetail","getApprovalPolicyForBill","getApprovalPoliciesForBills","jsonParseReviver","ApprovalStatus","ApprovalStepType","ApprovalAction","ConditionType"],"mappings":"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"}