@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,163 @@
1
+ import { AxiosPromise, CancelToken } from 'axios';
2
+ export interface IApBillApprovalV1 {
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 AP bill approval by bill ID
12
+ * @tenantId The tenant ID
13
+ * @billId The bill ID
14
+ * @return AP bill approval record, or null if not found
15
+ */
16
+ getApprovalByBillId(tenantId: number, billId: number, cancelToken?: CancelToken): AxiosPromise<ApBillApproval>;
17
+ /**
18
+ * Update AP bill approval status
19
+ * @tenantId The tenant ID
20
+ * @billId The bill ID
21
+ * @request The approval status update request
22
+ * @return Updated AP bill approval record
23
+ */
24
+ updateApprovalStatus(tenantId: number, billId: number, request: UpdateApprovalStatusRequest, cancelToken?: CancelToken): AxiosPromise<ApBillApproval>;
25
+ /**
26
+ * Get all available approvers for a tenant based on configured approval policies
27
+ * @tenantId The tenant ID
28
+ * @return List of unique approver user IDs configured across all approval policies
29
+ */
30
+ getAvailableApprovers(tenantId: number, cancelToken?: CancelToken): AxiosPromise<AvailableApproversResponse>;
31
+ /**
32
+ * Get the approval policy that applies to a specific bill
33
+ * @tenantId The tenant ID
34
+ * @billId The bill ID
35
+ * @return The approval policy that applies to the bill
36
+ */
37
+ getApprovalPolicyForBill(tenantId: number, billId: number, cancelToken?: CancelToken): AxiosPromise<ApBillApprovalPolicyResponse>;
38
+ /**
39
+ * Get approval policies for multiple bills
40
+ * @tenantId The tenant ID
41
+ * @billIds Comma-separated list of bill identifiers
42
+ * @return List of approval policies for the specified bills
43
+ */
44
+ getApprovalPoliciesForBills(tenantId: number, billIds: string, cancelToken?: CancelToken): AxiosPromise<ApBillApprovalPolicyResponse[]>;
45
+ }
46
+ export declare const BASE_URL_TOKEN_ApBillApprovalV1: import("@servicetitan/react-ioc").SymbolToken<string>;
47
+ export declare class ApBillApprovalV1 implements IApBillApprovalV1 {
48
+ private readonly baseUrl;
49
+ protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
50
+ constructor(baseUrl?: string);
51
+ /**
52
+ * Get AP bill approvals by bill IDs
53
+ * @tenantId The tenant ID
54
+ * @billIds Comma-separated list of bill identifiers
55
+ * @return List of AP bill approvals
56
+ */
57
+ getApprovalsByBillIds(tenantId: number, billIds: string, cancelToken?: CancelToken): AxiosPromise<ApBillApproval[]>;
58
+ /**
59
+ * Get AP bill approval by bill ID
60
+ * @tenantId The tenant ID
61
+ * @billId The bill ID
62
+ * @return AP bill approval record, or null if not found
63
+ */
64
+ getApprovalByBillId(tenantId: number, billId: number, cancelToken?: CancelToken): AxiosPromise<ApBillApproval>;
65
+ /**
66
+ * Update AP bill approval status
67
+ * @tenantId The tenant ID
68
+ * @billId The bill ID
69
+ * @request The approval status update request
70
+ * @return Updated AP bill approval record
71
+ */
72
+ updateApprovalStatus(tenantId: number, billId: number, request: UpdateApprovalStatusRequest, cancelToken?: CancelToken): AxiosPromise<ApBillApproval>;
73
+ /**
74
+ * Get all available approvers for a tenant based on configured approval policies
75
+ * @tenantId The tenant ID
76
+ * @return List of unique approver user IDs configured across all approval policies
77
+ */
78
+ getAvailableApprovers(tenantId: number, cancelToken?: CancelToken): AxiosPromise<AvailableApproversResponse>;
79
+ /**
80
+ * Get the approval policy that applies to a specific bill
81
+ * @tenantId The tenant ID
82
+ * @billId The bill ID
83
+ * @return The approval policy that applies to the bill
84
+ */
85
+ getApprovalPolicyForBill(tenantId: number, billId: number, cancelToken?: CancelToken): AxiosPromise<ApBillApprovalPolicyResponse>;
86
+ /**
87
+ * Get approval policies for multiple bills
88
+ * @tenantId The tenant ID
89
+ * @billIds Comma-separated list of bill identifiers
90
+ * @return List of approval policies for the specified bills
91
+ */
92
+ getApprovalPoliciesForBills(tenantId: number, billIds: string, cancelToken?: CancelToken): AxiosPromise<ApBillApprovalPolicyResponse[]>;
93
+ }
94
+ export interface ApBillApproval {
95
+ tenantId: number;
96
+ billId: number;
97
+ settingId: string;
98
+ approvalStatus: ApprovalStatus;
99
+ requestingUserId: number;
100
+ approvingUserId?: number | undefined;
101
+ availableApproverUserIds?: number[] | undefined;
102
+ comments: ApBillApprovalComment[];
103
+ autoApprove: boolean;
104
+ createdOn: Date;
105
+ modifiedOn: Date;
106
+ denialReason?: string | undefined;
107
+ denialComment?: string | undefined;
108
+ }
109
+ export declare enum ApprovalStatus {
110
+ NotSet = 0,
111
+ Pending = 1,
112
+ Sent = 2,
113
+ Approved = 3,
114
+ AutoApproved = 4,
115
+ Denied = 99,
116
+ Skipped = 100
117
+ }
118
+ export interface ApBillApprovalComment {
119
+ commentId: number;
120
+ comment: string;
121
+ userId: number;
122
+ approvalStatus?: ApprovalStatus | undefined;
123
+ createdOn: Date;
124
+ }
125
+ export interface UpdateApprovalStatusRequest {
126
+ sourceUserId: number;
127
+ status: ApprovalStatus;
128
+ comment?: string | undefined;
129
+ denialReason?: string | undefined;
130
+ createIfNotFound: boolean;
131
+ approverEmail?: string | undefined;
132
+ approverName?: string | undefined;
133
+ }
134
+ export interface AvailableApproversResponse {
135
+ approverUserIds: number[];
136
+ approverUserRoleIds: number[];
137
+ }
138
+ /** Response containing the approval policy that applies to a bill */
139
+ export interface ApBillApprovalPolicyResponse {
140
+ /** The bill ID */
141
+ billId: number;
142
+ /** The matching approval policy, or null if no policy matches */
143
+ policy?: ApBillApprovalPolicy | undefined;
144
+ }
145
+ export interface ApBillApprovalPolicy {
146
+ approvalAction: ApprovalAction;
147
+ approverUserIds?: number[] | undefined;
148
+ order: number;
149
+ minBillTotalAmount?: number | undefined;
150
+ maxBillTotalAmount?: number | undefined;
151
+ businessUnitId?: number | undefined;
152
+ billMissingPurchaseOrder?: boolean | undefined;
153
+ hasDiscrepancies?: boolean | undefined;
154
+ hasProject?: boolean | undefined;
155
+ }
156
+ export declare enum ApprovalAction {
157
+ NotSet = 0,
158
+ AutoApprove = 1,
159
+ RequireUserApproval = 2,
160
+ ApproveByPOCreator = 3,
161
+ Skip = 4
162
+ }
163
+ //# sourceMappingURL=ap-bill-approval.api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ap-bill-approval.api.d.ts","sourceRoot":"","sources":["../src/ap-bill-approval.api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,218 @@
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_ApBillApprovalV1 = symbolToken('BASE_URL_TOKEN', false);
38
+ export class ApBillApprovalV1 {
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_ = "/v1/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 AP bill approval by bill ID
65
+ * @tenantId The tenant ID
66
+ * @billId The bill ID
67
+ * @return AP bill approval record, or null if not found
68
+ */ getApprovalByBillId(tenantId, billId, cancelToken) {
69
+ let url_ = "/v1/tenant/{tenantId}/ap-bill-approvals/bill/{billId}";
70
+ if (tenantId === undefined || tenantId === null) throw new Error("The parameter 'tenantId' must be defined.");
71
+ url_ = url_.replace("{tenantId}", encodeURIComponent("" + tenantId));
72
+ if (billId === undefined || billId === null) throw new Error("The parameter 'billId' must be defined.");
73
+ url_ = url_.replace("{billId}", encodeURIComponent("" + billId));
74
+ url_ = url_.replace(/[?&]$/, "");
75
+ let options_ = {
76
+ baseURL: this.baseUrl,
77
+ cancelToken,
78
+ url: url_,
79
+ method: "GET",
80
+ headers: {
81
+ "Content-Type": "application/json",
82
+ "Accept": "application/json"
83
+ }
84
+ };
85
+ return makeCodedException(axios.request(options_));
86
+ }
87
+ /**
88
+ * Update AP bill approval status
89
+ * @tenantId The tenant ID
90
+ * @billId The bill ID
91
+ * @request The approval status update request
92
+ * @return Updated AP bill approval record
93
+ */ updateApprovalStatus(tenantId, billId, request, cancelToken) {
94
+ let url_ = "/v1/tenant/{tenantId}/ap-bill-approvals/bill/{billId}/status";
95
+ if (tenantId === undefined || tenantId === null) throw new Error("The parameter 'tenantId' must be defined.");
96
+ url_ = url_.replace("{tenantId}", encodeURIComponent("" + tenantId));
97
+ if (billId === undefined || billId === null) throw new Error("The parameter 'billId' must be defined.");
98
+ url_ = url_.replace("{billId}", encodeURIComponent("" + billId));
99
+ url_ = url_.replace(/[?&]$/, "");
100
+ const content_ = request;
101
+ let options_ = {
102
+ baseURL: this.baseUrl,
103
+ cancelToken,
104
+ data: content_,
105
+ url: url_,
106
+ method: "POST",
107
+ headers: {
108
+ "Content-Type": "application/json",
109
+ "Accept": "application/json"
110
+ }
111
+ };
112
+ return makeCodedException(axios.request(options_));
113
+ }
114
+ /**
115
+ * Get all available approvers for a tenant based on configured approval policies
116
+ * @tenantId The tenant ID
117
+ * @return List of unique approver user IDs configured across all approval policies
118
+ */ getAvailableApprovers(tenantId, cancelToken) {
119
+ let url_ = "/v1/tenant/{tenantId}/ap-bill-approvals/available-approvers";
120
+ if (tenantId === undefined || tenantId === null) throw new Error("The parameter 'tenantId' must be defined.");
121
+ url_ = url_.replace("{tenantId}", encodeURIComponent("" + tenantId));
122
+ url_ = url_.replace(/[?&]$/, "");
123
+ let options_ = {
124
+ baseURL: this.baseUrl,
125
+ cancelToken,
126
+ url: url_,
127
+ method: "GET",
128
+ headers: {
129
+ "Content-Type": "application/json",
130
+ "Accept": "application/json"
131
+ }
132
+ };
133
+ return makeCodedException(axios.request(options_));
134
+ }
135
+ /**
136
+ * Get the approval policy that applies to a specific bill
137
+ * @tenantId The tenant ID
138
+ * @billId The bill ID
139
+ * @return The approval policy that applies to the bill
140
+ */ getApprovalPolicyForBill(tenantId, billId, cancelToken) {
141
+ let url_ = "/v1/tenant/{tenantId}/ap-bill-approvals/bill/{billId}/policy";
142
+ if (tenantId === undefined || tenantId === null) throw new Error("The parameter 'tenantId' must be defined.");
143
+ url_ = url_.replace("{tenantId}", encodeURIComponent("" + tenantId));
144
+ if (billId === undefined || billId === null) throw new Error("The parameter 'billId' must be defined.");
145
+ url_ = url_.replace("{billId}", encodeURIComponent("" + billId));
146
+ url_ = url_.replace(/[?&]$/, "");
147
+ let options_ = {
148
+ baseURL: this.baseUrl,
149
+ cancelToken,
150
+ url: url_,
151
+ method: "GET",
152
+ headers: {
153
+ "Content-Type": "application/json",
154
+ "Accept": "application/json"
155
+ }
156
+ };
157
+ return makeCodedException(axios.request(options_));
158
+ }
159
+ /**
160
+ * Get approval policies for multiple bills
161
+ * @tenantId The tenant ID
162
+ * @billIds Comma-separated list of bill identifiers
163
+ * @return List of approval policies for the specified bills
164
+ */ getApprovalPoliciesForBills(tenantId, billIds, cancelToken) {
165
+ let url_ = "/v1/tenant/{tenantId}/ap-bill-approvals/policies?";
166
+ if (tenantId === undefined || tenantId === null) throw new Error("The parameter 'tenantId' must be defined.");
167
+ url_ = url_.replace("{tenantId}", encodeURIComponent("" + tenantId));
168
+ if (billIds === undefined || billIds === null) throw new Error("The parameter 'billIds' must be defined and cannot be null.");
169
+ else url_ += "billIds=" + encodeURIComponent("" + billIds) + "&";
170
+ url_ = url_.replace(/[?&]$/, "");
171
+ let options_ = {
172
+ baseURL: this.baseUrl,
173
+ cancelToken,
174
+ url: url_,
175
+ method: "GET",
176
+ headers: {
177
+ "Content-Type": "application/json",
178
+ "Accept": "application/json"
179
+ }
180
+ };
181
+ return makeCodedException(axios.request(options_));
182
+ }
183
+ constructor(baseUrl = ""){
184
+ _define_property(this, "baseUrl", void 0);
185
+ _define_property(this, "jsonParseReviver", void 0);
186
+ this.baseUrl = baseUrl;
187
+ this.jsonParseReviver = undefined;
188
+ }
189
+ }
190
+ ApBillApprovalV1 = _ts_decorate([
191
+ injectable(),
192
+ _ts_param(0, inject(BASE_URL_TOKEN_ApBillApprovalV1)),
193
+ _ts_param(0, optional()),
194
+ _ts_metadata("design:type", Function),
195
+ _ts_metadata("design:paramtypes", [
196
+ void 0
197
+ ])
198
+ ], ApBillApprovalV1);
199
+ export var ApprovalStatus = /*#__PURE__*/ function(ApprovalStatus) {
200
+ ApprovalStatus[ApprovalStatus["NotSet"] = 0] = "NotSet";
201
+ ApprovalStatus[ApprovalStatus["Pending"] = 1] = "Pending";
202
+ ApprovalStatus[ApprovalStatus["Sent"] = 2] = "Sent";
203
+ ApprovalStatus[ApprovalStatus["Approved"] = 3] = "Approved";
204
+ ApprovalStatus[ApprovalStatus["AutoApproved"] = 4] = "AutoApproved";
205
+ ApprovalStatus[ApprovalStatus["Denied"] = 99] = "Denied";
206
+ ApprovalStatus[ApprovalStatus["Skipped"] = 100] = "Skipped";
207
+ return ApprovalStatus;
208
+ }({});
209
+ export var ApprovalAction = /*#__PURE__*/ function(ApprovalAction) {
210
+ ApprovalAction[ApprovalAction["NotSet"] = 0] = "NotSet";
211
+ ApprovalAction[ApprovalAction["AutoApprove"] = 1] = "AutoApprove";
212
+ ApprovalAction[ApprovalAction["RequireUserApproval"] = 2] = "RequireUserApproval";
213
+ ApprovalAction[ApprovalAction["ApproveByPOCreator"] = 3] = "ApproveByPOCreator";
214
+ ApprovalAction[ApprovalAction["Skip"] = 4] = "Skip";
215
+ return ApprovalAction;
216
+ }({});
217
+
218
+ //# sourceMappingURL=ap-bill-approval.api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ap-bill-approval.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 IApBillApprovalV1 {\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 AP bill approval by bill ID\n * @tenantId The tenant ID\n * @billId The bill ID\n * @return AP bill approval record, or null if not found\n */\n getApprovalByBillId(tenantId: number, billId: number, cancelToken?: CancelToken): AxiosPromise<ApBillApproval>;\n /**\n * Update AP bill approval status\n * @tenantId The tenant ID\n * @billId The bill ID\n * @request The approval status update request\n * @return Updated AP bill approval record\n */\n updateApprovalStatus(tenantId: number, billId: number, request: UpdateApprovalStatusRequest, 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 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_ApBillApprovalV1 = symbolToken<string>('BASE_URL_TOKEN', false);\n\n@injectable()\nexport class ApBillApprovalV1 implements IApBillApprovalV1 {\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@inject(BASE_URL_TOKEN_ApBillApprovalV1) @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_ = \"/v1/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 AP bill approval by bill ID\n * @tenantId The tenant ID\n * @billId The bill ID\n * @return AP bill approval record, or null if not found\n */\n getApprovalByBillId(tenantId: number, billId: number, cancelToken?: CancelToken): AxiosPromise<ApBillApproval> {\n let url_ = \"/v1/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 * Update AP bill approval status\n * @tenantId The tenant ID\n * @billId The bill ID\n * @request The approval status update request\n * @return Updated AP bill approval record\n */\n updateApprovalStatus(tenantId: number, billId: number, request: UpdateApprovalStatusRequest, cancelToken?: CancelToken): AxiosPromise<ApBillApproval> {\n let url_ = \"/v1/tenant/{tenantId}/ap-bill-approvals/bill/{billId}/status\";\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 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_ = \"/v1/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 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_ = \"/v1/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_ = \"/v1/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 availableApproverUserIds?: number[] | undefined;\n comments: ApBillApprovalComment[];\n autoApprove: boolean;\n createdOn: Date;\n modifiedOn: Date;\n denialReason?: string | undefined;\n denialComment?: string | 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 UpdateApprovalStatusRequest {\n sourceUserId: number;\n status: ApprovalStatus;\n comment?: string | undefined;\n denialReason?: string | undefined;\n createIfNotFound: boolean;\n approverEmail?: string | undefined;\n approverName?: string | undefined;\n}\n\nexport interface AvailableApproversResponse {\n approverUserIds: number[];\n approverUserRoleIds: number[];\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 approvalAction: ApprovalAction;\n approverUserIds?: number[] | undefined;\n order: number;\n minBillTotalAmount?: number | undefined;\n maxBillTotalAmount?: number | undefined;\n businessUnitId?: number | undefined;\n billMissingPurchaseOrder?: boolean | undefined;\n hasDiscrepancies?: boolean | undefined;\n hasProject?: boolean | undefined;\n}\n\nexport enum ApprovalAction {\n NotSet = 0,\n AutoApprove = 1,\n RequireUserApproval = 2,\n ApproveByPOCreator = 3,\n Skip = 4,\n}\n"],"names":["axios","injectable","inject","optional","symbolToken","makeCodedException","BASE_URL_TOKEN_ApBillApprovalV1","ApBillApprovalV1","getApprovalsByBillIds","tenantId","billIds","cancelToken","url_","undefined","Error","replace","encodeURIComponent","options_","baseURL","baseUrl","url","method","headers","request","getApprovalByBillId","billId","updateApprovalStatus","content_","data","getAvailableApprovers","getApprovalPolicyForBill","getApprovalPoliciesForBills","jsonParseReviver","ApprovalStatus","ApprovalAction"],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import { AxiosPromise, CancelToken } from 'axios';
2
+ export interface IBillPayments {
3
+ /**
4
+ * Initiates a new bill payment. Idempotent on ExternalRef — returns existing record if
5
+ a payment with the same ExternalRef already exists (timeout recovery).
6
+ */
7
+ initiatePayment(tenantId: number, request: InitiatePaymentRequest, cancelToken?: CancelToken): AxiosPromise<InitiatePaymentResponse>;
8
+ /**
9
+ * Retries a previously rejected payment. Calls the provider retry endpoint — do not use
10
+ for resubmitting a cancelled payment (create a new payment instead).
11
+ */
12
+ retryPayment(tenantId: number, externalPaymentId: string, request: RetryBillPaymentRequest, cancelToken?: CancelToken): AxiosPromise<InitiatePaymentResponse>;
13
+ /**
14
+ * Cancels a bill payment. Returns 409 if the payment is no longer cancelable.
15
+ */
16
+ cancelPayment(tenantId: number, externalPaymentId: string, cancelToken?: CancelToken): AxiosPromise<void>;
17
+ }
18
+ export declare const BASE_URL_TOKEN_BillPayments: import("@servicetitan/react-ioc").SymbolToken<string>;
19
+ export declare class BillPayments implements IBillPayments {
20
+ private readonly baseUrl;
21
+ protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
22
+ constructor(baseUrl?: string);
23
+ /**
24
+ * Initiates a new bill payment. Idempotent on ExternalRef — returns existing record if
25
+ a payment with the same ExternalRef already exists (timeout recovery).
26
+ */
27
+ initiatePayment(tenantId: number, request: InitiatePaymentRequest, cancelToken?: CancelToken): AxiosPromise<InitiatePaymentResponse>;
28
+ /**
29
+ * Retries a previously rejected payment. Calls the provider retry endpoint — do not use
30
+ for resubmitting a cancelled payment (create a new payment instead).
31
+ */
32
+ retryPayment(tenantId: number, externalPaymentId: string, request: RetryBillPaymentRequest, cancelToken?: CancelToken): AxiosPromise<InitiatePaymentResponse>;
33
+ /**
34
+ * Cancels a bill payment. Returns 409 if the payment is no longer cancelable.
35
+ */
36
+ cancelPayment(tenantId: number, externalPaymentId: string, cancelToken?: CancelToken): AxiosPromise<void>;
37
+ }
38
+ export interface InitiatePaymentResponse {
39
+ /** The provider's payment ID. Stored on VendorPayment.ExternalId in the monolith. */
40
+ externalPaymentId: string;
41
+ }
42
+ export interface InitiatePaymentRequest {
43
+ /** The monolith's VendorPayment ID. Used for Kafka event correlation. */
44
+ vendorPaymentId: number;
45
+ /** Payment amount in the currency's major unit (e.g. dollars). */
46
+ amount: number;
47
+ /** The monolith's Vendor ID. Passed for context but not stored server-side —
48
+ RemittanceVendorId is used for provider lookup. */
49
+ vendorId: number;
50
+ remittanceVendorId: number;
51
+ /** When null, the payment is sent immediately.
52
+ When set to a future date, the payment is scheduled for that date. */
53
+ scheduledDate?: Date | undefined;
54
+ /** Idempotency key generated by the monolith. Same ExternalRef on retry = find-or-return existing record.
55
+ New ExternalRef = new payment (e.g. resubmit after cancel). */
56
+ externalRef: string;
57
+ /** Opaque payment method ID selected in the UX (obtained from GetPaymentMethods).
58
+ Forwarded to the adapter as the selected payment method for this payment. */
59
+ paymentMethodId: string;
60
+ }
61
+ /** Optional body for the retry bill-payment endpoint. All fields are optional — omit to retry with the original payment method. */
62
+ export interface RetryBillPaymentRequest {
63
+ /** Opaque payment method ID obtained from the available-payment-methods endpoint.
64
+ When provided the retry uses this method instead of the one that originally failed.
65
+ Null means reuse the original method. */
66
+ paymentMethodId?: string | undefined;
67
+ }
68
+ //# sourceMappingURL=bill-payments.api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bill-payments.api.d.ts","sourceRoot":"","sources":["../src/bill-payments.api.ts"],"names":[],"mappings":"AASA,OAAc,EAAsB,YAAY,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAM7E,MAAM,WAAW,aAAa;IAC1B;;;OAGG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC;IACrI;;;OAGG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC;IAC9J;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;CAC7G;AAED,eAAO,MAAM,2BAA2B,uDAA+C,CAAC;AAExF,qBACa,YAAa,YAAW,aAAa;IAGe,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFrF,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC,GAAG,SAAS,CAAa;gBAET,OAAO,SAAK;IAG1F;;;OAGG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,uBAAuB,CAAC;IA0BpI;;;OAGG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,uBAAuB,CAAC;IA2B7J;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC;CAsB5G;AAED,MAAM,WAAW,uBAAuB;IACpC,qFAAqF;IACrF,iBAAiB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACnC,yEAAyE;IACzE,eAAe,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf;kDAC8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B;qEACiE;IACjE,aAAa,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACjC;8DAC0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB;4EACwE;IACxE,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,mIAAmI;AACnI,MAAM,WAAW,uBAAuB;IACpC;;wCAEoC;IACpC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC"}
@@ -0,0 +1,124 @@
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, makeContent } from './utils';
37
+ export const BASE_URL_TOKEN_BillPayments = symbolToken('BASE_URL_TOKEN', false);
38
+ export class BillPayments {
39
+ /**
40
+ * Initiates a new bill payment. Idempotent on ExternalRef — returns existing record if
41
+ a payment with the same ExternalRef already exists (timeout recovery).
42
+ */ initiatePayment(tenantId, request, cancelToken) {
43
+ let url_ = "/v1/tenant/{tenantId}/bill-payments";
44
+ if (tenantId === undefined || tenantId === null) throw new Error("The parameter 'tenantId' must be defined.");
45
+ url_ = url_.replace("{tenantId}", encodeURIComponent("" + tenantId));
46
+ url_ = url_.replace(/[?&]$/, "");
47
+ const content_ = makeContent(request, [
48
+ "$.scheduledDate"
49
+ ]);
50
+ let options_ = {
51
+ baseURL: this.baseUrl,
52
+ cancelToken,
53
+ data: content_,
54
+ url: url_,
55
+ method: "POST",
56
+ headers: {
57
+ "Content-Type": "application/json",
58
+ "Accept": "application/json"
59
+ }
60
+ };
61
+ return makeCodedException(axios.request(options_));
62
+ }
63
+ /**
64
+ * Retries a previously rejected payment. Calls the provider retry endpoint — do not use
65
+ for resubmitting a cancelled payment (create a new payment instead).
66
+ */ retryPayment(tenantId, externalPaymentId, request, cancelToken) {
67
+ let url_ = "/v1/tenant/{tenantId}/bill-payments/{externalPaymentId}/retry";
68
+ if (tenantId === undefined || tenantId === null) throw new Error("The parameter 'tenantId' must be defined.");
69
+ url_ = url_.replace("{tenantId}", encodeURIComponent("" + tenantId));
70
+ if (externalPaymentId === undefined || externalPaymentId === null) throw new Error("The parameter 'externalPaymentId' must be defined.");
71
+ url_ = url_.replace("{externalPaymentId}", encodeURIComponent("" + externalPaymentId));
72
+ url_ = url_.replace(/[?&]$/, "");
73
+ const content_ = request;
74
+ let options_ = {
75
+ baseURL: this.baseUrl,
76
+ cancelToken,
77
+ data: content_,
78
+ url: url_,
79
+ method: "POST",
80
+ headers: {
81
+ "Content-Type": "application/json",
82
+ "Accept": "application/json"
83
+ }
84
+ };
85
+ return makeCodedException(axios.request(options_));
86
+ }
87
+ /**
88
+ * Cancels a bill payment. Returns 409 if the payment is no longer cancelable.
89
+ */ cancelPayment(tenantId, externalPaymentId, cancelToken) {
90
+ let url_ = "/v1/tenant/{tenantId}/bill-payments/{externalPaymentId}";
91
+ if (tenantId === undefined || tenantId === null) throw new Error("The parameter 'tenantId' must be defined.");
92
+ url_ = url_.replace("{tenantId}", encodeURIComponent("" + tenantId));
93
+ if (externalPaymentId === undefined || externalPaymentId === null) throw new Error("The parameter 'externalPaymentId' must be defined.");
94
+ url_ = url_.replace("{externalPaymentId}", encodeURIComponent("" + externalPaymentId));
95
+ url_ = url_.replace(/[?&]$/, "");
96
+ let options_ = {
97
+ baseURL: this.baseUrl,
98
+ cancelToken,
99
+ url: url_,
100
+ method: "DELETE",
101
+ headers: {
102
+ "Content-Type": "application/json"
103
+ }
104
+ };
105
+ return makeCodedException(axios.request(options_));
106
+ }
107
+ constructor(baseUrl = ""){
108
+ _define_property(this, "baseUrl", void 0);
109
+ _define_property(this, "jsonParseReviver", void 0);
110
+ this.baseUrl = baseUrl;
111
+ this.jsonParseReviver = undefined;
112
+ }
113
+ }
114
+ BillPayments = _ts_decorate([
115
+ injectable(),
116
+ _ts_param(0, inject(BASE_URL_TOKEN_BillPayments)),
117
+ _ts_param(0, optional()),
118
+ _ts_metadata("design:type", Function),
119
+ _ts_metadata("design:paramtypes", [
120
+ void 0
121
+ ])
122
+ ], BillPayments);
123
+
124
+ //# sourceMappingURL=bill-payments.api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/bill-payments.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 IBillPayments {\n /**\n * Initiates a new bill payment. Idempotent on ExternalRef — returns existing record if\n a payment with the same ExternalRef already exists (timeout recovery).\n */\n initiatePayment(tenantId: number, request: InitiatePaymentRequest, cancelToken?: CancelToken): AxiosPromise<InitiatePaymentResponse>;\n /**\n * Retries a previously rejected payment. Calls the provider retry endpoint — do not use\n for resubmitting a cancelled payment (create a new payment instead).\n */\n retryPayment(tenantId: number, externalPaymentId: string, request: RetryBillPaymentRequest, cancelToken?: CancelToken): AxiosPromise<InitiatePaymentResponse>;\n /**\n * Cancels a bill payment. Returns 409 if the payment is no longer cancelable.\n */\n cancelPayment(tenantId: number, externalPaymentId: string, cancelToken?: CancelToken): AxiosPromise<void>;\n}\n\nexport const BASE_URL_TOKEN_BillPayments = symbolToken<string>('BASE_URL_TOKEN', false);\n\n@injectable()\nexport class BillPayments implements IBillPayments {\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@inject(BASE_URL_TOKEN_BillPayments) @optional() private readonly baseUrl = \"\") {\n }\n\n /**\n * Initiates a new bill payment. Idempotent on ExternalRef — returns existing record if\n a payment with the same ExternalRef already exists (timeout recovery).\n */\n initiatePayment(tenantId: number, request: InitiatePaymentRequest, cancelToken?: CancelToken): AxiosPromise<InitiatePaymentResponse> {\n let url_ = \"/v1/tenant/{tenantId}/bill-payments\";\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 const content_ = makeContent(request, [\n \"$.scheduledDate\",\n ]);\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<InitiatePaymentResponse>(options_));\n }\n\n /**\n * Retries a previously rejected payment. Calls the provider retry endpoint — do not use\n for resubmitting a cancelled payment (create a new payment instead).\n */\n retryPayment(tenantId: number, externalPaymentId: string, request: RetryBillPaymentRequest, cancelToken?: CancelToken): AxiosPromise<InitiatePaymentResponse> {\n let url_ = \"/v1/tenant/{tenantId}/bill-payments/{externalPaymentId}/retry\";\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 (externalPaymentId === undefined || externalPaymentId === null)\n throw new Error(\"The parameter 'externalPaymentId' must be defined.\");\n url_ = url_.replace(\"{externalPaymentId}\", encodeURIComponent(\"\" + externalPaymentId));\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<InitiatePaymentResponse>(options_));\n }\n\n /**\n * Cancels a bill payment. Returns 409 if the payment is no longer cancelable.\n */\n cancelPayment(tenantId: number, externalPaymentId: string, cancelToken?: CancelToken): AxiosPromise<void> {\n let url_ = \"/v1/tenant/{tenantId}/bill-payments/{externalPaymentId}\";\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 (externalPaymentId === undefined || externalPaymentId === null)\n throw new Error(\"The parameter 'externalPaymentId' must be defined.\");\n url_ = url_.replace(\"{externalPaymentId}\", encodeURIComponent(\"\" + externalPaymentId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"DELETE\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return makeCodedException(axios.request<void>(options_));\n }\n}\n\nexport interface InitiatePaymentResponse {\n /** The provider's payment ID. Stored on VendorPayment.ExternalId in the monolith. */\n externalPaymentId: string;\n}\n\nexport interface InitiatePaymentRequest {\n /** The monolith's VendorPayment ID. Used for Kafka event correlation. */\n vendorPaymentId: number;\n /** Payment amount in the currency's major unit (e.g. dollars). */\n amount: number;\n /** The monolith's Vendor ID. Passed for context but not stored server-side —\nRemittanceVendorId is used for provider lookup. */\n vendorId: number;\n remittanceVendorId: number;\n /** When null, the payment is sent immediately.\nWhen set to a future date, the payment is scheduled for that date. */\n scheduledDate?: Date | undefined;\n /** Idempotency key generated by the monolith. Same ExternalRef on retry = find-or-return existing record.\nNew ExternalRef = new payment (e.g. resubmit after cancel). */\n externalRef: string;\n /** Opaque payment method ID selected in the UX (obtained from GetPaymentMethods).\nForwarded to the adapter as the selected payment method for this payment. */\n paymentMethodId: string;\n}\n\n/** Optional body for the retry bill-payment endpoint. All fields are optional — omit to retry with the original payment method. */\nexport interface RetryBillPaymentRequest {\n /** Opaque payment method ID obtained from the available-payment-methods endpoint.\nWhen provided the retry uses this method instead of the one that originally failed.\nNull means reuse the original method. */\n paymentMethodId?: string | undefined;\n}\n"],"names":["axios","injectable","inject","optional","symbolToken","makeCodedException","makeContent","BASE_URL_TOKEN_BillPayments","BillPayments","initiatePayment","tenantId","request","cancelToken","url_","undefined","Error","replace","encodeURIComponent","content_","options_","baseURL","baseUrl","data","url","method","headers","retryPayment","externalPaymentId","cancelPayment","jsonParseReviver"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kBAAkB,GAClB,kBAAkB,GAClB,wBAAwB;AACxB,mBAAmB;AACnB,mEAAmE;AACnE,oBAAoB;AACpB,wBAAwB;AACxB,uCAAuC;AAEvC,OAAOA,WAA8D,QAAQ;AAC7E,SAASC,UAAU,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,WAAW,QAAQ,0BAA0B;AACpF,SAASC,kBAAkB,EAAEC,WAAW,QAAQ,UAAU;AAqB1D,OAAO,MAAMC,8BAA8BH,YAAoB,kBAAkB,OAAO;AAGxF,OAAO,MAAMI;IAMT;;;KAGC,GACDC,gBAAgBC,QAAgB,EAAEC,OAA+B,EAAEC,WAAyB,EAAyC;QACjI,IAAIC,OAAO;QACX,IAAIH,aAAaI,aAAaJ,aAAa,MACvC,MAAM,IAAIK,MAAM;QACpBF,OAAOA,KAAKG,OAAO,CAAC,cAAcC,mBAAmB,KAAKP;QAC1DG,OAAOA,KAAKG,OAAO,CAAC,SAAS;QAE7B,MAAME,WAAWZ,YAAYK,SAAS;YAClC;SACH;QAED,IAAIQ,WAA+B;YAC/BC,SAAS,IAAI,CAACC,OAAO;YACrBT;YACAU,MAAMJ;YACNK,KAAKV;YACLW,QAAQ;YACRC,SAAS;gBACL,gBAAgB;gBAChB,UAAU;YACd;QACJ;QAEA,OAAOpB,mBAAmBL,MAAMW,OAAO,CAA0BQ;IACrE;IAEA;;;KAGC,GACDO,aAAahB,QAAgB,EAAEiB,iBAAyB,EAAEhB,OAAgC,EAAEC,WAAyB,EAAyC;QAC1J,IAAIC,OAAO;QACX,IAAIH,aAAaI,aAAaJ,aAAa,MACvC,MAAM,IAAIK,MAAM;QACpBF,OAAOA,KAAKG,OAAO,CAAC,cAAcC,mBAAmB,KAAKP;QAC1D,IAAIiB,sBAAsBb,aAAaa,sBAAsB,MACzD,MAAM,IAAIZ,MAAM;QACpBF,OAAOA,KAAKG,OAAO,CAAC,uBAAuBC,mBAAmB,KAAKU;QACnEd,OAAOA,KAAKG,OAAO,CAAC,SAAS;QAE7B,MAAME,WAAWP;QAEjB,IAAIQ,WAA+B;YAC/BC,SAAS,IAAI,CAACC,OAAO;YACrBT;YACAU,MAAMJ;YACNK,KAAKV;YACLW,QAAQ;YACRC,SAAS;gBACL,gBAAgB;gBAChB,UAAU;YACd;QACJ;QAEA,OAAOpB,mBAAmBL,MAAMW,OAAO,CAA0BQ;IACrE;IAEA;;KAEC,GACDS,cAAclB,QAAgB,EAAEiB,iBAAyB,EAAEf,WAAyB,EAAsB;QACtG,IAAIC,OAAO;QACX,IAAIH,aAAaI,aAAaJ,aAAa,MACvC,MAAM,IAAIK,MAAM;QACpBF,OAAOA,KAAKG,OAAO,CAAC,cAAcC,mBAAmB,KAAKP;QAC1D,IAAIiB,sBAAsBb,aAAaa,sBAAsB,MACzD,MAAM,IAAIZ,MAAM;QACpBF,OAAOA,KAAKG,OAAO,CAAC,uBAAuBC,mBAAmB,KAAKU;QACnEd,OAAOA,KAAKG,OAAO,CAAC,SAAS;QAE7B,IAAIG,WAA+B;YAC/BC,SAAS,IAAI,CAACC,OAAO;YACrBT;YACAW,KAAKV;YACLW,QAAQ;YACRC,SAAS;gBACL,gBAAgB;YACpB;QACJ;QAEA,OAAOpB,mBAAmBL,MAAMW,OAAO,CAAOQ;IAClD;IAxFA,YAAY,AAAkEE,UAAU,EAAE,CAAE;;QAF5F,uBAAUQ,oBAAV,KAAA;aAE8ER,UAAAA;aAFpEQ,mBAAmEf;IAG7E;AAwFJ"}