diff --git a/reference.md b/reference.md index b91211987..39db01c9b 100644 --- a/reference.md +++ b/reference.md @@ -5867,7 +5867,7 @@ await client.accounting.accountToken.regenerateCreate(); ## Accounting AccountingPeriods -
client.accounting.accountingPeriods.list({ ...params }) -> core.Page +
client.accounting.accountingPeriods.list({ ...params }) -> Merge.PaginatedAccountingPeriodList
@@ -5894,31 +5894,13 @@ Returns a list of `AccountingPeriod` objects.
```typescript -const pageableResponse = await client.accounting.accountingPeriods.list({ +await client.accounting.accountingPeriods.list({ cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", includeDeletedData: true, includeRemoteData: true, includeShellData: true, pageSize: 1 }); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.accountingPeriods.list({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - pageSize: 1 -}); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -6029,7 +6011,7 @@ await client.accounting.accountingPeriods.retrieve("id", {
## Accounting Accounts -
client.accounting.accounts.list({ ...params }) -> core.Page +
client.accounting.accounts.list({ ...params }) -> Merge.PaginatedAccountList
@@ -6056,31 +6038,7 @@ Returns a list of `Account` objects.
```typescript -const pageableResponse = await client.accounting.accounts.list({ - accountType: "account_type", - classification: "", - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - name: "name", - pageSize: 1, - remoteFields: "classification", - remoteId: "remote_id", - showEnumOrigins: "classification", - status: "" -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.accounts.list({ +await client.accounting.accounts.list({ accountType: "account_type", classification: "", companyId: "company_id", @@ -6099,12 +6057,6 @@ let page = await client.accounting.accounts.list({ showEnumOrigins: "classification", status: "" }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -6610,7 +6562,7 @@ await client.accounting.asyncTasks.retrieve("id");
## Accounting Attachments -
client.accounting.attachments.list({ ...params }) -> core.Page +
client.accounting.attachments.list({ ...params }) -> Merge.PaginatedAccountingAttachmentList
@@ -6637,25 +6589,7 @@ Returns a list of `AccountingAttachment` objects.
```typescript -const pageableResponse = await client.accounting.attachments.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id" -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.attachments.list({ +await client.accounting.attachments.list({ companyId: "company_id", createdAfter: new Date("2024-01-15T09:30:00.000Z"), createdBefore: new Date("2024-01-15T09:30:00.000Z"), @@ -6668,12 +6602,6 @@ let page = await client.accounting.attachments.list({ pageSize: 1, remoteId: "remote_id" }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -6906,7 +6834,7 @@ await client.accounting.attachments.metaPostRetrieve();
## Accounting AuditTrail -
client.accounting.auditTrail.list({ ...params }) -> core.Page +
client.accounting.auditTrail.list({ ...params }) -> Merge.PaginatedAuditLogEventList
@@ -6933,20 +6861,7 @@ Gets a list of audit trail events.
```typescript -const pageableResponse = await client.accounting.auditTrail.list({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - endDate: "end_date", - eventType: "event_type", - pageSize: 1, - startDate: "start_date", - userEmail: "user_email" -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.auditTrail.list({ +await client.accounting.auditTrail.list({ cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", endDate: "end_date", eventType: "event_type", @@ -6954,12 +6869,6 @@ let page = await client.accounting.auditTrail.list({ startDate: "start_date", userEmail: "user_email" }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -7052,7 +6961,7 @@ await client.accounting.availableActions.retrieve();
## Accounting BalanceSheets -
client.accounting.balanceSheets.list({ ...params }) -> core.Page +
client.accounting.balanceSheets.list({ ...params }) -> Merge.PaginatedBalanceSheetList
@@ -7079,25 +6988,7 @@ Returns a list of `BalanceSheet` objects.
```typescript -const pageableResponse = await client.accounting.balanceSheets.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id" -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.balanceSheets.list({ +await client.accounting.balanceSheets.list({ companyId: "company_id", createdAfter: new Date("2024-01-15T09:30:00.000Z"), createdBefore: new Date("2024-01-15T09:30:00.000Z"), @@ -7110,12 +7001,6 @@ let page = await client.accounting.balanceSheets.list({ pageSize: 1, remoteId: "remote_id" }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -7226,7 +7111,7 @@ await client.accounting.balanceSheets.retrieve("id", {
## Accounting BankFeedAccounts -
client.accounting.bankFeedAccounts.list({ ...params }) -> core.Page +
client.accounting.bankFeedAccounts.list({ ...params }) -> Merge.PaginatedBankFeedAccountList
@@ -7253,31 +7138,13 @@ Returns a list of `BankFeedAccount` objects.
```typescript -const pageableResponse = await client.accounting.bankFeedAccounts.list({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - pageSize: 1 -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.bankFeedAccounts.list({ +await client.accounting.bankFeedAccounts.list({ cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", includeDeletedData: true, includeRemoteData: true, includeShellData: true, pageSize: 1 }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -7510,7 +7377,7 @@ await client.accounting.bankFeedAccounts.metaPostRetrieve();
## Accounting BankFeedTransactions -
client.accounting.bankFeedTransactions.list({ ...params }) -> core.Page +
client.accounting.bankFeedTransactions.list({ ...params }) -> Merge.PaginatedBankFeedTransactionList
@@ -7537,25 +7404,7 @@ Returns a list of `BankFeedTransaction` objects.
```typescript -const pageableResponse = await client.accounting.bankFeedTransactions.list({ - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isProcessed: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id" -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.bankFeedTransactions.list({ +await client.accounting.bankFeedTransactions.list({ createdAfter: new Date("2024-01-15T09:30:00.000Z"), createdBefore: new Date("2024-01-15T09:30:00.000Z"), cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", @@ -7568,12 +7417,6 @@ let page = await client.accounting.bankFeedTransactions.list({ pageSize: 1, remoteId: "remote_id" }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -7806,7 +7649,7 @@ await client.accounting.bankFeedTransactions.metaPostRetrieve();
## Accounting CashFlowStatements -
client.accounting.cashFlowStatements.list({ ...params }) -> core.Page +
client.accounting.cashFlowStatements.list({ ...params }) -> Merge.PaginatedCashFlowStatementList
@@ -7833,25 +7676,7 @@ Returns a list of `CashFlowStatement` objects.
```typescript -const pageableResponse = await client.accounting.cashFlowStatements.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id" -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.cashFlowStatements.list({ +await client.accounting.cashFlowStatements.list({ companyId: "company_id", createdAfter: new Date("2024-01-15T09:30:00.000Z"), createdBefore: new Date("2024-01-15T09:30:00.000Z"), @@ -7864,12 +7689,6 @@ let page = await client.accounting.cashFlowStatements.list({ pageSize: 1, remoteId: "remote_id" }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -7980,7 +7799,7 @@ await client.accounting.cashFlowStatements.retrieve("id", {
## Accounting CompanyInfo -
client.accounting.companyInfo.list({ ...params }) -> core.Page +
client.accounting.companyInfo.list({ ...params }) -> Merge.PaginatedCompanyInfoList
@@ -8007,25 +7826,7 @@ Returns a list of `CompanyInfo` objects.
```typescript -const pageableResponse = await client.accounting.companyInfo.list({ - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - name: "name", - pageSize: 1, - remoteId: "remote_id" -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.companyInfo.list({ +await client.accounting.companyInfo.list({ createdAfter: new Date("2024-01-15T09:30:00.000Z"), createdBefore: new Date("2024-01-15T09:30:00.000Z"), cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", @@ -8038,12 +7839,6 @@ let page = await client.accounting.companyInfo.list({ pageSize: 1, remoteId: "remote_id" }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -8154,7 +7949,7 @@ await client.accounting.companyInfo.retrieve("id", {
## Accounting Contacts -
client.accounting.contacts.list({ ...params }) -> core.Page +
client.accounting.contacts.list({ ...params }) -> Merge.PaginatedContactList
@@ -8181,33 +7976,7 @@ Returns a list of `Contact` objects.
```typescript -const pageableResponse = await client.accounting.contacts.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - emailAddress: "email_address", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - isCustomer: "is_customer", - isSupplier: "is_supplier", - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - name: "name", - pageSize: 1, - remoteFields: "status", - remoteId: "remote_id", - showEnumOrigins: "status", - status: "" -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.contacts.list({ +await client.accounting.contacts.list({ companyId: "company_id", createdAfter: new Date("2024-01-15T09:30:00.000Z"), createdBefore: new Date("2024-01-15T09:30:00.000Z"), @@ -8228,12 +7997,6 @@ let page = await client.accounting.contacts.list({ showEnumOrigins: "status", status: "" }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -8606,7 +8369,7 @@ await client.accounting.contacts.metaPostRetrieve();
-
client.accounting.contacts.remoteFieldClassesList({ ...params }) -> core.Page +
client.accounting.contacts.remoteFieldClassesList({ ...params }) -> Merge.PaginatedRemoteFieldClassList
@@ -8633,21 +8396,7 @@ Returns a list of `RemoteFieldClass` objects.
```typescript -const pageableResponse = await client.accounting.contacts.remoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1 -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.contacts.remoteFieldClassesList({ +await client.accounting.contacts.remoteFieldClassesList({ cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", includeDeletedData: true, includeRemoteData: true, @@ -8656,12 +8405,6 @@ let page = await client.accounting.contacts.remoteFieldClassesList({ isCustom: true, pageSize: 1 }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -8698,7 +8441,7 @@ const response = page.response;
## Accounting CreditNotes -
client.accounting.creditNotes.list({ ...params }) -> core.Page +
client.accounting.creditNotes.list({ ...params }) -> Merge.PaginatedCreditNoteList
@@ -8725,7 +8468,7 @@ Returns a list of `CreditNote` objects.
```typescript -const pageableResponse = await client.accounting.creditNotes.list({ +await client.accounting.creditNotes.list({ companyId: "company_id", createdAfter: new Date("2024-01-15T09:30:00.000Z"), createdBefore: new Date("2024-01-15T09:30:00.000Z"), @@ -8742,34 +8485,6 @@ const pageableResponse = await client.accounting.creditNotes.list({ transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), transactionDateBefore: new Date("2024-01-15T09:30:00.000Z") }); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.creditNotes.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteFields: "status", - remoteId: "remote_id", - showEnumOrigins: "status", - transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), - transactionDateBefore: new Date("2024-01-15T09:30:00.000Z") -}); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -9471,7 +9186,7 @@ await client.accounting.deleteAccount.delete();
## Accounting Employees -
client.accounting.employees.list({ ...params }) -> core.Page +
client.accounting.employees.list({ ...params }) -> Merge.PaginatedEmployeeList
@@ -9498,25 +9213,7 @@ Returns a list of `Employee` objects.
```typescript -const pageableResponse = await client.accounting.employees.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id" -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.employees.list({ +await client.accounting.employees.list({ companyId: "company_id", createdAfter: new Date("2024-01-15T09:30:00.000Z"), createdBefore: new Date("2024-01-15T09:30:00.000Z"), @@ -9529,12 +9226,6 @@ let page = await client.accounting.employees.list({ pageSize: 1, remoteId: "remote_id" }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -9645,7 +9336,7 @@ await client.accounting.employees.retrieve("id", {
## Accounting ExpenseReports -
client.accounting.expenseReports.list({ ...params }) -> core.Page +
client.accounting.expenseReports.list({ ...params }) -> Merge.PaginatedExpenseReportList
@@ -9672,26 +9363,7 @@ Returns a list of `ExpenseReport` objects.
```typescript -const pageableResponse = await client.accounting.expenseReports.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id" -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.expenseReports.list({ +await client.accounting.expenseReports.list({ companyId: "company_id", createdAfter: new Date("2024-01-15T09:30:00.000Z"), createdBefore: new Date("2024-01-15T09:30:00.000Z"), @@ -9705,12 +9377,6 @@ let page = await client.accounting.expenseReports.list({ pageSize: 1, remoteId: "remote_id" }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -9815,7 +9481,7 @@ await client.accounting.expenseReports.create({
-
client.accounting.expenseReports.linesList(expense_report_id, { ...params }) -> core.Page +
client.accounting.expenseReports.linesList(expense_report_id, { ...params }) -> Merge.PaginatedExpenseReportLineList
@@ -9842,7 +9508,7 @@ Returns a list of `ExpenseReportLine` objects that point to a `ExpenseReport` wi
```typescript -const pageableResponse = await client.accounting.expenseReports.linesList("expense_report_id", { +await client.accounting.expenseReports.linesList("expense_report_id", { cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", includeDeletedData: true, includeRemoteData: true, @@ -9850,25 +9516,6 @@ const pageableResponse = await client.accounting.expenseReports.linesList("expen includeShellData: true, pageSize: 1 }); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.expenseReports.linesList("expense_report_id", { - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - pageSize: 1 -}); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -9987,7 +9634,7 @@ await client.accounting.expenseReports.retrieve("id", {
-
client.accounting.expenseReports.linesRemoteFieldClassesList({ ...params }) -> core.Page +
client.accounting.expenseReports.linesRemoteFieldClassesList({ ...params }) -> Merge.PaginatedRemoteFieldClassList
@@ -10014,21 +9661,7 @@ Returns a list of `RemoteFieldClass` objects.
```typescript -const pageableResponse = await client.accounting.expenseReports.linesRemoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1 -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.expenseReports.linesRemoteFieldClassesList({ +await client.accounting.expenseReports.linesRemoteFieldClassesList({ cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", includeDeletedData: true, includeRemoteData: true, @@ -10037,12 +9670,6 @@ let page = await client.accounting.expenseReports.linesRemoteFieldClassesList({ isCustom: true, pageSize: 1 }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -10133,7 +9760,7 @@ await client.accounting.expenseReports.metaPostRetrieve();
-
client.accounting.expenseReports.remoteFieldClassesList({ ...params }) -> core.Page +
client.accounting.expenseReports.remoteFieldClassesList({ ...params }) -> Merge.PaginatedRemoteFieldClassList
@@ -10160,21 +9787,7 @@ Returns a list of `RemoteFieldClass` objects.
```typescript -const pageableResponse = await client.accounting.expenseReports.remoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1 -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.expenseReports.remoteFieldClassesList({ +await client.accounting.expenseReports.remoteFieldClassesList({ cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", includeDeletedData: true, includeRemoteData: true, @@ -10183,12 +9796,6 @@ let page = await client.accounting.expenseReports.remoteFieldClassesList({ isCustom: true, pageSize: 1 }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -10225,7 +9832,7 @@ const response = page.response;
## Accounting Expenses -
client.accounting.expenses.list({ ...params }) -> core.Page +
client.accounting.expenses.list({ ...params }) -> Merge.PaginatedExpenseList
@@ -10252,28 +9859,7 @@ Returns a list of `Expense` objects.
```typescript -const pageableResponse = await client.accounting.expenses.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id", - transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), - transactionDateBefore: new Date("2024-01-15T09:30:00.000Z") -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.expenses.list({ +await client.accounting.expenses.list({ companyId: "company_id", createdAfter: new Date("2024-01-15T09:30:00.000Z"), createdBefore: new Date("2024-01-15T09:30:00.000Z"), @@ -10289,12 +9875,6 @@ let page = await client.accounting.expenses.list({ transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), transactionDateBefore: new Date("2024-01-15T09:30:00.000Z") }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -10472,7 +10052,7 @@ await client.accounting.expenses.retrieve("id", {
-
client.accounting.expenses.asyncBulkCreate({ ...params }) -> Merge.AsyncBulkCreateResponse +
client.accounting.expenses.bulkCreate({ ...params }) -> Merge.AsyncBulkCreateResponse
@@ -10484,7 +10064,7 @@ await client.accounting.expenses.retrieve("id", {
-Creates an `Expense` object with the given values. +Creates multiple `Expense` objects with the given values.
@@ -10499,9 +10079,7 @@ Creates an `Expense` object with the given values.
```typescript -await client.accounting.expenses.asyncBulkCreate({ - isDebugMode: true, - runAsync: true, +await client.accounting.expenses.bulkCreate({ batchItems: [{ itemId: "item_id", payload: {} @@ -10542,7 +10120,7 @@ await client.accounting.expenses.asyncBulkCreate({
-
client.accounting.expenses.batchObjectsList(batch_id, { ...params }) -> Merge.BatchObjectsResponse +
client.accounting.expenses.bulkRetrieve(batch_id) -> Merge.BatchObjectsResponse
@@ -10554,7 +10132,7 @@ await client.accounting.expenses.asyncBulkCreate({
-Returns a list of `Expense` objects. +Returns the status and results of an `Expense` bulk create batch.
@@ -10569,22 +10147,7 @@ Returns a list of `Expense` objects.
```typescript -await client.accounting.expenses.batchObjectsList("batch_id", { - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id", - transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), - transactionDateBefore: new Date("2024-01-15T09:30:00.000Z") -}); +await client.accounting.expenses.bulkRetrieve("batch_id"); ```
@@ -10608,14 +10171,6 @@ await client.accounting.expenses.batchObjectsList("batch_id", {
-**request:** `Merge.accounting.ExpensesBatchObjectsListRequest` - -
-
- -
-
- **requestOptions:** `ExpensesClient.RequestOptions`
@@ -10628,7 +10183,7 @@ await client.accounting.expenses.batchObjectsList("batch_id", {
-
client.accounting.expenses.linesRemoteFieldClassesList({ ...params }) -> core.Page +
client.accounting.expenses.linesRemoteFieldClassesList({ ...params }) -> Merge.PaginatedRemoteFieldClassList
@@ -10655,21 +10210,7 @@ Returns a list of `RemoteFieldClass` objects.
```typescript -const pageableResponse = await client.accounting.expenses.linesRemoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1 -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.expenses.linesRemoteFieldClassesList({ +await client.accounting.expenses.linesRemoteFieldClassesList({ cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", includeDeletedData: true, includeRemoteData: true, @@ -10678,12 +10219,6 @@ let page = await client.accounting.expenses.linesRemoteFieldClassesList({ isCustom: true, pageSize: 1 }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -10774,7 +10309,7 @@ await client.accounting.expenses.metaPostRetrieve();
-
client.accounting.expenses.remoteFieldClassesList({ ...params }) -> core.Page +
client.accounting.expenses.remoteFieldClassesList({ ...params }) -> Merge.PaginatedRemoteFieldClassList
@@ -10801,21 +10336,7 @@ Returns a list of `RemoteFieldClass` objects.
```typescript -const pageableResponse = await client.accounting.expenses.remoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1 -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.expenses.remoteFieldClassesList({ +await client.accounting.expenses.remoteFieldClassesList({ cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", includeDeletedData: true, includeRemoteData: true, @@ -10824,12 +10345,6 @@ let page = await client.accounting.expenses.remoteFieldClassesList({ isCustom: true, pageSize: 1 }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -11261,7 +10776,7 @@ await client.accounting.fieldMapping.targetFieldsRetrieve();
## Accounting GeneralLedgerTransactions -
client.accounting.generalLedgerTransactions.list({ ...params }) -> core.Page +
client.accounting.generalLedgerTransactions.list({ ...params }) -> Merge.PaginatedGeneralLedgerTransactionList
@@ -11288,27 +10803,7 @@ Returns a list of `GeneralLedgerTransaction` objects.
```typescript -const pageableResponse = await client.accounting.generalLedgerTransactions.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - postedDateAfter: new Date("2024-01-15T09:30:00.000Z"), - postedDateBefore: new Date("2024-01-15T09:30:00.000Z"), - remoteId: "remote_id" -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.generalLedgerTransactions.list({ +await client.accounting.generalLedgerTransactions.list({ companyId: "company_id", createdAfter: new Date("2024-01-15T09:30:00.000Z"), createdBefore: new Date("2024-01-15T09:30:00.000Z"), @@ -11323,12 +10818,6 @@ let page = await client.accounting.generalLedgerTransactions.list({ postedDateBefore: new Date("2024-01-15T09:30:00.000Z"), remoteId: "remote_id" }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -11505,7 +10994,7 @@ await client.accounting.generateKey.create({
## Accounting IncomeStatements -
client.accounting.incomeStatements.list({ ...params }) -> core.Page +
client.accounting.incomeStatements.list({ ...params }) -> Merge.PaginatedIncomeStatementList
@@ -11532,25 +11021,7 @@ Returns a list of `IncomeStatement` objects.
```typescript -const pageableResponse = await client.accounting.incomeStatements.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id" -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.incomeStatements.list({ +await client.accounting.incomeStatements.list({ companyId: "company_id", createdAfter: new Date("2024-01-15T09:30:00.000Z"), createdBefore: new Date("2024-01-15T09:30:00.000Z"), @@ -11563,12 +11034,6 @@ let page = await client.accounting.incomeStatements.list({ pageSize: 1, remoteId: "remote_id" }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -11679,7 +11144,7 @@ await client.accounting.incomeStatements.retrieve("id", {
## Accounting Invoices -
client.accounting.invoices.list({ ...params }) -> core.Page +
client.accounting.invoices.list({ ...params }) -> Merge.PaginatedInvoiceList
@@ -11706,34 +11171,7 @@ Returns a list of `Invoice` objects.
```typescript -const pageableResponse = await client.accounting.invoices.list({ - companyId: "company_id", - contactId: "contact_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - issueDateAfter: new Date("2024-01-15T09:30:00.000Z"), - issueDateBefore: new Date("2024-01-15T09:30:00.000Z"), - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - number: "number", - pageSize: 1, - remoteFields: "type", - remoteId: "remote_id", - showEnumOrigins: "type", - status: "DRAFT", - type: "ACCOUNTS_PAYABLE" -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.invoices.list({ +await client.accounting.invoices.list({ companyId: "company_id", contactId: "contact_id", createdAfter: new Date("2024-01-15T09:30:00.000Z"), @@ -11755,12 +11193,6 @@ let page = await client.accounting.invoices.list({ status: "DRAFT", type: "ACCOUNTS_PAYABLE" }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -12017,7 +11449,7 @@ await client.accounting.invoices.partialUpdate("id", {
-
client.accounting.invoices.asyncBulkCreate({ ...params }) -> Merge.AsyncBulkCreateResponse +
client.accounting.invoices.bulkCreate({ ...params }) -> Merge.AsyncBulkCreateResponse
@@ -12029,9 +11461,7 @@ await client.accounting.invoices.partialUpdate("id", {
-Creates an `Invoice` object with the given values. - Including a `PurchaseOrder` id in the `purchase_orders` property will generate an Accounts Payable Invoice from the specified Purchase Order(s). - +Creates multiple `Invoice` objects with the given values.
@@ -12046,9 +11476,7 @@ Creates an `Invoice` object with the given values.
```typescript -await client.accounting.invoices.asyncBulkCreate({ - isDebugMode: true, - runAsync: true, +await client.accounting.invoices.bulkCreate({ batchItems: [{ itemId: "item_id", payload: {} @@ -12089,7 +11517,7 @@ await client.accounting.invoices.asyncBulkCreate({
-
client.accounting.invoices.batchObjectsList(batch_id, { ...params }) -> Merge.BatchObjectsResponse +
client.accounting.invoices.bulkRetrieve(batch_id) -> Merge.BatchObjectsResponse
@@ -12101,7 +11529,7 @@ await client.accounting.invoices.asyncBulkCreate({
-Returns a list of `Invoice` objects. +Returns the status and results of an `Invoice` bulk create batch.
@@ -12116,28 +11544,7 @@ Returns a list of `Invoice` objects.
```typescript -await client.accounting.invoices.batchObjectsList("batch_id", { - companyId: "company_id", - contactId: "contact_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - issueDateAfter: new Date("2024-01-15T09:30:00.000Z"), - issueDateBefore: new Date("2024-01-15T09:30:00.000Z"), - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - number: "number", - pageSize: 1, - remoteFields: "type", - remoteId: "remote_id", - showEnumOrigins: "type", - status: "DRAFT", - type: "ACCOUNTS_PAYABLE" -}); +await client.accounting.invoices.bulkRetrieve("batch_id"); ```
@@ -12161,14 +11568,6 @@ await client.accounting.invoices.batchObjectsList("batch_id", {
-**request:** `Merge.accounting.InvoicesBatchObjectsListRequest` - -
-
- -
-
- **requestOptions:** `InvoicesClient.RequestOptions`
@@ -12181,7 +11580,7 @@ await client.accounting.invoices.batchObjectsList("batch_id", {
-
client.accounting.invoices.lineItemsRemoteFieldClassesList({ ...params }) -> core.Page +
client.accounting.invoices.lineItemsRemoteFieldClassesList({ ...params }) -> Merge.PaginatedRemoteFieldClassList
@@ -12208,21 +11607,7 @@ Returns a list of `RemoteFieldClass` objects.
```typescript -const pageableResponse = await client.accounting.invoices.lineItemsRemoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1 -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.invoices.lineItemsRemoteFieldClassesList({ +await client.accounting.invoices.lineItemsRemoteFieldClassesList({ cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", includeDeletedData: true, includeRemoteData: true, @@ -12231,12 +11616,6 @@ let page = await client.accounting.invoices.lineItemsRemoteFieldClassesList({ isCustom: true, pageSize: 1 }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -12390,7 +11769,7 @@ await client.accounting.invoices.metaPostRetrieve();
-
client.accounting.invoices.remoteFieldClassesList({ ...params }) -> core.Page +
client.accounting.invoices.remoteFieldClassesList({ ...params }) -> Merge.PaginatedRemoteFieldClassList
@@ -12417,21 +11796,7 @@ Returns a list of `RemoteFieldClass` objects.
```typescript -const pageableResponse = await client.accounting.invoices.remoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1 -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.invoices.remoteFieldClassesList({ +await client.accounting.invoices.remoteFieldClassesList({ cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", includeDeletedData: true, includeRemoteData: true, @@ -12440,12 +11805,6 @@ let page = await client.accounting.invoices.remoteFieldClassesList({ isCustom: true, pageSize: 1 }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -12482,7 +11841,7 @@ const response = page.response;
## Accounting Issues -
client.accounting.issues.list({ ...params }) -> core.Page +
client.accounting.issues.list({ ...params }) -> Merge.PaginatedIssueList
@@ -12509,28 +11868,7 @@ Gets all issues for Organization.
```typescript -const pageableResponse = await client.accounting.issues.list({ - accountToken: "account_token", - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - endDate: "end_date", - endUserOrganizationName: "end_user_organization_name", - firstIncidentTimeAfter: new Date("2024-01-15T09:30:00.000Z"), - firstIncidentTimeBefore: new Date("2024-01-15T09:30:00.000Z"), - includeMuted: "include_muted", - integrationName: "integration_name", - lastIncidentTimeAfter: new Date("2024-01-15T09:30:00.000Z"), - lastIncidentTimeBefore: new Date("2024-01-15T09:30:00.000Z"), - linkedAccountId: "linked_account_id", - pageSize: 1, - startDate: "start_date", - status: "ONGOING" -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.issues.list({ +await client.accounting.issues.list({ accountToken: "account_token", cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", endDate: "end_date", @@ -12546,12 +11884,6 @@ let page = await client.accounting.issues.list({ startDate: "start_date", status: "ONGOING" }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -12651,7 +11983,7 @@ await client.accounting.issues.retrieve("id");
## Accounting ItemFulfillments -
client.accounting.itemFulfillments.list({ ...params }) -> core.Page +
client.accounting.itemFulfillments.list({ ...params }) -> Merge.PaginatedItemFulfillmentList
@@ -12678,22 +12010,7 @@ Returns a list of `ItemFulfillment` objects.
```typescript -const pageableResponse = await client.accounting.itemFulfillments.list({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - pageSize: 1, - remoteFields: "status", - showEnumOrigins: "status" -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.itemFulfillments.list({ +await client.accounting.itemFulfillments.list({ cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", includeDeletedData: true, includeRemoteData: true, @@ -12703,12 +12020,6 @@ let page = await client.accounting.itemFulfillments.list({ remoteFields: "status", showEnumOrigins: "status" }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -12888,7 +12199,7 @@ await client.accounting.itemFulfillments.retrieve("id", {
-
client.accounting.itemFulfillments.asyncBulkCreate({ ...params }) -> Merge.AsyncBulkCreateResponse +
client.accounting.itemFulfillments.bulkCreate({ ...params }) -> Merge.AsyncBulkCreateResponse
@@ -12900,7 +12211,7 @@ await client.accounting.itemFulfillments.retrieve("id", {
-Creates an `ItemFulfillment` object with the given values. +Creates multiple `ItemFulfillment` objects with the given values.
@@ -12915,9 +12226,7 @@ Creates an `ItemFulfillment` object with the given values.
```typescript -await client.accounting.itemFulfillments.asyncBulkCreate({ - isDebugMode: true, - runAsync: true, +await client.accounting.itemFulfillments.bulkCreate({ batchItems: [{ itemId: "item_id", payload: {} @@ -12958,7 +12267,7 @@ await client.accounting.itemFulfillments.asyncBulkCreate({
-
client.accounting.itemFulfillments.batchObjectsList(batch_id, { ...params }) -> Merge.BatchObjectsResponse +
client.accounting.itemFulfillments.bulkRetrieve(batch_id) -> Merge.BatchObjectsResponse
@@ -12970,7 +12279,7 @@ await client.accounting.itemFulfillments.asyncBulkCreate({
-Returns a list of `ItemFulfillment` objects. +Returns the status and results of an `ItemFulfillment` bulk create batch.
@@ -12985,16 +12294,7 @@ Returns a list of `ItemFulfillment` objects.
```typescript -await client.accounting.itemFulfillments.batchObjectsList("batch_id", { - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - pageSize: 1, - remoteFields: "status", - showEnumOrigins: "status" -}); +await client.accounting.itemFulfillments.bulkRetrieve("batch_id"); ```
@@ -13018,14 +12318,6 @@ await client.accounting.itemFulfillments.batchObjectsList("batch_id", {
-**request:** `Merge.accounting.ItemFulfillmentsBatchObjectsListRequest` - -
-
- -
-
- **requestOptions:** `ItemFulfillmentsClient.RequestOptions`
@@ -13038,7 +12330,7 @@ await client.accounting.itemFulfillments.batchObjectsList("batch_id", {
-
client.accounting.itemFulfillments.linesRemoteFieldClassesList({ ...params }) -> core.Page +
client.accounting.itemFulfillments.linesRemoteFieldClassesList({ ...params }) -> Merge.PaginatedRemoteFieldClassList
@@ -13065,21 +12357,7 @@ Returns a list of `RemoteFieldClass` objects.
```typescript -const pageableResponse = await client.accounting.itemFulfillments.linesRemoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1 -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.itemFulfillments.linesRemoteFieldClassesList({ +await client.accounting.itemFulfillments.linesRemoteFieldClassesList({ cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", includeDeletedData: true, includeRemoteData: true, @@ -13088,12 +12366,6 @@ let page = await client.accounting.itemFulfillments.linesRemoteFieldClassesList( isCustom: true, pageSize: 1 }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -13184,7 +12456,7 @@ await client.accounting.itemFulfillments.metaPostRetrieve();
-
client.accounting.itemFulfillments.remoteFieldClassesList({ ...params }) -> core.Page +
client.accounting.itemFulfillments.remoteFieldClassesList({ ...params }) -> Merge.PaginatedRemoteFieldClassList
@@ -13211,21 +12483,7 @@ Returns a list of `RemoteFieldClass` objects.
```typescript -const pageableResponse = await client.accounting.itemFulfillments.remoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1 -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.itemFulfillments.remoteFieldClassesList({ +await client.accounting.itemFulfillments.remoteFieldClassesList({ cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", includeDeletedData: true, includeRemoteData: true, @@ -13234,12 +12492,6 @@ let page = await client.accounting.itemFulfillments.remoteFieldClassesList({ isCustom: true, pageSize: 1 }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -13276,7 +12528,7 @@ const response = page.response;
## Accounting Items -
client.accounting.items.list({ ...params }) -> core.Page +
client.accounting.items.list({ ...params }) -> Merge.PaginatedItemList
@@ -13303,28 +12555,7 @@ Returns a list of `Item` objects.
```typescript -const pageableResponse = await client.accounting.items.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - name: "name", - pageSize: 1, - remoteFields: "status", - remoteId: "remote_id", - showEnumOrigins: "status" -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.items.list({ +await client.accounting.items.list({ companyId: "company_id", createdAfter: new Date("2024-01-15T09:30:00.000Z"), createdBefore: new Date("2024-01-15T09:30:00.000Z"), @@ -13340,12 +12571,6 @@ let page = await client.accounting.items.list({ remoteId: "remote_id", showEnumOrigins: "status" }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -13718,7 +12943,7 @@ await client.accounting.items.metaPostRetrieve();
## Accounting JournalEntries -
client.accounting.journalEntries.list({ ...params }) -> core.Page +
client.accounting.journalEntries.list({ ...params }) -> Merge.PaginatedJournalEntryList
@@ -13745,7 +12970,7 @@ Returns a list of `JournalEntry` objects.
```typescript -const pageableResponse = await client.accounting.journalEntries.list({ +await client.accounting.journalEntries.list({ companyId: "company_id", createdAfter: new Date("2024-01-15T09:30:00.000Z"), createdBefore: new Date("2024-01-15T09:30:00.000Z"), @@ -13761,33 +12986,6 @@ const pageableResponse = await client.accounting.journalEntries.list({ transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), transactionDateBefore: new Date("2024-01-15T09:30:00.000Z") }); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.journalEntries.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id", - transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), - transactionDateBefore: new Date("2024-01-15T09:30:00.000Z") -}); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -13965,7 +13163,7 @@ await client.accounting.journalEntries.retrieve("id", {
-
client.accounting.journalEntries.linesRemoteFieldClassesList({ ...params }) -> core.Page +
client.accounting.journalEntries.linesRemoteFieldClassesList({ ...params }) -> Merge.PaginatedRemoteFieldClassList
@@ -13992,21 +13190,7 @@ Returns a list of `RemoteFieldClass` objects.
```typescript -const pageableResponse = await client.accounting.journalEntries.linesRemoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1 -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.journalEntries.linesRemoteFieldClassesList({ +await client.accounting.journalEntries.linesRemoteFieldClassesList({ cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", includeDeletedData: true, includeRemoteData: true, @@ -14015,12 +13199,6 @@ let page = await client.accounting.journalEntries.linesRemoteFieldClassesList({ isCustom: true, pageSize: 1 }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -14111,7 +13289,7 @@ await client.accounting.journalEntries.metaPostRetrieve();
-
client.accounting.journalEntries.remoteFieldClassesList({ ...params }) -> core.Page +
client.accounting.journalEntries.remoteFieldClassesList({ ...params }) -> Merge.PaginatedRemoteFieldClassList
@@ -14138,7 +13316,7 @@ Returns a list of `RemoteFieldClass` objects.
```typescript -const pageableResponse = await client.accounting.journalEntries.remoteFieldClassesList({ +await client.accounting.journalEntries.remoteFieldClassesList({ cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", includeDeletedData: true, includeRemoteData: true, @@ -14147,26 +13325,6 @@ const pageableResponse = await client.accounting.journalEntries.remoteFieldClass isCustom: true, pageSize: 1 }); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.journalEntries.remoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1 -}); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -14272,7 +13430,7 @@ await client.accounting.linkToken.create({
## Accounting LinkedAccounts -
client.accounting.linkedAccounts.list({ ...params }) -> core.Page +
client.accounting.linkedAccounts.list({ ...params }) -> Merge.PaginatedAccountDetailsAndActionsList
@@ -14299,7 +13457,7 @@ List linked accounts for your organization.
```typescript -const pageableResponse = await client.accounting.linkedAccounts.list({ +await client.accounting.linkedAccounts.list({ category: "accounting", cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", endUserEmailAddress: "end_user_email_address", @@ -14314,32 +13472,6 @@ const pageableResponse = await client.accounting.linkedAccounts.list({ pageSize: 1, status: "status" }); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.linkedAccounts.list({ - category: "accounting", - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - endUserEmailAddress: "end_user_email_address", - endUserOrganizationName: "end_user_organization_name", - endUserOriginId: "end_user_origin_id", - endUserOriginIds: "end_user_origin_ids", - id: "id", - ids: "ids", - includeDuplicates: true, - integrationName: "integration_name", - isTestAccount: "is_test_account", - pageSize: 1, - status: "status" -}); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -14443,7 +13575,7 @@ await client.accounting.passthrough.create({
## Accounting PaymentMethods -
client.accounting.paymentMethods.list({ ...params }) -> core.Page +
client.accounting.paymentMethods.list({ ...params }) -> Merge.PaginatedPaymentMethodList
@@ -14470,31 +13602,13 @@ Returns a list of `PaymentMethod` objects.
```typescript -const pageableResponse = await client.accounting.paymentMethods.list({ +await client.accounting.paymentMethods.list({ cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", includeDeletedData: true, includeRemoteData: true, includeShellData: true, pageSize: 1 }); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.paymentMethods.list({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - pageSize: 1 -}); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -14605,7 +13719,7 @@ await client.accounting.paymentMethods.retrieve("id", {
## Accounting PaymentTerms -
client.accounting.paymentTerms.list({ ...params }) -> core.Page +
client.accounting.paymentTerms.list({ ...params }) -> Merge.PaginatedPaymentTermList
@@ -14632,31 +13746,13 @@ Returns a list of `PaymentTerm` objects.
```typescript -const pageableResponse = await client.accounting.paymentTerms.list({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - pageSize: 1 -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.paymentTerms.list({ +await client.accounting.paymentTerms.list({ cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", includeDeletedData: true, includeRemoteData: true, includeShellData: true, pageSize: 1 }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -14767,7 +13863,7 @@ await client.accounting.paymentTerms.retrieve("id", {
## Accounting Payments -
client.accounting.payments.list({ ...params }) -> core.Page +
client.accounting.payments.list({ ...params }) -> Merge.PaginatedPaymentList
@@ -14794,30 +13890,7 @@ Returns a list of `Payment` objects.
```typescript -const pageableResponse = await client.accounting.payments.list({ - accountId: "account_id", - companyId: "company_id", - contactId: "contact_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id", - transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), - transactionDateBefore: new Date("2024-01-15T09:30:00.000Z") -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.payments.list({ +await client.accounting.payments.list({ accountId: "account_id", companyId: "company_id", contactId: "contact_id", @@ -14835,12 +13908,6 @@ let page = await client.accounting.payments.list({ transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), transactionDateBefore: new Date("2024-01-15T09:30:00.000Z") }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -15093,7 +14160,7 @@ await client.accounting.payments.partialUpdate("id", {
-
client.accounting.payments.lineItemsRemoteFieldClassesList({ ...params }) -> core.Page +
client.accounting.payments.lineItemsRemoteFieldClassesList({ ...params }) -> Merge.PaginatedRemoteFieldClassList
@@ -15120,21 +14187,7 @@ Returns a list of `RemoteFieldClass` objects.
```typescript -const pageableResponse = await client.accounting.payments.lineItemsRemoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1 -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.payments.lineItemsRemoteFieldClassesList({ +await client.accounting.payments.lineItemsRemoteFieldClassesList({ cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", includeDeletedData: true, includeRemoteData: true, @@ -15143,12 +14196,6 @@ let page = await client.accounting.payments.lineItemsRemoteFieldClassesList({ isCustom: true, pageSize: 1 }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -15302,7 +14349,7 @@ await client.accounting.payments.metaPostRetrieve();
-
client.accounting.payments.remoteFieldClassesList({ ...params }) -> core.Page +
client.accounting.payments.remoteFieldClassesList({ ...params }) -> Merge.PaginatedRemoteFieldClassList
@@ -15329,7 +14376,7 @@ Returns a list of `RemoteFieldClass` objects.
```typescript -const pageableResponse = await client.accounting.payments.remoteFieldClassesList({ +await client.accounting.payments.remoteFieldClassesList({ cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", includeDeletedData: true, includeRemoteData: true, @@ -15338,26 +14385,6 @@ const pageableResponse = await client.accounting.payments.remoteFieldClassesList isCustom: true, pageSize: 1 }); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.payments.remoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1 -}); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -15469,7 +14496,7 @@ await client.accounting.phoneNumbers.retrieve("id", {
## Accounting Projects -
client.accounting.projects.list({ ...params }) -> core.Page +
client.accounting.projects.list({ ...params }) -> Merge.PaginatedProjectList
@@ -15496,7 +14523,7 @@ Returns a list of `Project` objects.
```typescript -const pageableResponse = await client.accounting.projects.list({ +await client.accounting.projects.list({ companyId: "company_id", createdAfter: new Date("2024-01-15T09:30:00.000Z"), createdBefore: new Date("2024-01-15T09:30:00.000Z"), @@ -15509,30 +14536,6 @@ const pageableResponse = await client.accounting.projects.list({ pageSize: 1, remoteId: "remote_id" }); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.projects.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id" -}); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -15643,7 +14646,7 @@ await client.accounting.projects.retrieve("id", {
## Accounting PurchaseOrders -
client.accounting.purchaseOrders.list({ ...params }) -> core.Page +
client.accounting.purchaseOrders.list({ ...params }) -> Merge.PaginatedPurchaseOrderList
@@ -15670,30 +14673,7 @@ Returns a list of `PurchaseOrder` objects.
```typescript -const pageableResponse = await client.accounting.purchaseOrders.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - issueDateAfter: new Date("2024-01-15T09:30:00.000Z"), - issueDateBefore: new Date("2024-01-15T09:30:00.000Z"), - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteFields: "status", - remoteId: "remote_id", - showEnumOrigins: "status" -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.purchaseOrders.list({ +await client.accounting.purchaseOrders.list({ companyId: "company_id", createdAfter: new Date("2024-01-15T09:30:00.000Z"), createdBefore: new Date("2024-01-15T09:30:00.000Z"), @@ -15711,12 +14691,6 @@ let page = await client.accounting.purchaseOrders.list({ remoteId: "remote_id", showEnumOrigins: "status" }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -15896,7 +14870,7 @@ await client.accounting.purchaseOrders.retrieve("id", {
-
client.accounting.purchaseOrders.lineItemsRemoteFieldClassesList({ ...params }) -> core.Page +
client.accounting.purchaseOrders.lineItemsRemoteFieldClassesList({ ...params }) -> Merge.PaginatedRemoteFieldClassList
@@ -15923,7 +14897,7 @@ Returns a list of `RemoteFieldClass` objects.
```typescript -const pageableResponse = await client.accounting.purchaseOrders.lineItemsRemoteFieldClassesList({ +await client.accounting.purchaseOrders.lineItemsRemoteFieldClassesList({ cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", includeDeletedData: true, includeRemoteData: true, @@ -15932,26 +14906,6 @@ const pageableResponse = await client.accounting.purchaseOrders.lineItemsRemoteF isCustom: true, pageSize: 1 }); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.purchaseOrders.lineItemsRemoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1 -}); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -16042,7 +14996,7 @@ await client.accounting.purchaseOrders.metaPostRetrieve();
-
client.accounting.purchaseOrders.remoteFieldClassesList({ ...params }) -> core.Page +
client.accounting.purchaseOrders.remoteFieldClassesList({ ...params }) -> Merge.PaginatedRemoteFieldClassList
@@ -16069,21 +15023,7 @@ Returns a list of `RemoteFieldClass` objects.
```typescript -const pageableResponse = await client.accounting.purchaseOrders.remoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1 -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.purchaseOrders.remoteFieldClassesList({ +await client.accounting.purchaseOrders.remoteFieldClassesList({ cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", includeDeletedData: true, includeRemoteData: true, @@ -16092,12 +15032,6 @@ let page = await client.accounting.purchaseOrders.remoteFieldClassesList({ isCustom: true, pageSize: 1 }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -16200,7 +15134,7 @@ await client.accounting.regenerateKey.create({
## Accounting SalesOrders -
client.accounting.salesOrders.list({ ...params }) -> core.Page +
client.accounting.salesOrders.list({ ...params }) -> Merge.PaginatedSalesOrderList
@@ -16227,7 +15161,7 @@ Returns a list of `SalesOrder` objects.
```typescript -const pageableResponse = await client.accounting.salesOrders.list({ +await client.accounting.salesOrders.list({ companyId: "company_id", createdAfter: new Date("2024-01-15T09:30:00.000Z"), createdBefore: new Date("2024-01-15T09:30:00.000Z"), @@ -16245,35 +15179,6 @@ const pageableResponse = await client.accounting.salesOrders.list({ remoteId: "remote_id", showEnumOrigins: "status" }); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.salesOrders.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - issueDateAfter: new Date("2024-01-15T09:30:00.000Z"), - issueDateBefore: new Date("2024-01-15T09:30:00.000Z"), - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteFields: "status", - remoteId: "remote_id", - showEnumOrigins: "status" -}); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -16453,7 +15358,7 @@ await client.accounting.salesOrders.retrieve("id", {
-
client.accounting.salesOrders.asyncBulkCreate({ ...params }) -> Merge.AsyncBulkCreateResponse +
client.accounting.salesOrders.bulkCreate({ ...params }) -> Merge.AsyncBulkCreateResponse
@@ -16465,7 +15370,7 @@ await client.accounting.salesOrders.retrieve("id", {
-Creates a `SalesOrder` object with the given values. +Creates multiple `SalesOrder` objects with the given values.
@@ -16480,9 +15385,7 @@ Creates a `SalesOrder` object with the given values.
```typescript -await client.accounting.salesOrders.asyncBulkCreate({ - isDebugMode: true, - runAsync: true, +await client.accounting.salesOrders.bulkCreate({ batchItems: [{ itemId: "item_id", payload: {} @@ -16523,7 +15426,7 @@ await client.accounting.salesOrders.asyncBulkCreate({
-
client.accounting.salesOrders.batchObjectsList(batch_id, { ...params }) -> Merge.BatchObjectsResponse +
client.accounting.salesOrders.bulkRetrieve(batch_id) -> Merge.BatchObjectsResponse
@@ -16535,7 +15438,7 @@ await client.accounting.salesOrders.asyncBulkCreate({
-Returns a list of `SalesOrder` objects. +Returns the status and results of a `SalesOrder` bulk create batch.
@@ -16550,24 +15453,7 @@ Returns a list of `SalesOrder` objects.
```typescript -await client.accounting.salesOrders.batchObjectsList("batch_id", { - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - issueDateAfter: new Date("2024-01-15T09:30:00.000Z"), - issueDateBefore: new Date("2024-01-15T09:30:00.000Z"), - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteFields: "status", - remoteId: "remote_id", - showEnumOrigins: "status" -}); +await client.accounting.salesOrders.bulkRetrieve("batch_id"); ```
@@ -16591,14 +15477,6 @@ await client.accounting.salesOrders.batchObjectsList("batch_id", {
-**request:** `Merge.accounting.SalesOrdersBatchObjectsListRequest` - -
-
- -
-
- **requestOptions:** `SalesOrdersClient.RequestOptions`
@@ -16611,7 +15489,7 @@ await client.accounting.salesOrders.batchObjectsList("batch_id", {
-
client.accounting.salesOrders.linesRemoteFieldClassesList({ ...params }) -> core.Page +
client.accounting.salesOrders.linesRemoteFieldClassesList({ ...params }) -> Merge.PaginatedRemoteFieldClassList
@@ -16638,21 +15516,7 @@ Returns a list of `RemoteFieldClass` objects.
```typescript -const pageableResponse = await client.accounting.salesOrders.linesRemoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1 -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.salesOrders.linesRemoteFieldClassesList({ +await client.accounting.salesOrders.linesRemoteFieldClassesList({ cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", includeDeletedData: true, includeRemoteData: true, @@ -16661,12 +15525,6 @@ let page = await client.accounting.salesOrders.linesRemoteFieldClassesList({ isCustom: true, pageSize: 1 }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -16757,7 +15615,7 @@ await client.accounting.salesOrders.metaPostRetrieve();
-
client.accounting.salesOrders.remoteFieldClassesList({ ...params }) -> core.Page +
client.accounting.salesOrders.remoteFieldClassesList({ ...params }) -> Merge.PaginatedRemoteFieldClassList
@@ -16784,7 +15642,7 @@ Returns a list of `RemoteFieldClass` objects.
```typescript -const pageableResponse = await client.accounting.salesOrders.remoteFieldClassesList({ +await client.accounting.salesOrders.remoteFieldClassesList({ cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", includeDeletedData: true, includeRemoteData: true, @@ -16793,26 +15651,6 @@ const pageableResponse = await client.accounting.salesOrders.remoteFieldClassesL isCustom: true, pageSize: 1 }); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.salesOrders.remoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1 -}); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -16849,7 +15687,7 @@ const response = page.response;
## Accounting SyncStatus -
client.accounting.syncStatus.list({ ...params }) -> core.Page +
client.accounting.syncStatus.list({ ...params }) -> Merge.PaginatedSyncStatusList
@@ -16876,25 +15714,10 @@ Get sync status for the current sync and the most recently finished sync. `last_
```typescript -const pageableResponse = await client.accounting.syncStatus.list({ +await client.accounting.syncStatus.list({ cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", pageSize: 1 }); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.syncStatus.list({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - pageSize: 1 -}); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -16987,7 +15810,7 @@ await client.accounting.forceResync.syncStatusResyncCreate();
## Accounting TaxRates -
client.accounting.taxRates.list({ ...params }) -> core.Page +
client.accounting.taxRates.list({ ...params }) -> Merge.PaginatedTaxRateList
@@ -17014,7 +15837,7 @@ Returns a list of `TaxRate` objects.
```typescript -const pageableResponse = await client.accounting.taxRates.list({ +await client.accounting.taxRates.list({ companyId: "company_id", createdAfter: new Date("2024-01-15T09:30:00.000Z"), createdBefore: new Date("2024-01-15T09:30:00.000Z"), @@ -17028,31 +15851,6 @@ const pageableResponse = await client.accounting.taxRates.list({ pageSize: 1, remoteId: "remote_id" }); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.taxRates.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - name: "name", - pageSize: 1, - remoteId: "remote_id" -}); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -17163,7 +15961,7 @@ await client.accounting.taxRates.retrieve("id", {
## Accounting TrackingCategories -
client.accounting.trackingCategories.list({ ...params }) -> core.Page +
client.accounting.trackingCategories.list({ ...params }) -> Merge.PaginatedTrackingCategoryList
@@ -17190,7 +15988,7 @@ Returns a list of `TrackingCategory` objects.
```typescript -const pageableResponse = await client.accounting.trackingCategories.list({ +await client.accounting.trackingCategories.list({ categoryType: "", companyId: "company_id", createdAfter: new Date("2024-01-15T09:30:00.000Z"), @@ -17208,35 +16006,6 @@ const pageableResponse = await client.accounting.trackingCategories.list({ showEnumOrigins: "status", status: "" }); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.trackingCategories.list({ - categoryType: "", - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - name: "name", - pageSize: 1, - remoteFields: "status", - remoteId: "remote_id", - showEnumOrigins: "status", - status: "" -}); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -17349,7 +16118,7 @@ await client.accounting.trackingCategories.retrieve("id", {
## Accounting Transactions -
client.accounting.transactions.list({ ...params }) -> core.Page +
client.accounting.transactions.list({ ...params }) -> Merge.PaginatedTransactionList
@@ -17376,7 +16145,7 @@ Returns a list of `Transaction` objects.
```typescript -const pageableResponse = await client.accounting.transactions.list({ +await client.accounting.transactions.list({ companyId: "company_id", createdAfter: new Date("2024-01-15T09:30:00.000Z"), createdBefore: new Date("2024-01-15T09:30:00.000Z"), @@ -17391,32 +16160,6 @@ const pageableResponse = await client.accounting.transactions.list({ transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), transactionDateBefore: new Date("2024-01-15T09:30:00.000Z") }); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.transactions.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id", - transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), - transactionDateBefore: new Date("2024-01-15T09:30:00.000Z") -}); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -17527,7 +16270,7 @@ await client.accounting.transactions.retrieve("id", {
## Accounting VendorCredits -
client.accounting.vendorCredits.list({ ...params }) -> core.Page +
client.accounting.vendorCredits.list({ ...params }) -> Merge.PaginatedVendorCreditList
@@ -17554,7 +16297,7 @@ Returns a list of `VendorCredit` objects.
```typescript -const pageableResponse = await client.accounting.vendorCredits.list({ +await client.accounting.vendorCredits.list({ companyId: "company_id", createdAfter: new Date("2024-01-15T09:30:00.000Z"), createdBefore: new Date("2024-01-15T09:30:00.000Z"), @@ -17569,32 +16312,6 @@ const pageableResponse = await client.accounting.vendorCredits.list({ transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), transactionDateBefore: new Date("2024-01-15T09:30:00.000Z") }); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.accounting.vendorCredits.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id", - transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), - transactionDateBefore: new Date("2024-01-15T09:30:00.000Z") -}); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
diff --git a/src/api/resources/accounting/resources/accountingPeriods/client/Client.ts b/src/api/resources/accounting/resources/accountingPeriods/client/Client.ts index b0f55ae2c..20bae4385 100644 --- a/src/api/resources/accounting/resources/accountingPeriods/client/Client.ts +++ b/src/api/resources/accounting/resources/accountingPeriods/client/Client.ts @@ -38,85 +38,75 @@ export class AccountingPeriodsClient { * pageSize: 1 * }) */ - public async list( + public list( request: Merge.accounting.AccountingPeriodsListRequest = {}, requestOptions?: AccountingPeriodsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.AccountingPeriodsListRequest, - ): Promise> => { - const { cursor, includeDeletedData, includeRemoteData, includeShellData, pageSize } = request; - const _queryParams: Record = { - cursor, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - page_size: pageSize, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/accounting-periods", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedAccountingPeriodList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/accounting-periods", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.AccountingPeriodsListRequest = {}, + requestOptions?: AccountingPeriodsClient.RequestOptions, + ): Promise> { + const { cursor, includeDeletedData, includeRemoteData, includeShellData, pageSize } = request; + const _queryParams: Record = { + cursor, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + page_size: pageSize, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/accounting-periods", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedAccountingPeriodList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/accounting-periods", + ); } /** diff --git a/src/api/resources/accounting/resources/accounts/client/Client.ts b/src/api/resources/accounting/resources/accounts/client/Client.ts index a01b01edc..0e4e1af92 100644 --- a/src/api/resources/accounting/resources/accounts/client/Client.ts +++ b/src/api/resources/accounting/resources/accounts/client/Client.ts @@ -50,137 +50,122 @@ export class AccountsClient { * status: "" * }) */ - public async list( + public list( request: Merge.accounting.AccountsListRequest = {}, requestOptions?: AccountsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.AccountsListRequest, - ): Promise> => { - const { - accountType, - classification, - companyId, - createdAfter, - createdBefore, - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeShellData, - modifiedAfter, - modifiedBefore, - name, - pageSize, - remoteFields, - remoteId, - showEnumOrigins, - status, - } = request; - const _queryParams: Record = { - account_type: accountType, - classification: - classification != null - ? serializers.accounting.AccountsListRequestClassification.jsonOrThrow(classification, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - company_id: companyId, - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - expand: Array.isArray(expand) ? expand.map((item) => item) : expand != null ? expand : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - name, - page_size: pageSize, - remote_fields: - remoteFields != null - ? serializers.accounting.AccountsListRequestRemoteFields.jsonOrThrow(remoteFields, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - remote_id: remoteId, - show_enum_origins: - showEnumOrigins != null - ? serializers.accounting.AccountsListRequestShowEnumOrigins.jsonOrThrow(showEnumOrigins, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - status: - status != null - ? serializers.accounting.AccountsListRequestStatus.jsonOrThrow(status, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/accounts", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedAccountList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/accounts", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.AccountsListRequest = {}, + requestOptions?: AccountsClient.RequestOptions, + ): Promise> { + const { + accountType, + classification, + companyId, + createdAfter, + createdBefore, + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeShellData, + modifiedAfter, + modifiedBefore, + name, + pageSize, + remoteFields, + remoteId, + showEnumOrigins, + status, + } = request; + const _queryParams: Record = { + account_type: accountType, + classification: + classification != null + ? serializers.accounting.AccountsListRequestClassification.jsonOrThrow(classification, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + company_id: companyId, + created_after: createdAfter?.toISOString(), + created_before: createdBefore?.toISOString(), + cursor, + expand: Array.isArray(expand) ? expand.map((item) => item) : expand != null ? expand : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + modified_after: modifiedAfter?.toISOString(), + modified_before: modifiedBefore?.toISOString(), + name, + page_size: pageSize, + remote_fields: + remoteFields != null + ? serializers.accounting.AccountsListRequestRemoteFields.jsonOrThrow(remoteFields, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + remote_id: remoteId, + show_enum_origins: + showEnumOrigins != null + ? serializers.accounting.AccountsListRequestShowEnumOrigins.jsonOrThrow(showEnumOrigins, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + status: + status != null + ? serializers.accounting.AccountsListRequestStatus.jsonOrThrow(status, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/accounts", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedAccountList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/accounting/v1/accounts"); } /** diff --git a/src/api/resources/accounting/resources/attachments/client/Client.ts b/src/api/resources/accounting/resources/attachments/client/Client.ts index a6915c2f1..7e527d8e8 100644 --- a/src/api/resources/accounting/resources/attachments/client/Client.ts +++ b/src/api/resources/accounting/resources/attachments/client/Client.ts @@ -44,105 +44,88 @@ export class AttachmentsClient { * remoteId: "remote_id" * }) */ - public async list( + public list( request: Merge.accounting.AttachmentsListRequest = {}, requestOptions?: AttachmentsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.AttachmentsListRequest, - ): Promise> => { - const { - companyId, - createdAfter, - createdBefore, - cursor, - includeDeletedData, - includeRemoteData, - includeShellData, - modifiedAfter, - modifiedBefore, - pageSize, - remoteId, - } = request; - const _queryParams: Record = { - company_id: companyId, - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - page_size: pageSize, - remote_id: remoteId, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/attachments", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedAccountingAttachmentList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/attachments", - ); - }, - ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page( - { - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.AttachmentsListRequest = {}, + requestOptions?: AttachmentsClient.RequestOptions, + ): Promise> { + const { + companyId, + createdAfter, + createdBefore, + cursor, + includeDeletedData, + includeRemoteData, + includeShellData, + modifiedAfter, + modifiedBefore, + pageSize, + remoteId, + } = request; + const _queryParams: Record = { + company_id: companyId, + created_after: createdAfter?.toISOString(), + created_before: createdBefore?.toISOString(), + cursor, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + modified_after: modifiedAfter?.toISOString(), + modified_before: modifiedBefore?.toISOString(), + page_size: pageSize, + remote_id: remoteId, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/attachments", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedAccountingAttachmentList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/accounting/v1/attachments"); } /** diff --git a/src/api/resources/accounting/resources/auditTrail/client/Client.ts b/src/api/resources/accounting/resources/auditTrail/client/Client.ts index 0f12c41fd..f71839bfa 100644 --- a/src/api/resources/accounting/resources/auditTrail/client/Client.ts +++ b/src/api/resources/accounting/resources/auditTrail/client/Client.ts @@ -39,85 +39,70 @@ export class AuditTrailClient { * userEmail: "user_email" * }) */ - public async list( + public list( request: Merge.accounting.AuditTrailListRequest = {}, requestOptions?: AuditTrailClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.AuditTrailListRequest, - ): Promise> => { - const { cursor, endDate, eventType, pageSize, startDate, userEmail } = request; - const _queryParams: Record = { - cursor, - end_date: endDate, - event_type: eventType, - page_size: pageSize, - start_date: startDate, - user_email: userEmail, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/audit-trail", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedAuditLogEventList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/audit-trail", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.AuditTrailListRequest = {}, + requestOptions?: AuditTrailClient.RequestOptions, + ): Promise> { + const { cursor, endDate, eventType, pageSize, startDate, userEmail } = request; + const _queryParams: Record = { + cursor, + end_date: endDate, + event_type: eventType, + page_size: pageSize, + start_date: startDate, + user_email: userEmail, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/audit-trail", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedAuditLogEventList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/accounting/v1/audit-trail"); } } diff --git a/src/api/resources/accounting/resources/balanceSheets/client/Client.ts b/src/api/resources/accounting/resources/balanceSheets/client/Client.ts index 98268e15b..1de3bd1f7 100644 --- a/src/api/resources/accounting/resources/balanceSheets/client/Client.ts +++ b/src/api/resources/accounting/resources/balanceSheets/client/Client.ts @@ -44,105 +44,90 @@ export class BalanceSheetsClient { * remoteId: "remote_id" * }) */ - public async list( + public list( request: Merge.accounting.BalanceSheetsListRequest = {}, requestOptions?: BalanceSheetsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.BalanceSheetsListRequest, - ): Promise> => { - const { - companyId, - createdAfter, - createdBefore, - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeShellData, - modifiedAfter, - modifiedBefore, - pageSize, - remoteId, - } = request; - const _queryParams: Record = { - company_id: companyId, - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - expand: Array.isArray(expand) ? expand.map((item) => item) : expand != null ? expand : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - page_size: pageSize, - remote_id: remoteId, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/balance-sheets", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedBalanceSheetList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/balance-sheets", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.BalanceSheetsListRequest = {}, + requestOptions?: BalanceSheetsClient.RequestOptions, + ): Promise> { + const { + companyId, + createdAfter, + createdBefore, + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeShellData, + modifiedAfter, + modifiedBefore, + pageSize, + remoteId, + } = request; + const _queryParams: Record = { + company_id: companyId, + created_after: createdAfter?.toISOString(), + created_before: createdBefore?.toISOString(), + cursor, + expand: Array.isArray(expand) ? expand.map((item) => item) : expand != null ? expand : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + modified_after: modifiedAfter?.toISOString(), + modified_before: modifiedBefore?.toISOString(), + page_size: pageSize, + remote_id: remoteId, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/balance-sheets", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedBalanceSheetList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/accounting/v1/balance-sheets"); } /** diff --git a/src/api/resources/accounting/resources/bankFeedAccounts/client/Client.ts b/src/api/resources/accounting/resources/bankFeedAccounts/client/Client.ts index 8a483e798..e307789f3 100644 --- a/src/api/resources/accounting/resources/bankFeedAccounts/client/Client.ts +++ b/src/api/resources/accounting/resources/bankFeedAccounts/client/Client.ts @@ -38,85 +38,75 @@ export class BankFeedAccountsClient { * pageSize: 1 * }) */ - public async list( + public list( request: Merge.accounting.BankFeedAccountsListRequest = {}, requestOptions?: BankFeedAccountsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.BankFeedAccountsListRequest, - ): Promise> => { - const { cursor, includeDeletedData, includeRemoteData, includeShellData, pageSize } = request; - const _queryParams: Record = { - cursor, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - page_size: pageSize, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/bank-feed-accounts", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedBankFeedAccountList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/bank-feed-accounts", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.BankFeedAccountsListRequest = {}, + requestOptions?: BankFeedAccountsClient.RequestOptions, + ): Promise> { + const { cursor, includeDeletedData, includeRemoteData, includeShellData, pageSize } = request; + const _queryParams: Record = { + cursor, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + page_size: pageSize, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/bank-feed-accounts", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedBankFeedAccountList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/bank-feed-accounts", + ); } /** diff --git a/src/api/resources/accounting/resources/bankFeedTransactions/client/Client.ts b/src/api/resources/accounting/resources/bankFeedTransactions/client/Client.ts index aeaac3bff..c44423a85 100644 --- a/src/api/resources/accounting/resources/bankFeedTransactions/client/Client.ts +++ b/src/api/resources/accounting/resources/bankFeedTransactions/client/Client.ts @@ -44,105 +44,95 @@ export class BankFeedTransactionsClient { * remoteId: "remote_id" * }) */ - public async list( + public list( request: Merge.accounting.BankFeedTransactionsListRequest = {}, requestOptions?: BankFeedTransactionsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.BankFeedTransactionsListRequest, - ): Promise> => { - const { - createdAfter, - createdBefore, - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeShellData, - isProcessed, - modifiedAfter, - modifiedBefore, - pageSize, - remoteId, - } = request; - const _queryParams: Record = { - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - expand: Array.isArray(expand) ? expand.map((item) => item) : expand != null ? expand : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - is_processed: isProcessed, - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - page_size: pageSize, - remote_id: remoteId, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/bank-feed-transactions", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedBankFeedTransactionList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/bank-feed-transactions", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.BankFeedTransactionsListRequest = {}, + requestOptions?: BankFeedTransactionsClient.RequestOptions, + ): Promise> { + const { + createdAfter, + createdBefore, + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeShellData, + isProcessed, + modifiedAfter, + modifiedBefore, + pageSize, + remoteId, + } = request; + const _queryParams: Record = { + created_after: createdAfter?.toISOString(), + created_before: createdBefore?.toISOString(), + cursor, + expand: Array.isArray(expand) ? expand.map((item) => item) : expand != null ? expand : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + is_processed: isProcessed, + modified_after: modifiedAfter?.toISOString(), + modified_before: modifiedBefore?.toISOString(), + page_size: pageSize, + remote_id: remoteId, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/bank-feed-transactions", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedBankFeedTransactionList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/bank-feed-transactions", + ); } /** diff --git a/src/api/resources/accounting/resources/cashFlowStatements/client/Client.ts b/src/api/resources/accounting/resources/cashFlowStatements/client/Client.ts index ea7b6ed58..9f3aad2fb 100644 --- a/src/api/resources/accounting/resources/cashFlowStatements/client/Client.ts +++ b/src/api/resources/accounting/resources/cashFlowStatements/client/Client.ts @@ -44,105 +44,95 @@ export class CashFlowStatementsClient { * remoteId: "remote_id" * }) */ - public async list( + public list( request: Merge.accounting.CashFlowStatementsListRequest = {}, requestOptions?: CashFlowStatementsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.CashFlowStatementsListRequest, - ): Promise> => { - const { - companyId, - createdAfter, - createdBefore, - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeShellData, - modifiedAfter, - modifiedBefore, - pageSize, - remoteId, - } = request; - const _queryParams: Record = { - company_id: companyId, - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - expand: Array.isArray(expand) ? expand.map((item) => item) : expand != null ? expand : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - page_size: pageSize, - remote_id: remoteId, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/cash-flow-statements", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedCashFlowStatementList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/cash-flow-statements", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.CashFlowStatementsListRequest = {}, + requestOptions?: CashFlowStatementsClient.RequestOptions, + ): Promise> { + const { + companyId, + createdAfter, + createdBefore, + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeShellData, + modifiedAfter, + modifiedBefore, + pageSize, + remoteId, + } = request; + const _queryParams: Record = { + company_id: companyId, + created_after: createdAfter?.toISOString(), + created_before: createdBefore?.toISOString(), + cursor, + expand: Array.isArray(expand) ? expand.map((item) => item) : expand != null ? expand : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + modified_after: modifiedAfter?.toISOString(), + modified_before: modifiedBefore?.toISOString(), + page_size: pageSize, + remote_id: remoteId, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/cash-flow-statements", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedCashFlowStatementList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/cash-flow-statements", + ); } /** diff --git a/src/api/resources/accounting/resources/companyInfo/client/Client.ts b/src/api/resources/accounting/resources/companyInfo/client/Client.ts index c2aff21dd..21a663399 100644 --- a/src/api/resources/accounting/resources/companyInfo/client/Client.ts +++ b/src/api/resources/accounting/resources/companyInfo/client/Client.ts @@ -44,115 +44,100 @@ export class CompanyInfoClient { * remoteId: "remote_id" * }) */ - public async list( + public list( request: Merge.accounting.CompanyInfoListRequest = {}, requestOptions?: CompanyInfoClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.CompanyInfoListRequest, - ): Promise> => { - const { - createdAfter, - createdBefore, - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeShellData, - modifiedAfter, - modifiedBefore, - name, - pageSize, - remoteId, - } = request; - const _queryParams: Record = { - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - expand: Array.isArray(expand) - ? expand.map((item) => - serializers.accounting.CompanyInfoListRequestExpandItem.jsonOrThrow(item, { - unrecognizedObjectKeys: "strip", - }), - ) - : expand != null - ? serializers.accounting.CompanyInfoListRequestExpandItem.jsonOrThrow(expand, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - name, - page_size: pageSize, - remote_id: remoteId, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/company-info", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedCompanyInfoList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/company-info", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.CompanyInfoListRequest = {}, + requestOptions?: CompanyInfoClient.RequestOptions, + ): Promise> { + const { + createdAfter, + createdBefore, + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeShellData, + modifiedAfter, + modifiedBefore, + name, + pageSize, + remoteId, + } = request; + const _queryParams: Record = { + created_after: createdAfter?.toISOString(), + created_before: createdBefore?.toISOString(), + cursor, + expand: Array.isArray(expand) + ? expand.map((item) => + serializers.accounting.CompanyInfoListRequestExpandItem.jsonOrThrow(item, { + unrecognizedObjectKeys: "strip", + }), + ) + : expand != null + ? serializers.accounting.CompanyInfoListRequestExpandItem.jsonOrThrow(expand, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + modified_after: modifiedAfter?.toISOString(), + modified_before: modifiedBefore?.toISOString(), + name, + page_size: pageSize, + remote_id: remoteId, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/company-info", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedCompanyInfoList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/accounting/v1/company-info"); } /** diff --git a/src/api/resources/accounting/resources/contacts/client/Client.ts b/src/api/resources/accounting/resources/contacts/client/Client.ts index 79ac1e728..1b4b4c019 100644 --- a/src/api/resources/accounting/resources/contacts/client/Client.ts +++ b/src/api/resources/accounting/resources/contacts/client/Client.ts @@ -52,136 +52,121 @@ export class ContactsClient { * status: "" * }) */ - public async list( + public list( request: Merge.accounting.ContactsListRequest = {}, requestOptions?: ContactsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.ContactsListRequest, - ): Promise> => { - const { - companyId, - createdAfter, - createdBefore, - cursor, - emailAddress, - expand, - includeDeletedData, - includeRemoteData, - includeRemoteFields, - includeShellData, - isCustomer, - isSupplier, - modifiedAfter, - modifiedBefore, - name, - pageSize, - remoteFields, - remoteId, - showEnumOrigins, - status, - } = request; - const _queryParams: Record = { - company_id: companyId, - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - email_address: emailAddress, - expand: Array.isArray(expand) - ? expand.map((item) => - serializers.accounting.ContactsListRequestExpandItem.jsonOrThrow(item, { - unrecognizedObjectKeys: "strip", - }), - ) - : expand != null - ? serializers.accounting.ContactsListRequestExpandItem.jsonOrThrow(expand, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_remote_fields: includeRemoteFields, - include_shell_data: includeShellData, - is_customer: isCustomer, - is_supplier: isSupplier, - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - name, - page_size: pageSize, - remote_fields: remoteFields != null ? remoteFields : undefined, - remote_id: remoteId, - show_enum_origins: showEnumOrigins != null ? showEnumOrigins : undefined, - status: - status != null - ? serializers.accounting.ContactsListRequestStatus.jsonOrThrow(status, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/contacts", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedContactList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/contacts", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.ContactsListRequest = {}, + requestOptions?: ContactsClient.RequestOptions, + ): Promise> { + const { + companyId, + createdAfter, + createdBefore, + cursor, + emailAddress, + expand, + includeDeletedData, + includeRemoteData, + includeRemoteFields, + includeShellData, + isCustomer, + isSupplier, + modifiedAfter, + modifiedBefore, + name, + pageSize, + remoteFields, + remoteId, + showEnumOrigins, + status, + } = request; + const _queryParams: Record = { + company_id: companyId, + created_after: createdAfter?.toISOString(), + created_before: createdBefore?.toISOString(), + cursor, + email_address: emailAddress, + expand: Array.isArray(expand) + ? expand.map((item) => + serializers.accounting.ContactsListRequestExpandItem.jsonOrThrow(item, { + unrecognizedObjectKeys: "strip", + }), + ) + : expand != null + ? serializers.accounting.ContactsListRequestExpandItem.jsonOrThrow(expand, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_remote_fields: includeRemoteFields, + include_shell_data: includeShellData, + is_customer: isCustomer, + is_supplier: isSupplier, + modified_after: modifiedAfter?.toISOString(), + modified_before: modifiedBefore?.toISOString(), + name, + page_size: pageSize, + remote_fields: remoteFields != null ? remoteFields : undefined, + remote_id: remoteId, + show_enum_origins: showEnumOrigins != null ? showEnumOrigins : undefined, + status: + status != null + ? serializers.accounting.ContactsListRequestStatus.jsonOrThrow(status, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/contacts", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedContactList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/accounting/v1/contacts"); } /** @@ -606,94 +591,84 @@ export class ContactsClient { * pageSize: 1 * }) */ - public async remoteFieldClassesList( + public remoteFieldClassesList( + request: Merge.accounting.ContactsRemoteFieldClassesListRequest = {}, + requestOptions?: ContactsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__remoteFieldClassesList(request, requestOptions)); + } + + private async __remoteFieldClassesList( request: Merge.accounting.ContactsRemoteFieldClassesListRequest = {}, requestOptions?: ContactsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.ContactsRemoteFieldClassesListRequest, - ): Promise> => { - const { - cursor, - includeDeletedData, - includeRemoteData, - includeShellData, - isCommonModelField, - isCustom, - pageSize, - } = request; - const _queryParams: Record = { - cursor, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - is_common_model_field: isCommonModelField, - is_custom: isCustom, - page_size: pageSize, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/contacts/remote-field-classes", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/contacts/remote-field-classes", - ); - }, + ): Promise> { + const { + cursor, + includeDeletedData, + includeRemoteData, + includeShellData, + isCommonModelField, + isCustom, + pageSize, + } = request; + const _queryParams: Record = { + cursor, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + is_common_model_field: isCommonModelField, + is_custom: isCustom, + page_size: pageSize, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/contacts/remote-field-classes", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/contacts/remote-field-classes", + ); } } diff --git a/src/api/resources/accounting/resources/creditNotes/client/Client.ts b/src/api/resources/accounting/resources/creditNotes/client/Client.ts index d79af67d6..384c1e3e2 100644 --- a/src/api/resources/accounting/resources/creditNotes/client/Client.ts +++ b/src/api/resources/accounting/resources/creditNotes/client/Client.ts @@ -48,134 +48,118 @@ export class CreditNotesClient { * transactionDateBefore: new Date("2024-01-15T09:30:00.000Z") * }) */ - public async list( + public list( request: Merge.accounting.CreditNotesListRequest = {}, requestOptions?: CreditNotesClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.CreditNotesListRequest, - ): Promise> => { - const { - companyId, - createdAfter, - createdBefore, - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeShellData, - modifiedAfter, - modifiedBefore, - pageSize, - remoteFields, - remoteId, - showEnumOrigins, - transactionDateAfter, - transactionDateBefore, - } = request; - const _queryParams: Record = { - company_id: companyId, - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - expand: Array.isArray(expand) - ? expand.map((item) => - serializers.accounting.CreditNotesListRequestExpandItem.jsonOrThrow(item, { - unrecognizedObjectKeys: "strip", - }), - ) - : expand != null - ? serializers.accounting.CreditNotesListRequestExpandItem.jsonOrThrow(expand, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - page_size: pageSize, - remote_fields: - remoteFields != null - ? serializers.accounting.CreditNotesListRequestRemoteFields.jsonOrThrow(remoteFields, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - remote_id: remoteId, - show_enum_origins: - showEnumOrigins != null - ? serializers.accounting.CreditNotesListRequestShowEnumOrigins.jsonOrThrow( - showEnumOrigins, - { unrecognizedObjectKeys: "strip" }, - ) - : undefined, - transaction_date_after: transactionDateAfter?.toISOString(), - transaction_date_before: transactionDateBefore?.toISOString(), - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/credit-notes", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedCreditNoteList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/credit-notes", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.CreditNotesListRequest = {}, + requestOptions?: CreditNotesClient.RequestOptions, + ): Promise> { + const { + companyId, + createdAfter, + createdBefore, + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeShellData, + modifiedAfter, + modifiedBefore, + pageSize, + remoteFields, + remoteId, + showEnumOrigins, + transactionDateAfter, + transactionDateBefore, + } = request; + const _queryParams: Record = { + company_id: companyId, + created_after: createdAfter?.toISOString(), + created_before: createdBefore?.toISOString(), + cursor, + expand: Array.isArray(expand) + ? expand.map((item) => + serializers.accounting.CreditNotesListRequestExpandItem.jsonOrThrow(item, { + unrecognizedObjectKeys: "strip", + }), + ) + : expand != null + ? serializers.accounting.CreditNotesListRequestExpandItem.jsonOrThrow(expand, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + modified_after: modifiedAfter?.toISOString(), + modified_before: modifiedBefore?.toISOString(), + page_size: pageSize, + remote_fields: + remoteFields != null + ? serializers.accounting.CreditNotesListRequestRemoteFields.jsonOrThrow(remoteFields, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + remote_id: remoteId, + show_enum_origins: + showEnumOrigins != null + ? serializers.accounting.CreditNotesListRequestShowEnumOrigins.jsonOrThrow(showEnumOrigins, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + transaction_date_after: transactionDateAfter?.toISOString(), + transaction_date_before: transactionDateBefore?.toISOString(), + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/credit-notes", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedCreditNoteList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/accounting/v1/credit-notes"); } /** diff --git a/src/api/resources/accounting/resources/employees/client/Client.ts b/src/api/resources/accounting/resources/employees/client/Client.ts index 0cba7b96e..44b0038d9 100644 --- a/src/api/resources/accounting/resources/employees/client/Client.ts +++ b/src/api/resources/accounting/resources/employees/client/Client.ts @@ -44,105 +44,90 @@ export class EmployeesClient { * remoteId: "remote_id" * }) */ - public async list( + public list( request: Merge.accounting.EmployeesListRequest = {}, requestOptions?: EmployeesClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.EmployeesListRequest, - ): Promise> => { - const { - companyId, - createdAfter, - createdBefore, - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeShellData, - modifiedAfter, - modifiedBefore, - pageSize, - remoteId, - } = request; - const _queryParams: Record = { - company_id: companyId, - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - expand: Array.isArray(expand) ? expand.map((item) => item) : expand != null ? expand : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - page_size: pageSize, - remote_id: remoteId, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/employees", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedEmployeeList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/employees", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.EmployeesListRequest = {}, + requestOptions?: EmployeesClient.RequestOptions, + ): Promise> { + const { + companyId, + createdAfter, + createdBefore, + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeShellData, + modifiedAfter, + modifiedBefore, + pageSize, + remoteId, + } = request; + const _queryParams: Record = { + company_id: companyId, + created_after: createdAfter?.toISOString(), + created_before: createdBefore?.toISOString(), + cursor, + expand: Array.isArray(expand) ? expand.map((item) => item) : expand != null ? expand : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + modified_after: modifiedAfter?.toISOString(), + modified_before: modifiedBefore?.toISOString(), + page_size: pageSize, + remote_id: remoteId, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/employees", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedEmployeeList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/accounting/v1/employees"); } /** diff --git a/src/api/resources/accounting/resources/expenseReports/client/Client.ts b/src/api/resources/accounting/resources/expenseReports/client/Client.ts index beec8752f..3a9cf2c32 100644 --- a/src/api/resources/accounting/resources/expenseReports/client/Client.ts +++ b/src/api/resources/accounting/resources/expenseReports/client/Client.ts @@ -45,117 +45,107 @@ export class ExpenseReportsClient { * remoteId: "remote_id" * }) */ - public async list( + public list( request: Merge.accounting.ExpenseReportsListRequest = {}, requestOptions?: ExpenseReportsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.ExpenseReportsListRequest, - ): Promise> => { - const { - companyId, - createdAfter, - createdBefore, - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeRemoteFields, - includeShellData, - modifiedAfter, - modifiedBefore, - pageSize, - remoteId, - } = request; - const _queryParams: Record = { - company_id: companyId, - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - expand: Array.isArray(expand) - ? expand.map((item) => - serializers.accounting.ExpenseReportsListRequestExpandItem.jsonOrThrow(item, { - unrecognizedObjectKeys: "strip", - }), - ) - : expand != null - ? serializers.accounting.ExpenseReportsListRequestExpandItem.jsonOrThrow(expand, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_remote_fields: includeRemoteFields, - include_shell_data: includeShellData, - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - page_size: pageSize, - remote_id: remoteId, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/expense-reports", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedExpenseReportList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/expense-reports", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.ExpenseReportsListRequest = {}, + requestOptions?: ExpenseReportsClient.RequestOptions, + ): Promise> { + const { + companyId, + createdAfter, + createdBefore, + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeRemoteFields, + includeShellData, + modifiedAfter, + modifiedBefore, + pageSize, + remoteId, + } = request; + const _queryParams: Record = { + company_id: companyId, + created_after: createdAfter?.toISOString(), + created_before: createdBefore?.toISOString(), + cursor, + expand: Array.isArray(expand) + ? expand.map((item) => + serializers.accounting.ExpenseReportsListRequestExpandItem.jsonOrThrow(item, { + unrecognizedObjectKeys: "strip", + }), + ) + : expand != null + ? serializers.accounting.ExpenseReportsListRequestExpandItem.jsonOrThrow(expand, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_remote_fields: includeRemoteFields, + include_shell_data: includeShellData, + modified_after: modifiedAfter?.toISOString(), + modified_before: modifiedBefore?.toISOString(), + page_size: pageSize, + remote_id: remoteId, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/expense-reports", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedExpenseReportList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/expense-reports", + ); } /** @@ -263,106 +253,97 @@ export class ExpenseReportsClient { * pageSize: 1 * }) */ - public async linesList( + public linesList( expense_report_id: string, request: Merge.accounting.ExpenseReportsLinesListRequest = {}, requestOptions?: ExpenseReportsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.ExpenseReportsLinesListRequest, - ): Promise> => { - const { - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeRemoteFields, - includeShellData, - pageSize, - } = request; - const _queryParams: Record = { - cursor, - expand: Array.isArray(expand) - ? expand.map((item) => - serializers.accounting.ExpenseReportsLinesListRequestExpandItem.jsonOrThrow(item, { - unrecognizedObjectKeys: "strip", - }), - ) - : expand != null - ? serializers.accounting.ExpenseReportsLinesListRequestExpandItem.jsonOrThrow(expand, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_remote_fields: includeRemoteFields, - include_shell_data: includeShellData, - page_size: pageSize, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - `accounting/v1/expense-reports/${core.url.encodePathParam(expense_report_id)}/lines`, - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedExpenseReportLineList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/expense-reports/{expense_report_id}/lines", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__linesList(expense_report_id, request, requestOptions)); + } + + private async __linesList( + expense_report_id: string, + request: Merge.accounting.ExpenseReportsLinesListRequest = {}, + requestOptions?: ExpenseReportsClient.RequestOptions, + ): Promise> { + const { + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeRemoteFields, + includeShellData, + pageSize, + } = request; + const _queryParams: Record = { + cursor, + expand: Array.isArray(expand) + ? expand.map((item) => + serializers.accounting.ExpenseReportsLinesListRequestExpandItem.jsonOrThrow(item, { + unrecognizedObjectKeys: "strip", + }), + ) + : expand != null + ? serializers.accounting.ExpenseReportsLinesListRequestExpandItem.jsonOrThrow(expand, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_remote_fields: includeRemoteFields, + include_shell_data: includeShellData, + page_size: pageSize, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + `accounting/v1/expense-reports/${core.url.encodePathParam(expense_report_id)}/lines`, + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedExpenseReportLineList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/expense-reports/{expense_report_id}/lines", + ); } /** @@ -478,95 +459,85 @@ export class ExpenseReportsClient { * pageSize: 1 * }) */ - public async linesRemoteFieldClassesList( + public linesRemoteFieldClassesList( + request: Merge.accounting.ExpenseReportsLinesRemoteFieldClassesListRequest = {}, + requestOptions?: ExpenseReportsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__linesRemoteFieldClassesList(request, requestOptions)); + } + + private async __linesRemoteFieldClassesList( request: Merge.accounting.ExpenseReportsLinesRemoteFieldClassesListRequest = {}, requestOptions?: ExpenseReportsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.ExpenseReportsLinesRemoteFieldClassesListRequest, - ): Promise> => { - const { - cursor, - includeDeletedData, - includeRemoteData, - includeShellData, - isCommonModelField, - isCustom, - pageSize, - } = request; - const _queryParams: Record = { - cursor, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - is_common_model_field: isCommonModelField, - is_custom: isCustom, - page_size: pageSize, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/expense-reports/lines/remote-field-classes", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/expense-reports/lines/remote-field-classes", - ); - }, + ): Promise> { + const { + cursor, + includeDeletedData, + includeRemoteData, + includeShellData, + isCommonModelField, + isCustom, + pageSize, + } = request; + const _queryParams: Record = { + cursor, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + is_common_model_field: isCommonModelField, + is_custom: isCustom, + page_size: pageSize, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/expense-reports/lines/remote-field-classes", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/expense-reports/lines/remote-field-classes", + ); } /** @@ -655,94 +626,84 @@ export class ExpenseReportsClient { * pageSize: 1 * }) */ - public async remoteFieldClassesList( + public remoteFieldClassesList( request: Merge.accounting.ExpenseReportsRemoteFieldClassesListRequest = {}, requestOptions?: ExpenseReportsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.ExpenseReportsRemoteFieldClassesListRequest, - ): Promise> => { - const { - cursor, - includeDeletedData, - includeRemoteData, - includeShellData, - isCommonModelField, - isCustom, - pageSize, - } = request; - const _queryParams: Record = { - cursor, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - is_common_model_field: isCommonModelField, - is_custom: isCustom, - page_size: pageSize, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/expense-reports/remote-field-classes", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/expense-reports/remote-field-classes", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__remoteFieldClassesList(request, requestOptions)); + } + + private async __remoteFieldClassesList( + request: Merge.accounting.ExpenseReportsRemoteFieldClassesListRequest = {}, + requestOptions?: ExpenseReportsClient.RequestOptions, + ): Promise> { + const { + cursor, + includeDeletedData, + includeRemoteData, + includeShellData, + isCommonModelField, + isCustom, + pageSize, + } = request; + const _queryParams: Record = { + cursor, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + is_common_model_field: isCommonModelField, + is_custom: isCustom, + page_size: pageSize, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/expense-reports/remote-field-classes", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/expense-reports/remote-field-classes", + ); } } diff --git a/src/api/resources/accounting/resources/expenses/client/Client.ts b/src/api/resources/accounting/resources/expenses/client/Client.ts index 0d2409e50..5df66422f 100644 --- a/src/api/resources/accounting/resources/expenses/client/Client.ts +++ b/src/api/resources/accounting/resources/expenses/client/Client.ts @@ -47,121 +47,106 @@ export class ExpensesClient { * transactionDateBefore: new Date("2024-01-15T09:30:00.000Z") * }) */ - public async list( + public list( request: Merge.accounting.ExpensesListRequest = {}, requestOptions?: ExpensesClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.ExpensesListRequest, - ): Promise> => { - const { - companyId, - createdAfter, - createdBefore, - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeRemoteFields, - includeShellData, - modifiedAfter, - modifiedBefore, - pageSize, - remoteId, - transactionDateAfter, - transactionDateBefore, - } = request; - const _queryParams: Record = { - company_id: companyId, - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - expand: Array.isArray(expand) - ? expand.map((item) => - serializers.accounting.ExpensesListRequestExpandItem.jsonOrThrow(item, { - unrecognizedObjectKeys: "strip", - }), - ) - : expand != null - ? serializers.accounting.ExpensesListRequestExpandItem.jsonOrThrow(expand, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_remote_fields: includeRemoteFields, - include_shell_data: includeShellData, - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - page_size: pageSize, - remote_id: remoteId, - transaction_date_after: transactionDateAfter?.toISOString(), - transaction_date_before: transactionDateBefore?.toISOString(), - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/expenses", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedExpenseList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/expenses", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.ExpensesListRequest = {}, + requestOptions?: ExpensesClient.RequestOptions, + ): Promise> { + const { + companyId, + createdAfter, + createdBefore, + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeRemoteFields, + includeShellData, + modifiedAfter, + modifiedBefore, + pageSize, + remoteId, + transactionDateAfter, + transactionDateBefore, + } = request; + const _queryParams: Record = { + company_id: companyId, + created_after: createdAfter?.toISOString(), + created_before: createdBefore?.toISOString(), + cursor, + expand: Array.isArray(expand) + ? expand.map((item) => + serializers.accounting.ExpensesListRequestExpandItem.jsonOrThrow(item, { + unrecognizedObjectKeys: "strip", + }), + ) + : expand != null + ? serializers.accounting.ExpensesListRequestExpandItem.jsonOrThrow(expand, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_remote_fields: includeRemoteFields, + include_shell_data: includeShellData, + modified_after: modifiedAfter?.toISOString(), + modified_before: modifiedBefore?.toISOString(), + page_size: pageSize, + remote_id: remoteId, + transaction_date_after: transactionDateAfter?.toISOString(), + transaction_date_before: transactionDateBefore?.toISOString(), + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/expenses", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedExpenseList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/accounting/v1/expenses"); } /** @@ -335,37 +320,30 @@ export class ExpensesClient { } /** - * Creates an `Expense` object with the given values. + * Creates multiple `Expense` objects with the given values. * * @param {Merge.accounting.ExpenseBulkRequest} request * @param {ExpensesClient.RequestOptions} requestOptions - Request-specific configuration. * * @example - * await client.accounting.expenses.asyncBulkCreate({ - * isDebugMode: true, - * runAsync: true, + * await client.accounting.expenses.bulkCreate({ * batchItems: [{ * itemId: "item_id", * payload: {} * }] * }) */ - public asyncBulkCreate( + public bulkCreate( request: Merge.accounting.ExpenseBulkRequest, requestOptions?: ExpensesClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__asyncBulkCreate(request, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__bulkCreate(request, requestOptions)); } - private async __asyncBulkCreate( + private async __bulkCreate( request: Merge.accounting.ExpenseBulkRequest, requestOptions?: ExpensesClient.RequestOptions, ): Promise> { - const { isDebugMode, runAsync, ..._body } = request; - const _queryParams: Record = { - is_debug_mode: isDebugMode, - run_async: runAsync, - }; const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -378,14 +356,14 @@ export class ExpensesClient { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.MergeEnvironment.Production, - "accounting/v1/expenses/async/bulk", + "accounting/v1/expenses/bulk", ), method: "POST", headers: _headers, contentType: "application/json", - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + queryParameters: requestOptions?.queryParams, requestType: "json", - body: serializers.accounting.ExpenseBulkRequest.jsonOrThrow(_body, { unrecognizedObjectKeys: "strip" }), + body: serializers.accounting.ExpenseBulkRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -413,96 +391,29 @@ export class ExpensesClient { }); } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "POST", - "/accounting/v1/expenses/async/bulk", - ); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/accounting/v1/expenses/bulk"); } /** - * Returns a list of `Expense` objects. + * Returns the status and results of an `Expense` bulk create batch. * * @param {string} batch_id - * @param {Merge.accounting.ExpensesBatchObjectsListRequest} request * @param {ExpensesClient.RequestOptions} requestOptions - Request-specific configuration. * * @example - * await client.accounting.expenses.batchObjectsList("batch_id", { - * companyId: "company_id", - * createdAfter: new Date("2024-01-15T09:30:00.000Z"), - * createdBefore: new Date("2024-01-15T09:30:00.000Z"), - * cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - * includeDeletedData: true, - * includeRemoteData: true, - * includeRemoteFields: true, - * includeShellData: true, - * modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - * modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - * pageSize: 1, - * remoteId: "remote_id", - * transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), - * transactionDateBefore: new Date("2024-01-15T09:30:00.000Z") - * }) + * await client.accounting.expenses.bulkRetrieve("batch_id") */ - public batchObjectsList( + public bulkRetrieve( batch_id: string, - request: Merge.accounting.ExpensesBatchObjectsListRequest = {}, requestOptions?: ExpensesClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__batchObjectsList(batch_id, request, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__bulkRetrieve(batch_id, requestOptions)); } - private async __batchObjectsList( + private async __bulkRetrieve( batch_id: string, - request: Merge.accounting.ExpensesBatchObjectsListRequest = {}, requestOptions?: ExpensesClient.RequestOptions, ): Promise> { - const { - companyId, - createdAfter, - createdBefore, - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeRemoteFields, - includeShellData, - modifiedAfter, - modifiedBefore, - pageSize, - remoteId, - transactionDateAfter, - transactionDateBefore, - } = request; - const _queryParams: Record = { - company_id: companyId, - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - expand: Array.isArray(expand) - ? expand.map((item) => - serializers.accounting.ExpensesBatchObjectsListRequestExpandItem.jsonOrThrow(item, { - unrecognizedObjectKeys: "strip", - }), - ) - : expand != null - ? serializers.accounting.ExpensesBatchObjectsListRequestExpandItem.jsonOrThrow(expand, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_remote_fields: includeRemoteFields, - include_shell_data: includeShellData, - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - page_size: pageSize, - remote_id: remoteId, - transaction_date_after: transactionDateAfter?.toISOString(), - transaction_date_before: transactionDateBefore?.toISOString(), - }; const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -515,11 +426,11 @@ export class ExpensesClient { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.MergeEnvironment.Production, - `accounting/v1/expenses/batch/${core.url.encodePathParam(batch_id)}/objects`, + `accounting/v1/expenses/bulk/${core.url.encodePathParam(batch_id)}`, ), method: "GET", headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + queryParameters: requestOptions?.queryParams, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -551,7 +462,7 @@ export class ExpensesClient { _response.error, _response.rawResponse, "GET", - "/accounting/v1/expenses/batch/{batch_id}/objects", + "/accounting/v1/expenses/bulk/{batch_id}", ); } @@ -572,95 +483,85 @@ export class ExpensesClient { * pageSize: 1 * }) */ - public async linesRemoteFieldClassesList( + public linesRemoteFieldClassesList( + request: Merge.accounting.ExpensesLinesRemoteFieldClassesListRequest = {}, + requestOptions?: ExpensesClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__linesRemoteFieldClassesList(request, requestOptions)); + } + + private async __linesRemoteFieldClassesList( request: Merge.accounting.ExpensesLinesRemoteFieldClassesListRequest = {}, requestOptions?: ExpensesClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.ExpensesLinesRemoteFieldClassesListRequest, - ): Promise> => { - const { - cursor, - includeDeletedData, - includeRemoteData, - includeShellData, - isCommonModelField, - isCustom, - pageSize, - } = request; - const _queryParams: Record = { - cursor, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - is_common_model_field: isCommonModelField, - is_custom: isCustom, - page_size: pageSize, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/expenses/lines/remote-field-classes", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/expenses/lines/remote-field-classes", - ); - }, + ): Promise> { + const { + cursor, + includeDeletedData, + includeRemoteData, + includeShellData, + isCommonModelField, + isCustom, + pageSize, + } = request; + const _queryParams: Record = { + cursor, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + is_common_model_field: isCommonModelField, + is_custom: isCustom, + page_size: pageSize, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/expenses/lines/remote-field-classes", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/expenses/lines/remote-field-classes", + ); } /** @@ -749,94 +650,84 @@ export class ExpensesClient { * pageSize: 1 * }) */ - public async remoteFieldClassesList( + public remoteFieldClassesList( + request: Merge.accounting.ExpensesRemoteFieldClassesListRequest = {}, + requestOptions?: ExpensesClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__remoteFieldClassesList(request, requestOptions)); + } + + private async __remoteFieldClassesList( request: Merge.accounting.ExpensesRemoteFieldClassesListRequest = {}, requestOptions?: ExpensesClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.ExpensesRemoteFieldClassesListRequest, - ): Promise> => { - const { - cursor, - includeDeletedData, - includeRemoteData, - includeShellData, - isCommonModelField, - isCustom, - pageSize, - } = request; - const _queryParams: Record = { - cursor, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - is_common_model_field: isCommonModelField, - is_custom: isCustom, - page_size: pageSize, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/expenses/remote-field-classes", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/expenses/remote-field-classes", - ); - }, + ): Promise> { + const { + cursor, + includeDeletedData, + includeRemoteData, + includeShellData, + isCommonModelField, + isCustom, + pageSize, + } = request; + const _queryParams: Record = { + cursor, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + is_common_model_field: isCommonModelField, + is_custom: isCustom, + page_size: pageSize, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/expenses/remote-field-classes", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/expenses/remote-field-classes", + ); } } diff --git a/src/api/resources/accounting/resources/expenses/client/requests/ExpenseBulkRequest.ts b/src/api/resources/accounting/resources/expenses/client/requests/ExpenseBulkRequest.ts index 8a66d212c..66d6d7151 100644 --- a/src/api/resources/accounting/resources/expenses/client/requests/ExpenseBulkRequest.ts +++ b/src/api/resources/accounting/resources/expenses/client/requests/ExpenseBulkRequest.ts @@ -5,8 +5,6 @@ import type * as Merge from "../../../../../../index"; /** * @example * { - * isDebugMode: true, - * runAsync: true, * batchItems: [{ * itemId: "item_id", * payload: {} @@ -14,9 +12,5 @@ import type * as Merge from "../../../../../../index"; * } */ export interface ExpenseBulkRequest { - /** Whether to include debug fields (such as log file links) in the response. */ - isDebugMode?: boolean; - /** Whether or not third-party updates should be run asynchronously. */ - runAsync?: boolean; batchItems: Merge.accounting.ExpenseBatchItemRequest[]; } diff --git a/src/api/resources/accounting/resources/expenses/client/requests/ExpensesBatchObjectsListRequest.ts b/src/api/resources/accounting/resources/expenses/client/requests/ExpensesBatchObjectsListRequest.ts deleted file mode 100644 index 48445693a..000000000 --- a/src/api/resources/accounting/resources/expenses/client/requests/ExpensesBatchObjectsListRequest.ts +++ /dev/null @@ -1,57 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Merge from "../../../../../../index"; - -/** - * @example - * { - * companyId: "company_id", - * createdAfter: new Date("2024-01-15T09:30:00.000Z"), - * createdBefore: new Date("2024-01-15T09:30:00.000Z"), - * cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - * includeDeletedData: true, - * includeRemoteData: true, - * includeRemoteFields: true, - * includeShellData: true, - * modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - * modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - * pageSize: 1, - * remoteId: "remote_id", - * transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), - * transactionDateBefore: new Date("2024-01-15T09:30:00.000Z") - * } - */ -export interface ExpensesBatchObjectsListRequest { - /** If provided, will only return expenses for this company. */ - companyId?: string; - /** If provided, will only return objects created after this datetime. */ - createdAfter?: Date; - /** If provided, will only return objects created before this datetime. */ - createdBefore?: Date; - /** The pagination cursor value. */ - cursor?: string; - /** Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. */ - expand?: - | Merge.accounting.ExpensesBatchObjectsListRequestExpandItem - | Merge.accounting.ExpensesBatchObjectsListRequestExpandItem[]; - /** Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). */ - includeDeletedData?: boolean; - /** Whether to include the original data Merge fetched from the third-party to produce these models. */ - includeRemoteData?: boolean; - /** Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. */ - includeRemoteFields?: boolean; - /** Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). */ - includeShellData?: boolean; - /** If provided, only objects synced by Merge after this date time will be returned. */ - modifiedAfter?: Date; - /** If provided, only objects synced by Merge before this date time will be returned. */ - modifiedBefore?: Date; - /** Number of results to return per page. The maximum limit is 100. */ - pageSize?: number; - /** The API provider's ID for the given object. */ - remoteId?: string; - /** If provided, will only return objects created after this datetime. */ - transactionDateAfter?: Date; - /** If provided, will only return objects created before this datetime. */ - transactionDateBefore?: Date; -} diff --git a/src/api/resources/accounting/resources/expenses/client/requests/index.ts b/src/api/resources/accounting/resources/expenses/client/requests/index.ts index e2e3b87fa..3991d2e3d 100644 --- a/src/api/resources/accounting/resources/expenses/client/requests/index.ts +++ b/src/api/resources/accounting/resources/expenses/client/requests/index.ts @@ -1,6 +1,5 @@ export type { ExpenseBulkRequest } from "./ExpenseBulkRequest"; export type { ExpenseEndpointRequest } from "./ExpenseEndpointRequest"; -export type { ExpensesBatchObjectsListRequest } from "./ExpensesBatchObjectsListRequest"; export type { ExpensesLinesRemoteFieldClassesListRequest } from "./ExpensesLinesRemoteFieldClassesListRequest"; export type { ExpensesListRequest } from "./ExpensesListRequest"; export type { ExpensesRemoteFieldClassesListRequest } from "./ExpensesRemoteFieldClassesListRequest"; diff --git a/src/api/resources/accounting/resources/expenses/types/ExpensesBatchObjectsListRequestExpandItem.ts b/src/api/resources/accounting/resources/expenses/types/ExpensesBatchObjectsListRequestExpandItem.ts deleted file mode 100644 index 19b7d59ab..000000000 --- a/src/api/resources/accounting/resources/expenses/types/ExpensesBatchObjectsListRequestExpandItem.ts +++ /dev/null @@ -1,12 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -export const ExpensesBatchObjectsListRequestExpandItem = { - Account: "account", - AccountingPeriod: "accounting_period", - Company: "company", - Contact: "contact", - Employee: "employee", - TrackingCategories: "tracking_categories", -} as const; -export type ExpensesBatchObjectsListRequestExpandItem = - (typeof ExpensesBatchObjectsListRequestExpandItem)[keyof typeof ExpensesBatchObjectsListRequestExpandItem]; diff --git a/src/api/resources/accounting/resources/expenses/types/index.ts b/src/api/resources/accounting/resources/expenses/types/index.ts index 1c81575ae..d63e24e45 100644 --- a/src/api/resources/accounting/resources/expenses/types/index.ts +++ b/src/api/resources/accounting/resources/expenses/types/index.ts @@ -1,3 +1,2 @@ -export * from "./ExpensesBatchObjectsListRequestExpandItem"; export * from "./ExpensesListRequestExpandItem"; export * from "./ExpensesRetrieveRequestExpandItem"; diff --git a/src/api/resources/accounting/resources/generalLedgerTransactions/client/Client.ts b/src/api/resources/accounting/resources/generalLedgerTransactions/client/Client.ts index 10dfb3d7d..992e7576e 100644 --- a/src/api/resources/accounting/resources/generalLedgerTransactions/client/Client.ts +++ b/src/api/resources/accounting/resources/generalLedgerTransactions/client/Client.ts @@ -46,127 +46,109 @@ export class GeneralLedgerTransactionsClient { * remoteId: "remote_id" * }) */ - public async list( + public list( request: Merge.accounting.GeneralLedgerTransactionsListRequest = {}, requestOptions?: GeneralLedgerTransactionsClient.RequestOptions, - ): Promise< - core.Page - > { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.GeneralLedgerTransactionsListRequest, - ): Promise> => { - const { - companyId, - createdAfter, - createdBefore, - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeShellData, - modifiedAfter, - modifiedBefore, - pageSize, - postedDateAfter, - postedDateBefore, - remoteId, - } = request; - const _queryParams: Record = { - company_id: companyId, - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - expand: Array.isArray(expand) - ? expand.map((item) => - serializers.accounting.GeneralLedgerTransactionsListRequestExpandItem.jsonOrThrow(item, { - unrecognizedObjectKeys: "strip", - }), - ) - : expand != null - ? serializers.accounting.GeneralLedgerTransactionsListRequestExpandItem.jsonOrThrow(expand, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - page_size: pageSize, - posted_date_after: postedDateAfter?.toISOString(), - posted_date_before: postedDateBefore?.toISOString(), - remote_id: remoteId, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/general-ledger-transactions", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedGeneralLedgerTransactionList.parseOrThrow( - _response.body, - { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }, - ), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/general-ledger-transactions", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.GeneralLedgerTransactionsListRequest = {}, + requestOptions?: GeneralLedgerTransactionsClient.RequestOptions, + ): Promise> { + const { + companyId, + createdAfter, + createdBefore, + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeShellData, + modifiedAfter, + modifiedBefore, + pageSize, + postedDateAfter, + postedDateBefore, + remoteId, + } = request; + const _queryParams: Record = { + company_id: companyId, + created_after: createdAfter?.toISOString(), + created_before: createdBefore?.toISOString(), + cursor, + expand: Array.isArray(expand) + ? expand.map((item) => + serializers.accounting.GeneralLedgerTransactionsListRequestExpandItem.jsonOrThrow(item, { + unrecognizedObjectKeys: "strip", + }), + ) + : expand != null + ? serializers.accounting.GeneralLedgerTransactionsListRequestExpandItem.jsonOrThrow(expand, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + modified_after: modifiedAfter?.toISOString(), + modified_before: modifiedBefore?.toISOString(), + page_size: pageSize, + posted_date_after: postedDateAfter?.toISOString(), + posted_date_before: postedDateBefore?.toISOString(), + remote_id: remoteId, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page< - Merge.accounting.GeneralLedgerTransaction, - Merge.accounting.PaginatedGeneralLedgerTransactionList - >({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/general-ledger-transactions", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedGeneralLedgerTransactionList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/general-ledger-transactions", + ); } /** diff --git a/src/api/resources/accounting/resources/incomeStatements/client/Client.ts b/src/api/resources/accounting/resources/incomeStatements/client/Client.ts index 5927a0761..25e7c1a06 100644 --- a/src/api/resources/accounting/resources/incomeStatements/client/Client.ts +++ b/src/api/resources/accounting/resources/incomeStatements/client/Client.ts @@ -44,105 +44,95 @@ export class IncomeStatementsClient { * remoteId: "remote_id" * }) */ - public async list( + public list( request: Merge.accounting.IncomeStatementsListRequest = {}, requestOptions?: IncomeStatementsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.IncomeStatementsListRequest, - ): Promise> => { - const { - companyId, - createdAfter, - createdBefore, - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeShellData, - modifiedAfter, - modifiedBefore, - pageSize, - remoteId, - } = request; - const _queryParams: Record = { - company_id: companyId, - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - expand: Array.isArray(expand) ? expand.map((item) => item) : expand != null ? expand : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - page_size: pageSize, - remote_id: remoteId, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/income-statements", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedIncomeStatementList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/income-statements", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.IncomeStatementsListRequest = {}, + requestOptions?: IncomeStatementsClient.RequestOptions, + ): Promise> { + const { + companyId, + createdAfter, + createdBefore, + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeShellData, + modifiedAfter, + modifiedBefore, + pageSize, + remoteId, + } = request; + const _queryParams: Record = { + company_id: companyId, + created_after: createdAfter?.toISOString(), + created_before: createdBefore?.toISOString(), + cursor, + expand: Array.isArray(expand) ? expand.map((item) => item) : expand != null ? expand : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + modified_after: modifiedAfter?.toISOString(), + modified_before: modifiedBefore?.toISOString(), + page_size: pageSize, + remote_id: remoteId, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/income-statements", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedIncomeStatementList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/income-statements", + ); } /** diff --git a/src/api/resources/accounting/resources/invoices/client/Client.ts b/src/api/resources/accounting/resources/invoices/client/Client.ts index c2bc0c4e7..98a3dc5ce 100644 --- a/src/api/resources/accounting/resources/invoices/client/Client.ts +++ b/src/api/resources/accounting/resources/invoices/client/Client.ts @@ -53,143 +53,128 @@ export class InvoicesClient { * type: "ACCOUNTS_PAYABLE" * }) */ - public async list( + public list( request: Merge.accounting.InvoicesListRequest = {}, requestOptions?: InvoicesClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.InvoicesListRequest, - ): Promise> => { - const { - companyId, - contactId, - createdAfter, - createdBefore, - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeRemoteFields, - includeShellData, - issueDateAfter, - issueDateBefore, - modifiedAfter, - modifiedBefore, - number: number_, - pageSize, - remoteFields, - remoteId, - showEnumOrigins, - status, - type: type_, - } = request; - const _queryParams: Record = { - company_id: companyId, - contact_id: contactId, - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - expand: Array.isArray(expand) - ? expand.map((item) => - serializers.accounting.InvoicesListRequestExpandItem.jsonOrThrow(item, { - unrecognizedObjectKeys: "strip", - }), - ) - : expand != null - ? serializers.accounting.InvoicesListRequestExpandItem.jsonOrThrow(expand, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_remote_fields: includeRemoteFields, - include_shell_data: includeShellData, - issue_date_after: issueDateAfter?.toISOString(), - issue_date_before: issueDateBefore?.toISOString(), - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - number: number_, - page_size: pageSize, - remote_fields: remoteFields != null ? remoteFields : undefined, - remote_id: remoteId, - show_enum_origins: showEnumOrigins != null ? showEnumOrigins : undefined, - status: - status != null - ? serializers.accounting.InvoicesListRequestStatus.jsonOrThrow(status, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - type: - type_ != null - ? serializers.accounting.InvoicesListRequestType.jsonOrThrow(type_, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/invoices", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedInvoiceList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/invoices", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.InvoicesListRequest = {}, + requestOptions?: InvoicesClient.RequestOptions, + ): Promise> { + const { + companyId, + contactId, + createdAfter, + createdBefore, + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeRemoteFields, + includeShellData, + issueDateAfter, + issueDateBefore, + modifiedAfter, + modifiedBefore, + number: number_, + pageSize, + remoteFields, + remoteId, + showEnumOrigins, + status, + type: type_, + } = request; + const _queryParams: Record = { + company_id: companyId, + contact_id: contactId, + created_after: createdAfter?.toISOString(), + created_before: createdBefore?.toISOString(), + cursor, + expand: Array.isArray(expand) + ? expand.map((item) => + serializers.accounting.InvoicesListRequestExpandItem.jsonOrThrow(item, { + unrecognizedObjectKeys: "strip", + }), + ) + : expand != null + ? serializers.accounting.InvoicesListRequestExpandItem.jsonOrThrow(expand, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_remote_fields: includeRemoteFields, + include_shell_data: includeShellData, + issue_date_after: issueDateAfter?.toISOString(), + issue_date_before: issueDateBefore?.toISOString(), + modified_after: modifiedAfter?.toISOString(), + modified_before: modifiedBefore?.toISOString(), + number: number_, + page_size: pageSize, + remote_fields: remoteFields != null ? remoteFields : undefined, + remote_id: remoteId, + show_enum_origins: showEnumOrigins != null ? showEnumOrigins : undefined, + status: + status != null + ? serializers.accounting.InvoicesListRequestStatus.jsonOrThrow(status, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + type: + type_ != null + ? serializers.accounting.InvoicesListRequestType.jsonOrThrow(type_, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/invoices", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedInvoiceList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/accounting/v1/invoices"); } /** @@ -459,39 +444,30 @@ export class InvoicesClient { } /** - * Creates an `Invoice` object with the given values. - * Including a `PurchaseOrder` id in the `purchase_orders` property will generate an Accounts Payable Invoice from the specified Purchase Order(s). - * + * Creates multiple `Invoice` objects with the given values. * * @param {Merge.accounting.InvoiceBulkRequest} request * @param {InvoicesClient.RequestOptions} requestOptions - Request-specific configuration. * * @example - * await client.accounting.invoices.asyncBulkCreate({ - * isDebugMode: true, - * runAsync: true, + * await client.accounting.invoices.bulkCreate({ * batchItems: [{ * itemId: "item_id", * payload: {} * }] * }) */ - public asyncBulkCreate( + public bulkCreate( request: Merge.accounting.InvoiceBulkRequest, requestOptions?: InvoicesClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__asyncBulkCreate(request, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__bulkCreate(request, requestOptions)); } - private async __asyncBulkCreate( + private async __bulkCreate( request: Merge.accounting.InvoiceBulkRequest, requestOptions?: InvoicesClient.RequestOptions, ): Promise> { - const { isDebugMode, runAsync, ..._body } = request; - const _queryParams: Record = { - is_debug_mode: isDebugMode, - run_async: runAsync, - }; const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -504,14 +480,14 @@ export class InvoicesClient { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.MergeEnvironment.Production, - "accounting/v1/invoices/async/bulk", + "accounting/v1/invoices/bulk", ), method: "POST", headers: _headers, contentType: "application/json", - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + queryParameters: requestOptions?.queryParams, requestType: "json", - body: serializers.accounting.InvoiceBulkRequest.jsonOrThrow(_body, { unrecognizedObjectKeys: "strip" }), + body: serializers.accounting.InvoiceBulkRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -539,124 +515,29 @@ export class InvoicesClient { }); } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "POST", - "/accounting/v1/invoices/async/bulk", - ); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/accounting/v1/invoices/bulk"); } /** - * Returns a list of `Invoice` objects. + * Returns the status and results of an `Invoice` bulk create batch. * * @param {string} batch_id - * @param {Merge.accounting.InvoicesBatchObjectsListRequest} request * @param {InvoicesClient.RequestOptions} requestOptions - Request-specific configuration. * * @example - * await client.accounting.invoices.batchObjectsList("batch_id", { - * companyId: "company_id", - * contactId: "contact_id", - * createdAfter: new Date("2024-01-15T09:30:00.000Z"), - * createdBefore: new Date("2024-01-15T09:30:00.000Z"), - * cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - * includeDeletedData: true, - * includeRemoteData: true, - * includeRemoteFields: true, - * includeShellData: true, - * issueDateAfter: new Date("2024-01-15T09:30:00.000Z"), - * issueDateBefore: new Date("2024-01-15T09:30:00.000Z"), - * modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - * modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - * number: "number", - * pageSize: 1, - * remoteFields: "type", - * remoteId: "remote_id", - * showEnumOrigins: "type", - * status: "DRAFT", - * type: "ACCOUNTS_PAYABLE" - * }) + * await client.accounting.invoices.bulkRetrieve("batch_id") */ - public batchObjectsList( + public bulkRetrieve( batch_id: string, - request: Merge.accounting.InvoicesBatchObjectsListRequest = {}, requestOptions?: InvoicesClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__batchObjectsList(batch_id, request, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__bulkRetrieve(batch_id, requestOptions)); } - private async __batchObjectsList( + private async __bulkRetrieve( batch_id: string, - request: Merge.accounting.InvoicesBatchObjectsListRequest = {}, requestOptions?: InvoicesClient.RequestOptions, ): Promise> { - const { - companyId, - contactId, - createdAfter, - createdBefore, - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeRemoteFields, - includeShellData, - issueDateAfter, - issueDateBefore, - modifiedAfter, - modifiedBefore, - number: number_, - pageSize, - remoteFields, - remoteId, - showEnumOrigins, - status, - type: type_, - } = request; - const _queryParams: Record = { - company_id: companyId, - contact_id: contactId, - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - expand: Array.isArray(expand) - ? expand.map((item) => - serializers.accounting.InvoicesBatchObjectsListRequestExpandItem.jsonOrThrow(item, { - unrecognizedObjectKeys: "strip", - }), - ) - : expand != null - ? serializers.accounting.InvoicesBatchObjectsListRequestExpandItem.jsonOrThrow(expand, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_remote_fields: includeRemoteFields, - include_shell_data: includeShellData, - issue_date_after: issueDateAfter?.toISOString(), - issue_date_before: issueDateBefore?.toISOString(), - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - number: number_, - page_size: pageSize, - remote_fields: remoteFields != null ? remoteFields : undefined, - remote_id: remoteId, - show_enum_origins: showEnumOrigins != null ? showEnumOrigins : undefined, - status: - status != null - ? serializers.accounting.InvoicesBatchObjectsListRequestStatus.jsonOrThrow(status, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - type: - type_ != null - ? serializers.accounting.InvoicesBatchObjectsListRequestType.jsonOrThrow(type_, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - }; const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -669,11 +550,11 @@ export class InvoicesClient { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.MergeEnvironment.Production, - `accounting/v1/invoices/batch/${core.url.encodePathParam(batch_id)}/objects`, + `accounting/v1/invoices/bulk/${core.url.encodePathParam(batch_id)}`, ), method: "GET", headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + queryParameters: requestOptions?.queryParams, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -705,7 +586,7 @@ export class InvoicesClient { _response.error, _response.rawResponse, "GET", - "/accounting/v1/invoices/batch/{batch_id}/objects", + "/accounting/v1/invoices/bulk/{batch_id}", ); } @@ -726,95 +607,85 @@ export class InvoicesClient { * pageSize: 1 * }) */ - public async lineItemsRemoteFieldClassesList( + public lineItemsRemoteFieldClassesList( + request: Merge.accounting.InvoicesLineItemsRemoteFieldClassesListRequest = {}, + requestOptions?: InvoicesClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__lineItemsRemoteFieldClassesList(request, requestOptions)); + } + + private async __lineItemsRemoteFieldClassesList( request: Merge.accounting.InvoicesLineItemsRemoteFieldClassesListRequest = {}, requestOptions?: InvoicesClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.InvoicesLineItemsRemoteFieldClassesListRequest, - ): Promise> => { - const { - cursor, - includeDeletedData, - includeRemoteData, - includeShellData, - isCommonModelField, - isCustom, - pageSize, - } = request; - const _queryParams: Record = { - cursor, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - is_common_model_field: isCommonModelField, - is_custom: isCustom, - page_size: pageSize, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/invoices/line-items/remote-field-classes", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/invoices/line-items/remote-field-classes", - ); - }, + ): Promise> { + const { + cursor, + includeDeletedData, + includeRemoteData, + includeShellData, + isCommonModelField, + isCustom, + pageSize, + } = request; + const _queryParams: Record = { + cursor, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + is_common_model_field: isCommonModelField, + is_custom: isCustom, + page_size: pageSize, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/invoices/line-items/remote-field-classes", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/invoices/line-items/remote-field-classes", + ); } /** @@ -975,94 +846,84 @@ export class InvoicesClient { * pageSize: 1 * }) */ - public async remoteFieldClassesList( + public remoteFieldClassesList( + request: Merge.accounting.InvoicesRemoteFieldClassesListRequest = {}, + requestOptions?: InvoicesClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__remoteFieldClassesList(request, requestOptions)); + } + + private async __remoteFieldClassesList( request: Merge.accounting.InvoicesRemoteFieldClassesListRequest = {}, requestOptions?: InvoicesClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.InvoicesRemoteFieldClassesListRequest, - ): Promise> => { - const { - cursor, - includeDeletedData, - includeRemoteData, - includeShellData, - isCommonModelField, - isCustom, - pageSize, - } = request; - const _queryParams: Record = { - cursor, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - is_common_model_field: isCommonModelField, - is_custom: isCustom, - page_size: pageSize, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/invoices/remote-field-classes", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/invoices/remote-field-classes", - ); - }, + ): Promise> { + const { + cursor, + includeDeletedData, + includeRemoteData, + includeShellData, + isCommonModelField, + isCustom, + pageSize, + } = request; + const _queryParams: Record = { + cursor, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + is_common_model_field: isCommonModelField, + is_custom: isCustom, + page_size: pageSize, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/invoices/remote-field-classes", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/invoices/remote-field-classes", + ); } } diff --git a/src/api/resources/accounting/resources/invoices/client/requests/InvoiceBulkRequest.ts b/src/api/resources/accounting/resources/invoices/client/requests/InvoiceBulkRequest.ts index 02f3c8cd3..263af4992 100644 --- a/src/api/resources/accounting/resources/invoices/client/requests/InvoiceBulkRequest.ts +++ b/src/api/resources/accounting/resources/invoices/client/requests/InvoiceBulkRequest.ts @@ -5,8 +5,6 @@ import type * as Merge from "../../../../../../index"; /** * @example * { - * isDebugMode: true, - * runAsync: true, * batchItems: [{ * itemId: "item_id", * payload: {} @@ -14,9 +12,5 @@ import type * as Merge from "../../../../../../index"; * } */ export interface InvoiceBulkRequest { - /** Whether to include debug fields (such as log file links) in the response. */ - isDebugMode?: boolean; - /** Whether or not third-party updates should be run asynchronously. */ - runAsync?: boolean; batchItems: Merge.accounting.InvoiceBatchItemRequest[]; } diff --git a/src/api/resources/accounting/resources/invoices/client/requests/InvoicesBatchObjectsListRequest.ts b/src/api/resources/accounting/resources/invoices/client/requests/InvoicesBatchObjectsListRequest.ts deleted file mode 100644 index 4990656a9..000000000 --- a/src/api/resources/accounting/resources/invoices/client/requests/InvoicesBatchObjectsListRequest.ts +++ /dev/null @@ -1,89 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Merge from "../../../../../../index"; - -/** - * @example - * { - * companyId: "company_id", - * contactId: "contact_id", - * createdAfter: new Date("2024-01-15T09:30:00.000Z"), - * createdBefore: new Date("2024-01-15T09:30:00.000Z"), - * cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - * includeDeletedData: true, - * includeRemoteData: true, - * includeRemoteFields: true, - * includeShellData: true, - * issueDateAfter: new Date("2024-01-15T09:30:00.000Z"), - * issueDateBefore: new Date("2024-01-15T09:30:00.000Z"), - * modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - * modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - * number: "number", - * pageSize: 1, - * remoteFields: "type", - * remoteId: "remote_id", - * showEnumOrigins: "type", - * status: "DRAFT", - * type: "ACCOUNTS_PAYABLE" - * } - */ -export interface InvoicesBatchObjectsListRequest { - /** If provided, will only return invoices for this company. */ - companyId?: string; - /** If provided, will only return invoices for this contact. */ - contactId?: string; - /** If provided, will only return objects created after this datetime. */ - createdAfter?: Date; - /** If provided, will only return objects created before this datetime. */ - createdBefore?: Date; - /** The pagination cursor value. */ - cursor?: string; - /** Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. */ - expand?: - | Merge.accounting.InvoicesBatchObjectsListRequestExpandItem - | Merge.accounting.InvoicesBatchObjectsListRequestExpandItem[]; - /** Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). */ - includeDeletedData?: boolean; - /** Whether to include the original data Merge fetched from the third-party to produce these models. */ - includeRemoteData?: boolean; - /** Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. */ - includeRemoteFields?: boolean; - /** Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). */ - includeShellData?: boolean; - /** If provided, will only return objects created after this datetime. */ - issueDateAfter?: Date; - /** If provided, will only return objects created before this datetime. */ - issueDateBefore?: Date; - /** If provided, only objects synced by Merge after this date time will be returned. */ - modifiedAfter?: Date; - /** If provided, only objects synced by Merge before this date time will be returned. */ - modifiedBefore?: Date; - /** If provided, will only return Invoices with this number. */ - number?: string; - /** Number of results to return per page. The maximum limit is 100. */ - pageSize?: number; - /** Deprecated. Use show_enum_origins. */ - remoteFields?: "type"; - /** The API provider's ID for the given object. */ - remoteId?: string; - /** A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) */ - showEnumOrigins?: "type"; - /** - * If provided, will only return Invoices with this status. - * - * * `PAID` - PAID - * * `DRAFT` - DRAFT - * * `SUBMITTED` - SUBMITTED - * * `PARTIALLY_PAID` - PARTIALLY_PAID - * * `OPEN` - OPEN - * * `VOID` - VOID - */ - status?: Merge.accounting.InvoicesBatchObjectsListRequestStatus; - /** - * If provided, will only return Invoices with this type. - * - * * `ACCOUNTS_RECEIVABLE` - ACCOUNTS_RECEIVABLE - * * `ACCOUNTS_PAYABLE` - ACCOUNTS_PAYABLE - */ - type?: Merge.accounting.InvoicesBatchObjectsListRequestType; -} diff --git a/src/api/resources/accounting/resources/invoices/client/requests/index.ts b/src/api/resources/accounting/resources/invoices/client/requests/index.ts index 53b2ae418..286f5a918 100644 --- a/src/api/resources/accounting/resources/invoices/client/requests/index.ts +++ b/src/api/resources/accounting/resources/invoices/client/requests/index.ts @@ -1,6 +1,5 @@ export type { InvoiceBulkRequest } from "./InvoiceBulkRequest"; export type { InvoiceEndpointRequest } from "./InvoiceEndpointRequest"; -export type { InvoicesBatchObjectsListRequest } from "./InvoicesBatchObjectsListRequest"; export type { InvoicesLineItemsRemoteFieldClassesListRequest } from "./InvoicesLineItemsRemoteFieldClassesListRequest"; export type { InvoicesListRequest } from "./InvoicesListRequest"; export type { InvoicesRemoteFieldClassesListRequest } from "./InvoicesRemoteFieldClassesListRequest"; diff --git a/src/api/resources/accounting/resources/invoices/types/InvoicesBatchObjectsListRequestExpandItem.ts b/src/api/resources/accounting/resources/invoices/types/InvoicesBatchObjectsListRequestExpandItem.ts deleted file mode 100644 index fce54ee3f..000000000 --- a/src/api/resources/accounting/resources/invoices/types/InvoicesBatchObjectsListRequestExpandItem.ts +++ /dev/null @@ -1,19 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -export const InvoicesBatchObjectsListRequestExpandItem = { - AccountingPeriod: "accounting_period", - AppliedCreditNotes: "applied_credit_notes", - AppliedPayments: "applied_payments", - AppliedVendorCredits: "applied_vendor_credits", - Company: "company", - Contact: "contact", - Employee: "employee", - LineItems: "line_items", - PaymentTerm: "payment_term", - Payments: "payments", - PurchaseOrders: "purchase_orders", - SalesOrders: "sales_orders", - TrackingCategories: "tracking_categories", -} as const; -export type InvoicesBatchObjectsListRequestExpandItem = - (typeof InvoicesBatchObjectsListRequestExpandItem)[keyof typeof InvoicesBatchObjectsListRequestExpandItem]; diff --git a/src/api/resources/accounting/resources/invoices/types/InvoicesBatchObjectsListRequestStatus.ts b/src/api/resources/accounting/resources/invoices/types/InvoicesBatchObjectsListRequestStatus.ts deleted file mode 100644 index d9c4ea2bf..000000000 --- a/src/api/resources/accounting/resources/invoices/types/InvoicesBatchObjectsListRequestStatus.ts +++ /dev/null @@ -1,12 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -export const InvoicesBatchObjectsListRequestStatus = { - Draft: "DRAFT", - Open: "OPEN", - Paid: "PAID", - PartiallyPaid: "PARTIALLY_PAID", - Submitted: "SUBMITTED", - Void: "VOID", -} as const; -export type InvoicesBatchObjectsListRequestStatus = - (typeof InvoicesBatchObjectsListRequestStatus)[keyof typeof InvoicesBatchObjectsListRequestStatus]; diff --git a/src/api/resources/accounting/resources/invoices/types/InvoicesBatchObjectsListRequestType.ts b/src/api/resources/accounting/resources/invoices/types/InvoicesBatchObjectsListRequestType.ts deleted file mode 100644 index bab89685d..000000000 --- a/src/api/resources/accounting/resources/invoices/types/InvoicesBatchObjectsListRequestType.ts +++ /dev/null @@ -1,8 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -export const InvoicesBatchObjectsListRequestType = { - AccountsPayable: "ACCOUNTS_PAYABLE", - AccountsReceivable: "ACCOUNTS_RECEIVABLE", -} as const; -export type InvoicesBatchObjectsListRequestType = - (typeof InvoicesBatchObjectsListRequestType)[keyof typeof InvoicesBatchObjectsListRequestType]; diff --git a/src/api/resources/accounting/resources/invoices/types/index.ts b/src/api/resources/accounting/resources/invoices/types/index.ts index d690b827a..35fff0ee5 100644 --- a/src/api/resources/accounting/resources/invoices/types/index.ts +++ b/src/api/resources/accounting/resources/invoices/types/index.ts @@ -1,6 +1,3 @@ -export * from "./InvoicesBatchObjectsListRequestExpandItem"; -export * from "./InvoicesBatchObjectsListRequestStatus"; -export * from "./InvoicesBatchObjectsListRequestType"; export * from "./InvoicesListRequestExpandItem"; export * from "./InvoicesListRequestStatus"; export * from "./InvoicesListRequestType"; diff --git a/src/api/resources/accounting/resources/issues/client/Client.ts b/src/api/resources/accounting/resources/issues/client/Client.ts index 073e3a212..5ff77e394 100644 --- a/src/api/resources/accounting/resources/issues/client/Client.ts +++ b/src/api/resources/accounting/resources/issues/client/Client.ts @@ -47,109 +47,99 @@ export class IssuesClient { * status: "ONGOING" * }) */ - public async list( + public list( request: Merge.accounting.IssuesListRequest = {}, requestOptions?: IssuesClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.IssuesListRequest, - ): Promise> => { - const { - accountToken, - cursor, - endDate, - endUserOrganizationName, - firstIncidentTimeAfter, - firstIncidentTimeBefore, - includeMuted, - integrationName, - lastIncidentTimeAfter, - lastIncidentTimeBefore, - linkedAccountId, - pageSize, - startDate, - status, - } = request; - const _queryParams: Record = { - account_token: accountToken, - cursor, - end_date: endDate, - end_user_organization_name: endUserOrganizationName, - first_incident_time_after: firstIncidentTimeAfter?.toISOString(), - first_incident_time_before: firstIncidentTimeBefore?.toISOString(), - include_muted: includeMuted, - integration_name: integrationName, - last_incident_time_after: lastIncidentTimeAfter?.toISOString(), - last_incident_time_before: lastIncidentTimeBefore?.toISOString(), - linked_account_id: linkedAccountId, - page_size: pageSize, - start_date: startDate, - status: - status != null - ? serializers.accounting.IssuesListRequestStatus.jsonOrThrow(status, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/issues", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedIssueList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/accounting/v1/issues"); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.IssuesListRequest = {}, + requestOptions?: IssuesClient.RequestOptions, + ): Promise> { + const { + accountToken, + cursor, + endDate, + endUserOrganizationName, + firstIncidentTimeAfter, + firstIncidentTimeBefore, + includeMuted, + integrationName, + lastIncidentTimeAfter, + lastIncidentTimeBefore, + linkedAccountId, + pageSize, + startDate, + status, + } = request; + const _queryParams: Record = { + account_token: accountToken, + cursor, + end_date: endDate, + end_user_organization_name: endUserOrganizationName, + first_incident_time_after: firstIncidentTimeAfter?.toISOString(), + first_incident_time_before: firstIncidentTimeBefore?.toISOString(), + include_muted: includeMuted, + integration_name: integrationName, + last_incident_time_after: lastIncidentTimeAfter?.toISOString(), + last_incident_time_before: lastIncidentTimeBefore?.toISOString(), + linked_account_id: linkedAccountId, + page_size: pageSize, + start_date: startDate, + status: + status != null + ? serializers.accounting.IssuesListRequestStatus.jsonOrThrow(status, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/issues", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedIssueList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/accounting/v1/issues"); } /** diff --git a/src/api/resources/accounting/resources/itemFulfillments/client/Client.ts b/src/api/resources/accounting/resources/itemFulfillments/client/Client.ts index 8f36bad73..323e45079 100644 --- a/src/api/resources/accounting/resources/itemFulfillments/client/Client.ts +++ b/src/api/resources/accounting/resources/itemFulfillments/client/Client.ts @@ -41,109 +41,99 @@ export class ItemFulfillmentsClient { * showEnumOrigins: "status" * }) */ - public async list( + public list( request: Merge.accounting.ItemFulfillmentsListRequest = {}, requestOptions?: ItemFulfillmentsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.ItemFulfillmentsListRequest, - ): Promise> => { - const { - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeRemoteFields, - includeShellData, - pageSize, - remoteFields, - showEnumOrigins, - } = request; - const _queryParams: Record = { - cursor, - expand: Array.isArray(expand) - ? expand.map((item) => - serializers.accounting.ItemFulfillmentsListRequestExpandItem.jsonOrThrow(item, { - unrecognizedObjectKeys: "strip", - }), - ) - : expand != null - ? serializers.accounting.ItemFulfillmentsListRequestExpandItem.jsonOrThrow(expand, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_remote_fields: includeRemoteFields, - include_shell_data: includeShellData, - page_size: pageSize, - remote_fields: remoteFields != null ? remoteFields : undefined, - show_enum_origins: showEnumOrigins != null ? showEnumOrigins : undefined, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/item-fulfillments", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedItemFulfillmentList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/item-fulfillments", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.ItemFulfillmentsListRequest = {}, + requestOptions?: ItemFulfillmentsClient.RequestOptions, + ): Promise> { + const { + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeRemoteFields, + includeShellData, + pageSize, + remoteFields, + showEnumOrigins, + } = request; + const _queryParams: Record = { + cursor, + expand: Array.isArray(expand) + ? expand.map((item) => + serializers.accounting.ItemFulfillmentsListRequestExpandItem.jsonOrThrow(item, { + unrecognizedObjectKeys: "strip", + }), + ) + : expand != null + ? serializers.accounting.ItemFulfillmentsListRequestExpandItem.jsonOrThrow(expand, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_remote_fields: includeRemoteFields, + include_shell_data: includeShellData, + page_size: pageSize, + remote_fields: remoteFields != null ? remoteFields : undefined, + show_enum_origins: showEnumOrigins != null ? showEnumOrigins : undefined, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/item-fulfillments", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedItemFulfillmentList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/item-fulfillments", + ); } /** @@ -334,37 +324,30 @@ export class ItemFulfillmentsClient { } /** - * Creates an `ItemFulfillment` object with the given values. + * Creates multiple `ItemFulfillment` objects with the given values. * * @param {Merge.accounting.ItemFulfillmentBulkRequest} request * @param {ItemFulfillmentsClient.RequestOptions} requestOptions - Request-specific configuration. * * @example - * await client.accounting.itemFulfillments.asyncBulkCreate({ - * isDebugMode: true, - * runAsync: true, + * await client.accounting.itemFulfillments.bulkCreate({ * batchItems: [{ * itemId: "item_id", * payload: {} * }] * }) */ - public asyncBulkCreate( + public bulkCreate( request: Merge.accounting.ItemFulfillmentBulkRequest, requestOptions?: ItemFulfillmentsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__asyncBulkCreate(request, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__bulkCreate(request, requestOptions)); } - private async __asyncBulkCreate( + private async __bulkCreate( request: Merge.accounting.ItemFulfillmentBulkRequest, requestOptions?: ItemFulfillmentsClient.RequestOptions, ): Promise> { - const { isDebugMode, runAsync, ..._body } = request; - const _queryParams: Record = { - is_debug_mode: isDebugMode, - run_async: runAsync, - }; const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -377,14 +360,14 @@ export class ItemFulfillmentsClient { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.MergeEnvironment.Production, - "accounting/v1/item-fulfillments/async/bulk", + "accounting/v1/item-fulfillments/bulk", ), method: "POST", headers: _headers, contentType: "application/json", - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + queryParameters: requestOptions?.queryParams, requestType: "json", - body: serializers.accounting.ItemFulfillmentBulkRequest.jsonOrThrow(_body, { + body: serializers.accounting.ItemFulfillmentBulkRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip", }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, @@ -418,74 +401,30 @@ export class ItemFulfillmentsClient { _response.error, _response.rawResponse, "POST", - "/accounting/v1/item-fulfillments/async/bulk", + "/accounting/v1/item-fulfillments/bulk", ); } /** - * Returns a list of `ItemFulfillment` objects. + * Returns the status and results of an `ItemFulfillment` bulk create batch. * * @param {string} batch_id - * @param {Merge.accounting.ItemFulfillmentsBatchObjectsListRequest} request * @param {ItemFulfillmentsClient.RequestOptions} requestOptions - Request-specific configuration. * * @example - * await client.accounting.itemFulfillments.batchObjectsList("batch_id", { - * cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - * includeDeletedData: true, - * includeRemoteData: true, - * includeRemoteFields: true, - * includeShellData: true, - * pageSize: 1, - * remoteFields: "status", - * showEnumOrigins: "status" - * }) + * await client.accounting.itemFulfillments.bulkRetrieve("batch_id") */ - public batchObjectsList( + public bulkRetrieve( batch_id: string, - request: Merge.accounting.ItemFulfillmentsBatchObjectsListRequest = {}, requestOptions?: ItemFulfillmentsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__batchObjectsList(batch_id, request, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__bulkRetrieve(batch_id, requestOptions)); } - private async __batchObjectsList( + private async __bulkRetrieve( batch_id: string, - request: Merge.accounting.ItemFulfillmentsBatchObjectsListRequest = {}, requestOptions?: ItemFulfillmentsClient.RequestOptions, ): Promise> { - const { - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeRemoteFields, - includeShellData, - pageSize, - remoteFields, - showEnumOrigins, - } = request; - const _queryParams: Record = { - cursor, - expand: Array.isArray(expand) - ? expand.map((item) => - serializers.accounting.ItemFulfillmentsBatchObjectsListRequestExpandItem.jsonOrThrow(item, { - unrecognizedObjectKeys: "strip", - }), - ) - : expand != null - ? serializers.accounting.ItemFulfillmentsBatchObjectsListRequestExpandItem.jsonOrThrow(expand, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_remote_fields: includeRemoteFields, - include_shell_data: includeShellData, - page_size: pageSize, - remote_fields: remoteFields != null ? remoteFields : undefined, - show_enum_origins: showEnumOrigins != null ? showEnumOrigins : undefined, - }; const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -498,11 +437,11 @@ export class ItemFulfillmentsClient { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.MergeEnvironment.Production, - `accounting/v1/item-fulfillments/batch/${core.url.encodePathParam(batch_id)}/objects`, + `accounting/v1/item-fulfillments/bulk/${core.url.encodePathParam(batch_id)}`, ), method: "GET", headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + queryParameters: requestOptions?.queryParams, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -534,7 +473,7 @@ export class ItemFulfillmentsClient { _response.error, _response.rawResponse, "GET", - "/accounting/v1/item-fulfillments/batch/{batch_id}/objects", + "/accounting/v1/item-fulfillments/bulk/{batch_id}", ); } @@ -555,95 +494,85 @@ export class ItemFulfillmentsClient { * pageSize: 1 * }) */ - public async linesRemoteFieldClassesList( + public linesRemoteFieldClassesList( request: Merge.accounting.ItemFulfillmentsLinesRemoteFieldClassesListRequest = {}, requestOptions?: ItemFulfillmentsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.ItemFulfillmentsLinesRemoteFieldClassesListRequest, - ): Promise> => { - const { - cursor, - includeDeletedData, - includeRemoteData, - includeShellData, - isCommonModelField, - isCustom, - pageSize, - } = request; - const _queryParams: Record = { - cursor, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - is_common_model_field: isCommonModelField, - is_custom: isCustom, - page_size: pageSize, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/item-fulfillments/lines/remote-field-classes", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/item-fulfillments/lines/remote-field-classes", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__linesRemoteFieldClassesList(request, requestOptions)); + } + + private async __linesRemoteFieldClassesList( + request: Merge.accounting.ItemFulfillmentsLinesRemoteFieldClassesListRequest = {}, + requestOptions?: ItemFulfillmentsClient.RequestOptions, + ): Promise> { + const { + cursor, + includeDeletedData, + includeRemoteData, + includeShellData, + isCommonModelField, + isCustom, + pageSize, + } = request; + const _queryParams: Record = { + cursor, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + is_common_model_field: isCommonModelField, + is_custom: isCustom, + page_size: pageSize, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/item-fulfillments/lines/remote-field-classes", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/item-fulfillments/lines/remote-field-classes", + ); } /** @@ -732,94 +661,84 @@ export class ItemFulfillmentsClient { * pageSize: 1 * }) */ - public async remoteFieldClassesList( + public remoteFieldClassesList( + request: Merge.accounting.ItemFulfillmentsRemoteFieldClassesListRequest = {}, + requestOptions?: ItemFulfillmentsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__remoteFieldClassesList(request, requestOptions)); + } + + private async __remoteFieldClassesList( request: Merge.accounting.ItemFulfillmentsRemoteFieldClassesListRequest = {}, requestOptions?: ItemFulfillmentsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.ItemFulfillmentsRemoteFieldClassesListRequest, - ): Promise> => { - const { - cursor, - includeDeletedData, - includeRemoteData, - includeShellData, - isCommonModelField, - isCustom, - pageSize, - } = request; - const _queryParams: Record = { - cursor, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - is_common_model_field: isCommonModelField, - is_custom: isCustom, - page_size: pageSize, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/item-fulfillments/remote-field-classes", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/item-fulfillments/remote-field-classes", - ); - }, + ): Promise> { + const { + cursor, + includeDeletedData, + includeRemoteData, + includeShellData, + isCommonModelField, + isCustom, + pageSize, + } = request; + const _queryParams: Record = { + cursor, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + is_common_model_field: isCommonModelField, + is_custom: isCustom, + page_size: pageSize, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/item-fulfillments/remote-field-classes", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/item-fulfillments/remote-field-classes", + ); } } diff --git a/src/api/resources/accounting/resources/itemFulfillments/client/requests/ItemFulfillmentBulkRequest.ts b/src/api/resources/accounting/resources/itemFulfillments/client/requests/ItemFulfillmentBulkRequest.ts index bd7c14a0a..5ecb5b617 100644 --- a/src/api/resources/accounting/resources/itemFulfillments/client/requests/ItemFulfillmentBulkRequest.ts +++ b/src/api/resources/accounting/resources/itemFulfillments/client/requests/ItemFulfillmentBulkRequest.ts @@ -5,8 +5,6 @@ import type * as Merge from "../../../../../../index"; /** * @example * { - * isDebugMode: true, - * runAsync: true, * batchItems: [{ * itemId: "item_id", * payload: {} @@ -14,9 +12,5 @@ import type * as Merge from "../../../../../../index"; * } */ export interface ItemFulfillmentBulkRequest { - /** Whether to include debug fields (such as log file links) in the response. */ - isDebugMode?: boolean; - /** Whether or not third-party updates should be run asynchronously. */ - runAsync?: boolean; batchItems: Merge.accounting.ItemFulfillmentBatchItemRequest[]; } diff --git a/src/api/resources/accounting/resources/itemFulfillments/client/requests/ItemFulfillmentsBatchObjectsListRequest.ts b/src/api/resources/accounting/resources/itemFulfillments/client/requests/ItemFulfillmentsBatchObjectsListRequest.ts deleted file mode 100644 index 8a8f7de3f..000000000 --- a/src/api/resources/accounting/resources/itemFulfillments/client/requests/ItemFulfillmentsBatchObjectsListRequest.ts +++ /dev/null @@ -1,39 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Merge from "../../../../../../index"; - -/** - * @example - * { - * cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - * includeDeletedData: true, - * includeRemoteData: true, - * includeRemoteFields: true, - * includeShellData: true, - * pageSize: 1, - * remoteFields: "status", - * showEnumOrigins: "status" - * } - */ -export interface ItemFulfillmentsBatchObjectsListRequest { - /** The pagination cursor value. */ - cursor?: string; - /** Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. */ - expand?: - | Merge.accounting.ItemFulfillmentsBatchObjectsListRequestExpandItem - | Merge.accounting.ItemFulfillmentsBatchObjectsListRequestExpandItem[]; - /** Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). */ - includeDeletedData?: boolean; - /** Whether to include the original data Merge fetched from the third-party to produce these models. */ - includeRemoteData?: boolean; - /** Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. */ - includeRemoteFields?: boolean; - /** Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). */ - includeShellData?: boolean; - /** Number of results to return per page. The maximum limit is 100. */ - pageSize?: number; - /** Deprecated. Use show_enum_origins. */ - remoteFields?: "status"; - /** A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) */ - showEnumOrigins?: "status"; -} diff --git a/src/api/resources/accounting/resources/itemFulfillments/client/requests/index.ts b/src/api/resources/accounting/resources/itemFulfillments/client/requests/index.ts index 846f819b3..64c493b74 100644 --- a/src/api/resources/accounting/resources/itemFulfillments/client/requests/index.ts +++ b/src/api/resources/accounting/resources/itemFulfillments/client/requests/index.ts @@ -1,6 +1,5 @@ export type { ItemFulfillmentBulkRequest } from "./ItemFulfillmentBulkRequest"; export type { ItemFulfillmentEndpointRequest } from "./ItemFulfillmentEndpointRequest"; -export type { ItemFulfillmentsBatchObjectsListRequest } from "./ItemFulfillmentsBatchObjectsListRequest"; export type { ItemFulfillmentsLinesRemoteFieldClassesListRequest } from "./ItemFulfillmentsLinesRemoteFieldClassesListRequest"; export type { ItemFulfillmentsListRequest } from "./ItemFulfillmentsListRequest"; export type { ItemFulfillmentsRemoteFieldClassesListRequest } from "./ItemFulfillmentsRemoteFieldClassesListRequest"; diff --git a/src/api/resources/accounting/resources/itemFulfillments/types/ItemFulfillmentsBatchObjectsListRequestExpandItem.ts b/src/api/resources/accounting/resources/itemFulfillments/types/ItemFulfillmentsBatchObjectsListRequestExpandItem.ts deleted file mode 100644 index 26df5d834..000000000 --- a/src/api/resources/accounting/resources/itemFulfillments/types/ItemFulfillmentsBatchObjectsListRequestExpandItem.ts +++ /dev/null @@ -1,10 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -export const ItemFulfillmentsBatchObjectsListRequestExpandItem = { - Company: "company", - Customer: "customer", - Lines: "lines", - SalesOrder: "sales_order", -} as const; -export type ItemFulfillmentsBatchObjectsListRequestExpandItem = - (typeof ItemFulfillmentsBatchObjectsListRequestExpandItem)[keyof typeof ItemFulfillmentsBatchObjectsListRequestExpandItem]; diff --git a/src/api/resources/accounting/resources/itemFulfillments/types/index.ts b/src/api/resources/accounting/resources/itemFulfillments/types/index.ts index 64e091163..41b4a29c2 100644 --- a/src/api/resources/accounting/resources/itemFulfillments/types/index.ts +++ b/src/api/resources/accounting/resources/itemFulfillments/types/index.ts @@ -1,3 +1,2 @@ -export * from "./ItemFulfillmentsBatchObjectsListRequestExpandItem"; export * from "./ItemFulfillmentsListRequestExpandItem"; export * from "./ItemFulfillmentsRetrieveRequestExpandItem"; diff --git a/src/api/resources/accounting/resources/items/client/Client.ts b/src/api/resources/accounting/resources/items/client/Client.ts index c96f45366..9998570f0 100644 --- a/src/api/resources/accounting/resources/items/client/Client.ts +++ b/src/api/resources/accounting/resources/items/client/Client.ts @@ -47,116 +47,106 @@ export class ItemsClient { * showEnumOrigins: "status" * }) */ - public async list( + public list( request: Merge.accounting.ItemsListRequest = {}, requestOptions?: ItemsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.ItemsListRequest, - ): Promise> => { - const { - companyId, - createdAfter, - createdBefore, - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeShellData, - modifiedAfter, - modifiedBefore, - name, - pageSize, - remoteFields, - remoteId, - showEnumOrigins, - } = request; - const _queryParams: Record = { - company_id: companyId, - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - expand: Array.isArray(expand) - ? expand.map((item) => - serializers.accounting.ItemsListRequestExpandItem.jsonOrThrow(item, { - unrecognizedObjectKeys: "strip", - }), - ) - : expand != null - ? serializers.accounting.ItemsListRequestExpandItem.jsonOrThrow(expand, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - name, - page_size: pageSize, - remote_fields: remoteFields != null ? remoteFields : undefined, - remote_id: remoteId, - show_enum_origins: showEnumOrigins != null ? showEnumOrigins : undefined, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/items", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedItemList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/accounting/v1/items"); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.ItemsListRequest = {}, + requestOptions?: ItemsClient.RequestOptions, + ): Promise> { + const { + companyId, + createdAfter, + createdBefore, + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeShellData, + modifiedAfter, + modifiedBefore, + name, + pageSize, + remoteFields, + remoteId, + showEnumOrigins, + } = request; + const _queryParams: Record = { + company_id: companyId, + created_after: createdAfter?.toISOString(), + created_before: createdBefore?.toISOString(), + cursor, + expand: Array.isArray(expand) + ? expand.map((item) => + serializers.accounting.ItemsListRequestExpandItem.jsonOrThrow(item, { + unrecognizedObjectKeys: "strip", + }), + ) + : expand != null + ? serializers.accounting.ItemsListRequestExpandItem.jsonOrThrow(expand, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + modified_after: modifiedAfter?.toISOString(), + modified_before: modifiedBefore?.toISOString(), + name, + page_size: pageSize, + remote_fields: remoteFields != null ? remoteFields : undefined, + remote_id: remoteId, + show_enum_origins: showEnumOrigins != null ? showEnumOrigins : undefined, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/items", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedItemList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/accounting/v1/items"); } /** diff --git a/src/api/resources/accounting/resources/journalEntries/client/Client.ts b/src/api/resources/accounting/resources/journalEntries/client/Client.ts index 45d114bfb..df3a1c63a 100644 --- a/src/api/resources/accounting/resources/journalEntries/client/Client.ts +++ b/src/api/resources/accounting/resources/journalEntries/client/Client.ts @@ -47,121 +47,111 @@ export class JournalEntriesClient { * transactionDateBefore: new Date("2024-01-15T09:30:00.000Z") * }) */ - public async list( + public list( request: Merge.accounting.JournalEntriesListRequest = {}, requestOptions?: JournalEntriesClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.JournalEntriesListRequest, - ): Promise> => { - const { - companyId, - createdAfter, - createdBefore, - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeRemoteFields, - includeShellData, - modifiedAfter, - modifiedBefore, - pageSize, - remoteId, - transactionDateAfter, - transactionDateBefore, - } = request; - const _queryParams: Record = { - company_id: companyId, - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - expand: Array.isArray(expand) - ? expand.map((item) => - serializers.accounting.JournalEntriesListRequestExpandItem.jsonOrThrow(item, { - unrecognizedObjectKeys: "strip", - }), - ) - : expand != null - ? serializers.accounting.JournalEntriesListRequestExpandItem.jsonOrThrow(expand, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_remote_fields: includeRemoteFields, - include_shell_data: includeShellData, - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - page_size: pageSize, - remote_id: remoteId, - transaction_date_after: transactionDateAfter?.toISOString(), - transaction_date_before: transactionDateBefore?.toISOString(), - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/journal-entries", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedJournalEntryList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/journal-entries", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.JournalEntriesListRequest = {}, + requestOptions?: JournalEntriesClient.RequestOptions, + ): Promise> { + const { + companyId, + createdAfter, + createdBefore, + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeRemoteFields, + includeShellData, + modifiedAfter, + modifiedBefore, + pageSize, + remoteId, + transactionDateAfter, + transactionDateBefore, + } = request; + const _queryParams: Record = { + company_id: companyId, + created_after: createdAfter?.toISOString(), + created_before: createdBefore?.toISOString(), + cursor, + expand: Array.isArray(expand) + ? expand.map((item) => + serializers.accounting.JournalEntriesListRequestExpandItem.jsonOrThrow(item, { + unrecognizedObjectKeys: "strip", + }), + ) + : expand != null + ? serializers.accounting.JournalEntriesListRequestExpandItem.jsonOrThrow(expand, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_remote_fields: includeRemoteFields, + include_shell_data: includeShellData, + modified_after: modifiedAfter?.toISOString(), + modified_before: modifiedBefore?.toISOString(), + page_size: pageSize, + remote_id: remoteId, + transaction_date_after: transactionDateAfter?.toISOString(), + transaction_date_before: transactionDateBefore?.toISOString(), + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/journal-entries", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedJournalEntryList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/journal-entries", + ); } /** @@ -363,95 +353,85 @@ export class JournalEntriesClient { * pageSize: 1 * }) */ - public async linesRemoteFieldClassesList( + public linesRemoteFieldClassesList( request: Merge.accounting.JournalEntriesLinesRemoteFieldClassesListRequest = {}, requestOptions?: JournalEntriesClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.JournalEntriesLinesRemoteFieldClassesListRequest, - ): Promise> => { - const { - cursor, - includeDeletedData, - includeRemoteData, - includeShellData, - isCommonModelField, - isCustom, - pageSize, - } = request; - const _queryParams: Record = { - cursor, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - is_common_model_field: isCommonModelField, - is_custom: isCustom, - page_size: pageSize, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/journal-entries/lines/remote-field-classes", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/journal-entries/lines/remote-field-classes", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__linesRemoteFieldClassesList(request, requestOptions)); + } + + private async __linesRemoteFieldClassesList( + request: Merge.accounting.JournalEntriesLinesRemoteFieldClassesListRequest = {}, + requestOptions?: JournalEntriesClient.RequestOptions, + ): Promise> { + const { + cursor, + includeDeletedData, + includeRemoteData, + includeShellData, + isCommonModelField, + isCustom, + pageSize, + } = request; + const _queryParams: Record = { + cursor, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + is_common_model_field: isCommonModelField, + is_custom: isCustom, + page_size: pageSize, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/journal-entries/lines/remote-field-classes", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/journal-entries/lines/remote-field-classes", + ); } /** @@ -540,94 +520,84 @@ export class JournalEntriesClient { * pageSize: 1 * }) */ - public async remoteFieldClassesList( + public remoteFieldClassesList( request: Merge.accounting.JournalEntriesRemoteFieldClassesListRequest = {}, requestOptions?: JournalEntriesClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.JournalEntriesRemoteFieldClassesListRequest, - ): Promise> => { - const { - cursor, - includeDeletedData, - includeRemoteData, - includeShellData, - isCommonModelField, - isCustom, - pageSize, - } = request; - const _queryParams: Record = { - cursor, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - is_common_model_field: isCommonModelField, - is_custom: isCustom, - page_size: pageSize, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/journal-entries/remote-field-classes", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/journal-entries/remote-field-classes", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__remoteFieldClassesList(request, requestOptions)); + } + + private async __remoteFieldClassesList( + request: Merge.accounting.JournalEntriesRemoteFieldClassesListRequest = {}, + requestOptions?: JournalEntriesClient.RequestOptions, + ): Promise> { + const { + cursor, + includeDeletedData, + includeRemoteData, + includeShellData, + isCommonModelField, + isCustom, + pageSize, + } = request; + const _queryParams: Record = { + cursor, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + is_common_model_field: isCommonModelField, + is_custom: isCustom, + page_size: pageSize, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/journal-entries/remote-field-classes", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/journal-entries/remote-field-classes", + ); } } diff --git a/src/api/resources/accounting/resources/linkedAccounts/client/Client.ts b/src/api/resources/accounting/resources/linkedAccounts/client/Client.ts index 389b3ebf5..8e681524d 100644 --- a/src/api/resources/accounting/resources/linkedAccounts/client/Client.ts +++ b/src/api/resources/accounting/resources/linkedAccounts/client/Client.ts @@ -46,119 +46,101 @@ export class LinkedAccountsClient { * status: "status" * }) */ - public async list( + public list( request: Merge.accounting.LinkedAccountsListRequest = {}, requestOptions?: LinkedAccountsClient.RequestOptions, - ): Promise< - core.Page - > { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.LinkedAccountsListRequest, - ): Promise> => { - const { - category, - cursor, - endUserEmailAddress, - endUserOrganizationName, - endUserOriginId, - endUserOriginIds, - id, - ids, - includeDuplicates, - integrationName, - isTestAccount, - pageSize, - status, - } = request; - const _queryParams: Record = { - category: - category != null - ? serializers.accounting.LinkedAccountsListRequestCategory.jsonOrThrow(category, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - cursor, - end_user_email_address: endUserEmailAddress, - end_user_organization_name: endUserOrganizationName, - end_user_origin_id: endUserOriginId, - end_user_origin_ids: endUserOriginIds, - id, - ids, - include_duplicates: includeDuplicates, - integration_name: integrationName, - is_test_account: isTestAccount, - page_size: pageSize, - status, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/linked-accounts", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedAccountDetailsAndActionsList.parseOrThrow( - _response.body, - { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }, - ), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/linked-accounts", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.LinkedAccountsListRequest = {}, + requestOptions?: LinkedAccountsClient.RequestOptions, + ): Promise> { + const { + category, + cursor, + endUserEmailAddress, + endUserOrganizationName, + endUserOriginId, + endUserOriginIds, + id, + ids, + includeDuplicates, + integrationName, + isTestAccount, + pageSize, + status, + } = request; + const _queryParams: Record = { + category: + category != null + ? serializers.accounting.LinkedAccountsListRequestCategory.jsonOrThrow(category, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + cursor, + end_user_email_address: endUserEmailAddress, + end_user_organization_name: endUserOrganizationName, + end_user_origin_id: endUserOriginId, + end_user_origin_ids: endUserOriginIds, + id, + ids, + include_duplicates: includeDuplicates, + integration_name: integrationName, + is_test_account: isTestAccount, + page_size: pageSize, + status, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page< - Merge.accounting.AccountDetailsAndActions, - Merge.accounting.PaginatedAccountDetailsAndActionsList - >({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/linked-accounts", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedAccountDetailsAndActionsList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/linked-accounts", + ); } } diff --git a/src/api/resources/accounting/resources/paymentMethods/client/Client.ts b/src/api/resources/accounting/resources/paymentMethods/client/Client.ts index 880d9b19a..718a2415c 100644 --- a/src/api/resources/accounting/resources/paymentMethods/client/Client.ts +++ b/src/api/resources/accounting/resources/paymentMethods/client/Client.ts @@ -38,85 +38,75 @@ export class PaymentMethodsClient { * pageSize: 1 * }) */ - public async list( + public list( request: Merge.accounting.PaymentMethodsListRequest = {}, requestOptions?: PaymentMethodsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.PaymentMethodsListRequest, - ): Promise> => { - const { cursor, includeDeletedData, includeRemoteData, includeShellData, pageSize } = request; - const _queryParams: Record = { - cursor, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - page_size: pageSize, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/payment-methods", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedPaymentMethodList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/payment-methods", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.PaymentMethodsListRequest = {}, + requestOptions?: PaymentMethodsClient.RequestOptions, + ): Promise> { + const { cursor, includeDeletedData, includeRemoteData, includeShellData, pageSize } = request; + const _queryParams: Record = { + cursor, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + page_size: pageSize, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/payment-methods", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedPaymentMethodList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/payment-methods", + ); } /** diff --git a/src/api/resources/accounting/resources/paymentTerms/client/Client.ts b/src/api/resources/accounting/resources/paymentTerms/client/Client.ts index 30eabd157..3875a4acd 100644 --- a/src/api/resources/accounting/resources/paymentTerms/client/Client.ts +++ b/src/api/resources/accounting/resources/paymentTerms/client/Client.ts @@ -38,86 +38,71 @@ export class PaymentTermsClient { * pageSize: 1 * }) */ - public async list( + public list( request: Merge.accounting.PaymentTermsListRequest = {}, requestOptions?: PaymentTermsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.PaymentTermsListRequest, - ): Promise> => { - const { cursor, expand, includeDeletedData, includeRemoteData, includeShellData, pageSize } = request; - const _queryParams: Record = { - cursor, - expand: Array.isArray(expand) ? expand.map((item) => item) : expand != null ? expand : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - page_size: pageSize, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/payment-terms", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedPaymentTermList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/payment-terms", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.PaymentTermsListRequest = {}, + requestOptions?: PaymentTermsClient.RequestOptions, + ): Promise> { + const { cursor, expand, includeDeletedData, includeRemoteData, includeShellData, pageSize } = request; + const _queryParams: Record = { + cursor, + expand: Array.isArray(expand) ? expand.map((item) => item) : expand != null ? expand : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + page_size: pageSize, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/payment-terms", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedPaymentTermList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/accounting/v1/payment-terms"); } /** diff --git a/src/api/resources/accounting/resources/payments/client/Client.ts b/src/api/resources/accounting/resources/payments/client/Client.ts index 9ac011aab..680058440 100644 --- a/src/api/resources/accounting/resources/payments/client/Client.ts +++ b/src/api/resources/accounting/resources/payments/client/Client.ts @@ -49,125 +49,110 @@ export class PaymentsClient { * transactionDateBefore: new Date("2024-01-15T09:30:00.000Z") * }) */ - public async list( + public list( request: Merge.accounting.PaymentsListRequest = {}, requestOptions?: PaymentsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.PaymentsListRequest, - ): Promise> => { - const { - accountId, - companyId, - contactId, - createdAfter, - createdBefore, - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeRemoteFields, - includeShellData, - modifiedAfter, - modifiedBefore, - pageSize, - remoteId, - transactionDateAfter, - transactionDateBefore, - } = request; - const _queryParams: Record = { - account_id: accountId, - company_id: companyId, - contact_id: contactId, - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - expand: Array.isArray(expand) - ? expand.map((item) => - serializers.accounting.PaymentsListRequestExpandItem.jsonOrThrow(item, { - unrecognizedObjectKeys: "strip", - }), - ) - : expand != null - ? serializers.accounting.PaymentsListRequestExpandItem.jsonOrThrow(expand, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_remote_fields: includeRemoteFields, - include_shell_data: includeShellData, - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - page_size: pageSize, - remote_id: remoteId, - transaction_date_after: transactionDateAfter?.toISOString(), - transaction_date_before: transactionDateBefore?.toISOString(), - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/payments", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedPaymentList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/payments", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.PaymentsListRequest = {}, + requestOptions?: PaymentsClient.RequestOptions, + ): Promise> { + const { + accountId, + companyId, + contactId, + createdAfter, + createdBefore, + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeRemoteFields, + includeShellData, + modifiedAfter, + modifiedBefore, + pageSize, + remoteId, + transactionDateAfter, + transactionDateBefore, + } = request; + const _queryParams: Record = { + account_id: accountId, + company_id: companyId, + contact_id: contactId, + created_after: createdAfter?.toISOString(), + created_before: createdBefore?.toISOString(), + cursor, + expand: Array.isArray(expand) + ? expand.map((item) => + serializers.accounting.PaymentsListRequestExpandItem.jsonOrThrow(item, { + unrecognizedObjectKeys: "strip", + }), + ) + : expand != null + ? serializers.accounting.PaymentsListRequestExpandItem.jsonOrThrow(expand, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_remote_fields: includeRemoteFields, + include_shell_data: includeShellData, + modified_after: modifiedAfter?.toISOString(), + modified_before: modifiedBefore?.toISOString(), + page_size: pageSize, + remote_id: remoteId, + transaction_date_after: transactionDateAfter?.toISOString(), + transaction_date_before: transactionDateBefore?.toISOString(), + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/payments", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedPaymentList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/accounting/v1/payments"); } /** @@ -446,95 +431,85 @@ export class PaymentsClient { * pageSize: 1 * }) */ - public async lineItemsRemoteFieldClassesList( + public lineItemsRemoteFieldClassesList( + request: Merge.accounting.PaymentsLineItemsRemoteFieldClassesListRequest = {}, + requestOptions?: PaymentsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__lineItemsRemoteFieldClassesList(request, requestOptions)); + } + + private async __lineItemsRemoteFieldClassesList( request: Merge.accounting.PaymentsLineItemsRemoteFieldClassesListRequest = {}, requestOptions?: PaymentsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.PaymentsLineItemsRemoteFieldClassesListRequest, - ): Promise> => { - const { - cursor, - includeDeletedData, - includeRemoteData, - includeShellData, - isCommonModelField, - isCustom, - pageSize, - } = request; - const _queryParams: Record = { - cursor, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - is_common_model_field: isCommonModelField, - is_custom: isCustom, - page_size: pageSize, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/payments/line-items/remote-field-classes", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/payments/line-items/remote-field-classes", - ); - }, + ): Promise> { + const { + cursor, + includeDeletedData, + includeRemoteData, + includeShellData, + isCommonModelField, + isCustom, + pageSize, + } = request; + const _queryParams: Record = { + cursor, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + is_common_model_field: isCommonModelField, + is_custom: isCustom, + page_size: pageSize, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/payments/line-items/remote-field-classes", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/payments/line-items/remote-field-classes", + ); } /** @@ -695,94 +670,84 @@ export class PaymentsClient { * pageSize: 1 * }) */ - public async remoteFieldClassesList( + public remoteFieldClassesList( + request: Merge.accounting.PaymentsRemoteFieldClassesListRequest = {}, + requestOptions?: PaymentsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__remoteFieldClassesList(request, requestOptions)); + } + + private async __remoteFieldClassesList( request: Merge.accounting.PaymentsRemoteFieldClassesListRequest = {}, requestOptions?: PaymentsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.PaymentsRemoteFieldClassesListRequest, - ): Promise> => { - const { - cursor, - includeDeletedData, - includeRemoteData, - includeShellData, - isCommonModelField, - isCustom, - pageSize, - } = request; - const _queryParams: Record = { - cursor, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - is_common_model_field: isCommonModelField, - is_custom: isCustom, - page_size: pageSize, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/payments/remote-field-classes", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/payments/remote-field-classes", - ); - }, + ): Promise> { + const { + cursor, + includeDeletedData, + includeRemoteData, + includeShellData, + isCommonModelField, + isCustom, + pageSize, + } = request; + const _queryParams: Record = { + cursor, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + is_common_model_field: isCommonModelField, + is_custom: isCustom, + page_size: pageSize, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/payments/remote-field-classes", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/payments/remote-field-classes", + ); } } diff --git a/src/api/resources/accounting/resources/projects/client/Client.ts b/src/api/resources/accounting/resources/projects/client/Client.ts index 1ed7b13d9..0df6c3fce 100644 --- a/src/api/resources/accounting/resources/projects/client/Client.ts +++ b/src/api/resources/accounting/resources/projects/client/Client.ts @@ -44,115 +44,100 @@ export class ProjectsClient { * remoteId: "remote_id" * }) */ - public async list( + public list( request: Merge.accounting.ProjectsListRequest = {}, requestOptions?: ProjectsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.ProjectsListRequest, - ): Promise> => { - const { - companyId, - createdAfter, - createdBefore, - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeShellData, - modifiedAfter, - modifiedBefore, - pageSize, - remoteId, - } = request; - const _queryParams: Record = { - company_id: companyId, - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - expand: Array.isArray(expand) - ? expand.map((item) => - serializers.accounting.ProjectsListRequestExpandItem.jsonOrThrow(item, { - unrecognizedObjectKeys: "strip", - }), - ) - : expand != null - ? serializers.accounting.ProjectsListRequestExpandItem.jsonOrThrow(expand, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - page_size: pageSize, - remote_id: remoteId, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/projects", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedProjectList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/projects", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.ProjectsListRequest = {}, + requestOptions?: ProjectsClient.RequestOptions, + ): Promise> { + const { + companyId, + createdAfter, + createdBefore, + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeShellData, + modifiedAfter, + modifiedBefore, + pageSize, + remoteId, + } = request; + const _queryParams: Record = { + company_id: companyId, + created_after: createdAfter?.toISOString(), + created_before: createdBefore?.toISOString(), + cursor, + expand: Array.isArray(expand) + ? expand.map((item) => + serializers.accounting.ProjectsListRequestExpandItem.jsonOrThrow(item, { + unrecognizedObjectKeys: "strip", + }), + ) + : expand != null + ? serializers.accounting.ProjectsListRequestExpandItem.jsonOrThrow(expand, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + modified_after: modifiedAfter?.toISOString(), + modified_before: modifiedBefore?.toISOString(), + page_size: pageSize, + remote_id: remoteId, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/projects", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedProjectList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/accounting/v1/projects"); } /** diff --git a/src/api/resources/accounting/resources/purchaseOrders/client/Client.ts b/src/api/resources/accounting/resources/purchaseOrders/client/Client.ts index 72ebd3000..17494aa1a 100644 --- a/src/api/resources/accounting/resources/purchaseOrders/client/Client.ts +++ b/src/api/resources/accounting/resources/purchaseOrders/client/Client.ts @@ -49,125 +49,115 @@ export class PurchaseOrdersClient { * showEnumOrigins: "status" * }) */ - public async list( + public list( request: Merge.accounting.PurchaseOrdersListRequest = {}, requestOptions?: PurchaseOrdersClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.PurchaseOrdersListRequest, - ): Promise> => { - const { - companyId, - createdAfter, - createdBefore, - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeRemoteFields, - includeShellData, - issueDateAfter, - issueDateBefore, - modifiedAfter, - modifiedBefore, - pageSize, - remoteFields, - remoteId, - showEnumOrigins, - } = request; - const _queryParams: Record = { - company_id: companyId, - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - expand: Array.isArray(expand) - ? expand.map((item) => - serializers.accounting.PurchaseOrdersListRequestExpandItem.jsonOrThrow(item, { - unrecognizedObjectKeys: "strip", - }), - ) - : expand != null - ? serializers.accounting.PurchaseOrdersListRequestExpandItem.jsonOrThrow(expand, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_remote_fields: includeRemoteFields, - include_shell_data: includeShellData, - issue_date_after: issueDateAfter?.toISOString(), - issue_date_before: issueDateBefore?.toISOString(), - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - page_size: pageSize, - remote_fields: remoteFields != null ? remoteFields : undefined, - remote_id: remoteId, - show_enum_origins: showEnumOrigins != null ? showEnumOrigins : undefined, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/purchase-orders", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedPurchaseOrderList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/purchase-orders", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.PurchaseOrdersListRequest = {}, + requestOptions?: PurchaseOrdersClient.RequestOptions, + ): Promise> { + const { + companyId, + createdAfter, + createdBefore, + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeRemoteFields, + includeShellData, + issueDateAfter, + issueDateBefore, + modifiedAfter, + modifiedBefore, + pageSize, + remoteFields, + remoteId, + showEnumOrigins, + } = request; + const _queryParams: Record = { + company_id: companyId, + created_after: createdAfter?.toISOString(), + created_before: createdBefore?.toISOString(), + cursor, + expand: Array.isArray(expand) + ? expand.map((item) => + serializers.accounting.PurchaseOrdersListRequestExpandItem.jsonOrThrow(item, { + unrecognizedObjectKeys: "strip", + }), + ) + : expand != null + ? serializers.accounting.PurchaseOrdersListRequestExpandItem.jsonOrThrow(expand, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_remote_fields: includeRemoteFields, + include_shell_data: includeShellData, + issue_date_after: issueDateAfter?.toISOString(), + issue_date_before: issueDateBefore?.toISOString(), + modified_after: modifiedAfter?.toISOString(), + modified_before: modifiedBefore?.toISOString(), + page_size: pageSize, + remote_fields: remoteFields != null ? remoteFields : undefined, + remote_id: remoteId, + show_enum_origins: showEnumOrigins != null ? showEnumOrigins : undefined, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/purchase-orders", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedPurchaseOrderList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/purchase-orders", + ); } /** @@ -374,95 +364,85 @@ export class PurchaseOrdersClient { * pageSize: 1 * }) */ - public async lineItemsRemoteFieldClassesList( + public lineItemsRemoteFieldClassesList( + request: Merge.accounting.PurchaseOrdersLineItemsRemoteFieldClassesListRequest = {}, + requestOptions?: PurchaseOrdersClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__lineItemsRemoteFieldClassesList(request, requestOptions)); + } + + private async __lineItemsRemoteFieldClassesList( request: Merge.accounting.PurchaseOrdersLineItemsRemoteFieldClassesListRequest = {}, requestOptions?: PurchaseOrdersClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.PurchaseOrdersLineItemsRemoteFieldClassesListRequest, - ): Promise> => { - const { - cursor, - includeDeletedData, - includeRemoteData, - includeShellData, - isCommonModelField, - isCustom, - pageSize, - } = request; - const _queryParams: Record = { - cursor, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - is_common_model_field: isCommonModelField, - is_custom: isCustom, - page_size: pageSize, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/purchase-orders/line-items/remote-field-classes", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/purchase-orders/line-items/remote-field-classes", - ); - }, + ): Promise> { + const { + cursor, + includeDeletedData, + includeRemoteData, + includeShellData, + isCommonModelField, + isCustom, + pageSize, + } = request; + const _queryParams: Record = { + cursor, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + is_common_model_field: isCommonModelField, + is_custom: isCustom, + page_size: pageSize, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/purchase-orders/line-items/remote-field-classes", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/purchase-orders/line-items/remote-field-classes", + ); } /** @@ -551,94 +531,84 @@ export class PurchaseOrdersClient { * pageSize: 1 * }) */ - public async remoteFieldClassesList( + public remoteFieldClassesList( request: Merge.accounting.PurchaseOrdersRemoteFieldClassesListRequest = {}, requestOptions?: PurchaseOrdersClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.PurchaseOrdersRemoteFieldClassesListRequest, - ): Promise> => { - const { - cursor, - includeDeletedData, - includeRemoteData, - includeShellData, - isCommonModelField, - isCustom, - pageSize, - } = request; - const _queryParams: Record = { - cursor, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - is_common_model_field: isCommonModelField, - is_custom: isCustom, - page_size: pageSize, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/purchase-orders/remote-field-classes", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/purchase-orders/remote-field-classes", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__remoteFieldClassesList(request, requestOptions)); + } + + private async __remoteFieldClassesList( + request: Merge.accounting.PurchaseOrdersRemoteFieldClassesListRequest = {}, + requestOptions?: PurchaseOrdersClient.RequestOptions, + ): Promise> { + const { + cursor, + includeDeletedData, + includeRemoteData, + includeShellData, + isCommonModelField, + isCustom, + pageSize, + } = request; + const _queryParams: Record = { + cursor, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + is_common_model_field: isCommonModelField, + is_custom: isCustom, + page_size: pageSize, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/purchase-orders/remote-field-classes", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/purchase-orders/remote-field-classes", + ); } } diff --git a/src/api/resources/accounting/resources/salesOrders/client/Client.ts b/src/api/resources/accounting/resources/salesOrders/client/Client.ts index 1a6a0f154..d1d0f0f75 100644 --- a/src/api/resources/accounting/resources/salesOrders/client/Client.ts +++ b/src/api/resources/accounting/resources/salesOrders/client/Client.ts @@ -49,125 +49,110 @@ export class SalesOrdersClient { * showEnumOrigins: "status" * }) */ - public async list( + public list( request: Merge.accounting.SalesOrdersListRequest = {}, requestOptions?: SalesOrdersClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.SalesOrdersListRequest, - ): Promise> => { - const { - companyId, - createdAfter, - createdBefore, - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeRemoteFields, - includeShellData, - issueDateAfter, - issueDateBefore, - modifiedAfter, - modifiedBefore, - pageSize, - remoteFields, - remoteId, - showEnumOrigins, - } = request; - const _queryParams: Record = { - company_id: companyId, - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - expand: Array.isArray(expand) - ? expand.map((item) => - serializers.accounting.SalesOrdersListRequestExpandItem.jsonOrThrow(item, { - unrecognizedObjectKeys: "strip", - }), - ) - : expand != null - ? serializers.accounting.SalesOrdersListRequestExpandItem.jsonOrThrow(expand, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_remote_fields: includeRemoteFields, - include_shell_data: includeShellData, - issue_date_after: issueDateAfter?.toISOString(), - issue_date_before: issueDateBefore?.toISOString(), - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - page_size: pageSize, - remote_fields: remoteFields != null ? remoteFields : undefined, - remote_id: remoteId, - show_enum_origins: showEnumOrigins != null ? showEnumOrigins : undefined, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/sales-orders", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedSalesOrderList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/sales-orders", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.SalesOrdersListRequest = {}, + requestOptions?: SalesOrdersClient.RequestOptions, + ): Promise> { + const { + companyId, + createdAfter, + createdBefore, + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeRemoteFields, + includeShellData, + issueDateAfter, + issueDateBefore, + modifiedAfter, + modifiedBefore, + pageSize, + remoteFields, + remoteId, + showEnumOrigins, + } = request; + const _queryParams: Record = { + company_id: companyId, + created_after: createdAfter?.toISOString(), + created_before: createdBefore?.toISOString(), + cursor, + expand: Array.isArray(expand) + ? expand.map((item) => + serializers.accounting.SalesOrdersListRequestExpandItem.jsonOrThrow(item, { + unrecognizedObjectKeys: "strip", + }), + ) + : expand != null + ? serializers.accounting.SalesOrdersListRequestExpandItem.jsonOrThrow(expand, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_remote_fields: includeRemoteFields, + include_shell_data: includeShellData, + issue_date_after: issueDateAfter?.toISOString(), + issue_date_before: issueDateBefore?.toISOString(), + modified_after: modifiedAfter?.toISOString(), + modified_before: modifiedBefore?.toISOString(), + page_size: pageSize, + remote_fields: remoteFields != null ? remoteFields : undefined, + remote_id: remoteId, + show_enum_origins: showEnumOrigins != null ? showEnumOrigins : undefined, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/sales-orders", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedSalesOrderList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/accounting/v1/sales-orders"); } /** @@ -353,37 +338,30 @@ export class SalesOrdersClient { } /** - * Creates a `SalesOrder` object with the given values. + * Creates multiple `SalesOrder` objects with the given values. * * @param {Merge.accounting.SalesOrderBulkRequest} request * @param {SalesOrdersClient.RequestOptions} requestOptions - Request-specific configuration. * * @example - * await client.accounting.salesOrders.asyncBulkCreate({ - * isDebugMode: true, - * runAsync: true, + * await client.accounting.salesOrders.bulkCreate({ * batchItems: [{ * itemId: "item_id", * payload: {} * }] * }) */ - public asyncBulkCreate( + public bulkCreate( request: Merge.accounting.SalesOrderBulkRequest, requestOptions?: SalesOrdersClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__asyncBulkCreate(request, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__bulkCreate(request, requestOptions)); } - private async __asyncBulkCreate( + private async __bulkCreate( request: Merge.accounting.SalesOrderBulkRequest, requestOptions?: SalesOrdersClient.RequestOptions, ): Promise> { - const { isDebugMode, runAsync, ..._body } = request; - const _queryParams: Record = { - is_debug_mode: isDebugMode, - run_async: runAsync, - }; const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -396,14 +374,16 @@ export class SalesOrdersClient { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.MergeEnvironment.Production, - "accounting/v1/sales-orders/async/bulk", + "accounting/v1/sales-orders/bulk", ), method: "POST", headers: _headers, contentType: "application/json", - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + queryParameters: requestOptions?.queryParams, requestType: "json", - body: serializers.accounting.SalesOrderBulkRequest.jsonOrThrow(_body, { unrecognizedObjectKeys: "strip" }), + body: serializers.accounting.SalesOrderBulkRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -435,98 +415,30 @@ export class SalesOrdersClient { _response.error, _response.rawResponse, "POST", - "/accounting/v1/sales-orders/async/bulk", + "/accounting/v1/sales-orders/bulk", ); } /** - * Returns a list of `SalesOrder` objects. + * Returns the status and results of a `SalesOrder` bulk create batch. * * @param {string} batch_id - * @param {Merge.accounting.SalesOrdersBatchObjectsListRequest} request * @param {SalesOrdersClient.RequestOptions} requestOptions - Request-specific configuration. * * @example - * await client.accounting.salesOrders.batchObjectsList("batch_id", { - * companyId: "company_id", - * createdAfter: new Date("2024-01-15T09:30:00.000Z"), - * createdBefore: new Date("2024-01-15T09:30:00.000Z"), - * cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - * includeDeletedData: true, - * includeRemoteData: true, - * includeRemoteFields: true, - * includeShellData: true, - * issueDateAfter: new Date("2024-01-15T09:30:00.000Z"), - * issueDateBefore: new Date("2024-01-15T09:30:00.000Z"), - * modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - * modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - * pageSize: 1, - * remoteFields: "status", - * remoteId: "remote_id", - * showEnumOrigins: "status" - * }) + * await client.accounting.salesOrders.bulkRetrieve("batch_id") */ - public batchObjectsList( + public bulkRetrieve( batch_id: string, - request: Merge.accounting.SalesOrdersBatchObjectsListRequest = {}, requestOptions?: SalesOrdersClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__batchObjectsList(batch_id, request, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__bulkRetrieve(batch_id, requestOptions)); } - private async __batchObjectsList( + private async __bulkRetrieve( batch_id: string, - request: Merge.accounting.SalesOrdersBatchObjectsListRequest = {}, requestOptions?: SalesOrdersClient.RequestOptions, ): Promise> { - const { - companyId, - createdAfter, - createdBefore, - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeRemoteFields, - includeShellData, - issueDateAfter, - issueDateBefore, - modifiedAfter, - modifiedBefore, - pageSize, - remoteFields, - remoteId, - showEnumOrigins, - } = request; - const _queryParams: Record = { - company_id: companyId, - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - expand: Array.isArray(expand) - ? expand.map((item) => - serializers.accounting.SalesOrdersBatchObjectsListRequestExpandItem.jsonOrThrow(item, { - unrecognizedObjectKeys: "strip", - }), - ) - : expand != null - ? serializers.accounting.SalesOrdersBatchObjectsListRequestExpandItem.jsonOrThrow(expand, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_remote_fields: includeRemoteFields, - include_shell_data: includeShellData, - issue_date_after: issueDateAfter?.toISOString(), - issue_date_before: issueDateBefore?.toISOString(), - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - page_size: pageSize, - remote_fields: remoteFields != null ? remoteFields : undefined, - remote_id: remoteId, - show_enum_origins: showEnumOrigins != null ? showEnumOrigins : undefined, - }; const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -539,11 +451,11 @@ export class SalesOrdersClient { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.MergeEnvironment.Production, - `accounting/v1/sales-orders/batch/${core.url.encodePathParam(batch_id)}/objects`, + `accounting/v1/sales-orders/bulk/${core.url.encodePathParam(batch_id)}`, ), method: "GET", headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + queryParameters: requestOptions?.queryParams, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -575,7 +487,7 @@ export class SalesOrdersClient { _response.error, _response.rawResponse, "GET", - "/accounting/v1/sales-orders/batch/{batch_id}/objects", + "/accounting/v1/sales-orders/bulk/{batch_id}", ); } @@ -596,95 +508,85 @@ export class SalesOrdersClient { * pageSize: 1 * }) */ - public async linesRemoteFieldClassesList( + public linesRemoteFieldClassesList( request: Merge.accounting.SalesOrdersLinesRemoteFieldClassesListRequest = {}, requestOptions?: SalesOrdersClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.SalesOrdersLinesRemoteFieldClassesListRequest, - ): Promise> => { - const { - cursor, - includeDeletedData, - includeRemoteData, - includeShellData, - isCommonModelField, - isCustom, - pageSize, - } = request; - const _queryParams: Record = { - cursor, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - is_common_model_field: isCommonModelField, - is_custom: isCustom, - page_size: pageSize, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/sales-orders/lines/remote-field-classes", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/sales-orders/lines/remote-field-classes", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__linesRemoteFieldClassesList(request, requestOptions)); + } + + private async __linesRemoteFieldClassesList( + request: Merge.accounting.SalesOrdersLinesRemoteFieldClassesListRequest = {}, + requestOptions?: SalesOrdersClient.RequestOptions, + ): Promise> { + const { + cursor, + includeDeletedData, + includeRemoteData, + includeShellData, + isCommonModelField, + isCustom, + pageSize, + } = request; + const _queryParams: Record = { + cursor, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + is_common_model_field: isCommonModelField, + is_custom: isCustom, + page_size: pageSize, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/sales-orders/lines/remote-field-classes", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/sales-orders/lines/remote-field-classes", + ); } /** @@ -773,94 +675,84 @@ export class SalesOrdersClient { * pageSize: 1 * }) */ - public async remoteFieldClassesList( + public remoteFieldClassesList( request: Merge.accounting.SalesOrdersRemoteFieldClassesListRequest = {}, requestOptions?: SalesOrdersClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.SalesOrdersRemoteFieldClassesListRequest, - ): Promise> => { - const { - cursor, - includeDeletedData, - includeRemoteData, - includeShellData, - isCommonModelField, - isCustom, - pageSize, - } = request; - const _queryParams: Record = { - cursor, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - is_common_model_field: isCommonModelField, - is_custom: isCustom, - page_size: pageSize, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/sales-orders/remote-field-classes", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/sales-orders/remote-field-classes", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__remoteFieldClassesList(request, requestOptions)); + } + + private async __remoteFieldClassesList( + request: Merge.accounting.SalesOrdersRemoteFieldClassesListRequest = {}, + requestOptions?: SalesOrdersClient.RequestOptions, + ): Promise> { + const { + cursor, + includeDeletedData, + includeRemoteData, + includeShellData, + isCommonModelField, + isCustom, + pageSize, + } = request; + const _queryParams: Record = { + cursor, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + is_common_model_field: isCommonModelField, + is_custom: isCustom, + page_size: pageSize, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/sales-orders/remote-field-classes", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedRemoteFieldClassList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/sales-orders/remote-field-classes", + ); } } diff --git a/src/api/resources/accounting/resources/salesOrders/client/requests/SalesOrderBulkRequest.ts b/src/api/resources/accounting/resources/salesOrders/client/requests/SalesOrderBulkRequest.ts index 38fedaa95..20b56dacd 100644 --- a/src/api/resources/accounting/resources/salesOrders/client/requests/SalesOrderBulkRequest.ts +++ b/src/api/resources/accounting/resources/salesOrders/client/requests/SalesOrderBulkRequest.ts @@ -5,8 +5,6 @@ import type * as Merge from "../../../../../../index"; /** * @example * { - * isDebugMode: true, - * runAsync: true, * batchItems: [{ * itemId: "item_id", * payload: {} @@ -14,9 +12,5 @@ import type * as Merge from "../../../../../../index"; * } */ export interface SalesOrderBulkRequest { - /** Whether to include debug fields (such as log file links) in the response. */ - isDebugMode?: boolean; - /** Whether or not third-party updates should be run asynchronously. */ - runAsync?: boolean; batchItems: Merge.accounting.SalesOrderBatchItemRequest[]; } diff --git a/src/api/resources/accounting/resources/salesOrders/client/requests/SalesOrdersBatchObjectsListRequest.ts b/src/api/resources/accounting/resources/salesOrders/client/requests/SalesOrdersBatchObjectsListRequest.ts deleted file mode 100644 index a11b48937..000000000 --- a/src/api/resources/accounting/resources/salesOrders/client/requests/SalesOrdersBatchObjectsListRequest.ts +++ /dev/null @@ -1,63 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Merge from "../../../../../../index"; - -/** - * @example - * { - * companyId: "company_id", - * createdAfter: new Date("2024-01-15T09:30:00.000Z"), - * createdBefore: new Date("2024-01-15T09:30:00.000Z"), - * cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - * includeDeletedData: true, - * includeRemoteData: true, - * includeRemoteFields: true, - * includeShellData: true, - * issueDateAfter: new Date("2024-01-15T09:30:00.000Z"), - * issueDateBefore: new Date("2024-01-15T09:30:00.000Z"), - * modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - * modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - * pageSize: 1, - * remoteFields: "status", - * remoteId: "remote_id", - * showEnumOrigins: "status" - * } - */ -export interface SalesOrdersBatchObjectsListRequest { - /** If provided, will only return sales orders for this company. */ - companyId?: string; - /** If provided, will only return objects created after this datetime. */ - createdAfter?: Date; - /** If provided, will only return objects created before this datetime. */ - createdBefore?: Date; - /** The pagination cursor value. */ - cursor?: string; - /** Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. */ - expand?: - | Merge.accounting.SalesOrdersBatchObjectsListRequestExpandItem - | Merge.accounting.SalesOrdersBatchObjectsListRequestExpandItem[]; - /** Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). */ - includeDeletedData?: boolean; - /** Whether to include the original data Merge fetched from the third-party to produce these models. */ - includeRemoteData?: boolean; - /** Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. */ - includeRemoteFields?: boolean; - /** Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). */ - includeShellData?: boolean; - /** If provided, will only return objects created after this datetime. */ - issueDateAfter?: Date; - /** If provided, will only return objects created before this datetime. */ - issueDateBefore?: Date; - /** If provided, only objects synced by Merge after this date time will be returned. */ - modifiedAfter?: Date; - /** If provided, only objects synced by Merge before this date time will be returned. */ - modifiedBefore?: Date; - /** Number of results to return per page. The maximum limit is 100. */ - pageSize?: number; - /** Deprecated. Use show_enum_origins. */ - remoteFields?: "status"; - /** The API provider's ID for the given object. */ - remoteId?: string; - /** A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) */ - showEnumOrigins?: "status"; -} diff --git a/src/api/resources/accounting/resources/salesOrders/client/requests/index.ts b/src/api/resources/accounting/resources/salesOrders/client/requests/index.ts index 8335fc70b..607b9e377 100644 --- a/src/api/resources/accounting/resources/salesOrders/client/requests/index.ts +++ b/src/api/resources/accounting/resources/salesOrders/client/requests/index.ts @@ -1,6 +1,5 @@ export type { SalesOrderBulkRequest } from "./SalesOrderBulkRequest"; export type { SalesOrderEndpointRequest } from "./SalesOrderEndpointRequest"; -export type { SalesOrdersBatchObjectsListRequest } from "./SalesOrdersBatchObjectsListRequest"; export type { SalesOrdersLinesRemoteFieldClassesListRequest } from "./SalesOrdersLinesRemoteFieldClassesListRequest"; export type { SalesOrdersListRequest } from "./SalesOrdersListRequest"; export type { SalesOrdersRemoteFieldClassesListRequest } from "./SalesOrdersRemoteFieldClassesListRequest"; diff --git a/src/api/resources/accounting/resources/salesOrders/types/SalesOrdersBatchObjectsListRequestExpandItem.ts b/src/api/resources/accounting/resources/salesOrders/types/SalesOrdersBatchObjectsListRequestExpandItem.ts deleted file mode 100644 index 9f67c833a..000000000 --- a/src/api/resources/accounting/resources/salesOrders/types/SalesOrdersBatchObjectsListRequestExpandItem.ts +++ /dev/null @@ -1,12 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -export const SalesOrdersBatchObjectsListRequestExpandItem = { - Company: "company", - Customer: "customer", - Lines: "lines", - PaymentTerm: "payment_term", - ShippingAddress: "shipping_address", - TrackingCategories: "tracking_categories", -} as const; -export type SalesOrdersBatchObjectsListRequestExpandItem = - (typeof SalesOrdersBatchObjectsListRequestExpandItem)[keyof typeof SalesOrdersBatchObjectsListRequestExpandItem]; diff --git a/src/api/resources/accounting/resources/salesOrders/types/index.ts b/src/api/resources/accounting/resources/salesOrders/types/index.ts index df5f74cbe..20a37d0ed 100644 --- a/src/api/resources/accounting/resources/salesOrders/types/index.ts +++ b/src/api/resources/accounting/resources/salesOrders/types/index.ts @@ -1,3 +1,2 @@ -export * from "./SalesOrdersBatchObjectsListRequestExpandItem"; export * from "./SalesOrdersListRequestExpandItem"; export * from "./SalesOrdersRetrieveRequestExpandItem"; diff --git a/src/api/resources/accounting/resources/syncStatus/client/Client.ts b/src/api/resources/accounting/resources/syncStatus/client/Client.ts index 7ac64e0d5..3effe3b60 100644 --- a/src/api/resources/accounting/resources/syncStatus/client/Client.ts +++ b/src/api/resources/accounting/resources/syncStatus/client/Client.ts @@ -35,81 +35,66 @@ export class SyncStatusClient { * pageSize: 1 * }) */ - public async list( + public list( request: Merge.accounting.SyncStatusListRequest = {}, requestOptions?: SyncStatusClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.SyncStatusListRequest, - ): Promise> => { - const { cursor, pageSize } = request; - const _queryParams: Record = { - cursor, - page_size: pageSize, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/sync-status", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedSyncStatusList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/sync-status", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.SyncStatusListRequest = {}, + requestOptions?: SyncStatusClient.RequestOptions, + ): Promise> { + const { cursor, pageSize } = request; + const _queryParams: Record = { + cursor, + page_size: pageSize, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/sync-status", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedSyncStatusList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/accounting/v1/sync-status"); } } diff --git a/src/api/resources/accounting/resources/taxRates/client/Client.ts b/src/api/resources/accounting/resources/taxRates/client/Client.ts index 720b905cc..e4014fbaf 100644 --- a/src/api/resources/accounting/resources/taxRates/client/Client.ts +++ b/src/api/resources/accounting/resources/taxRates/client/Client.ts @@ -45,107 +45,92 @@ export class TaxRatesClient { * remoteId: "remote_id" * }) */ - public async list( + public list( request: Merge.accounting.TaxRatesListRequest = {}, requestOptions?: TaxRatesClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.TaxRatesListRequest, - ): Promise> => { - const { - companyId, - createdAfter, - createdBefore, - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeShellData, - modifiedAfter, - modifiedBefore, - name, - pageSize, - remoteId, - } = request; - const _queryParams: Record = { - company_id: companyId, - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - expand: Array.isArray(expand) ? expand.map((item) => item) : expand != null ? expand : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - name, - page_size: pageSize, - remote_id: remoteId, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/tax-rates", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedTaxRateList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/tax-rates", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.TaxRatesListRequest = {}, + requestOptions?: TaxRatesClient.RequestOptions, + ): Promise> { + const { + companyId, + createdAfter, + createdBefore, + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeShellData, + modifiedAfter, + modifiedBefore, + name, + pageSize, + remoteId, + } = request; + const _queryParams: Record = { + company_id: companyId, + created_after: createdAfter?.toISOString(), + created_before: createdBefore?.toISOString(), + cursor, + expand: Array.isArray(expand) ? expand.map((item) => item) : expand != null ? expand : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + modified_after: modifiedAfter?.toISOString(), + modified_before: modifiedBefore?.toISOString(), + name, + page_size: pageSize, + remote_id: remoteId, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/tax-rates", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedTaxRateList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/accounting/v1/tax-rates"); } /** diff --git a/src/api/resources/accounting/resources/trackingCategories/client/Client.ts b/src/api/resources/accounting/resources/trackingCategories/client/Client.ts index 54ea42684..214cb871f 100644 --- a/src/api/resources/accounting/resources/trackingCategories/client/Client.ts +++ b/src/api/resources/accounting/resources/trackingCategories/client/Client.ts @@ -49,126 +49,115 @@ export class TrackingCategoriesClient { * status: "" * }) */ - public async list( + public list( request: Merge.accounting.TrackingCategoriesListRequest = {}, requestOptions?: TrackingCategoriesClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.TrackingCategoriesListRequest, - ): Promise> => { - const { - categoryType, - companyId, - createdAfter, - createdBefore, - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeShellData, - modifiedAfter, - modifiedBefore, - name, - pageSize, - remoteFields, - remoteId, - showEnumOrigins, - status, - } = request; - const _queryParams: Record = { - category_type: - categoryType != null - ? serializers.accounting.TrackingCategoriesListRequestCategoryType.jsonOrThrow( - categoryType, - { unrecognizedObjectKeys: "strip" }, - ) - : undefined, - company_id: companyId, - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - expand: Array.isArray(expand) ? expand.map((item) => item) : expand != null ? expand : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - name, - page_size: pageSize, - remote_fields: remoteFields != null ? remoteFields : undefined, - remote_id: remoteId, - show_enum_origins: showEnumOrigins != null ? showEnumOrigins : undefined, - status: - status != null - ? serializers.accounting.TrackingCategoriesListRequestStatus.jsonOrThrow(status, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/tracking-categories", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedTrackingCategoryList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/tracking-categories", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.TrackingCategoriesListRequest = {}, + requestOptions?: TrackingCategoriesClient.RequestOptions, + ): Promise> { + const { + categoryType, + companyId, + createdAfter, + createdBefore, + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeShellData, + modifiedAfter, + modifiedBefore, + name, + pageSize, + remoteFields, + remoteId, + showEnumOrigins, + status, + } = request; + const _queryParams: Record = { + category_type: + categoryType != null + ? serializers.accounting.TrackingCategoriesListRequestCategoryType.jsonOrThrow(categoryType, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + company_id: companyId, + created_after: createdAfter?.toISOString(), + created_before: createdBefore?.toISOString(), + cursor, + expand: Array.isArray(expand) ? expand.map((item) => item) : expand != null ? expand : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + modified_after: modifiedAfter?.toISOString(), + modified_before: modifiedBefore?.toISOString(), + name, + page_size: pageSize, + remote_fields: remoteFields != null ? remoteFields : undefined, + remote_id: remoteId, + show_enum_origins: showEnumOrigins != null ? showEnumOrigins : undefined, + status: + status != null + ? serializers.accounting.TrackingCategoriesListRequestStatus.jsonOrThrow(status, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/tracking-categories", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedTrackingCategoryList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/accounting/v1/tracking-categories", + ); } /** diff --git a/src/api/resources/accounting/resources/transactions/client/Client.ts b/src/api/resources/accounting/resources/transactions/client/Client.ts index d75295310..6b7b1e6a6 100644 --- a/src/api/resources/accounting/resources/transactions/client/Client.ts +++ b/src/api/resources/accounting/resources/transactions/client/Client.ts @@ -46,119 +46,104 @@ export class TransactionsClient { * transactionDateBefore: new Date("2024-01-15T09:30:00.000Z") * }) */ - public async list( + public list( request: Merge.accounting.TransactionsListRequest = {}, requestOptions?: TransactionsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.TransactionsListRequest, - ): Promise> => { - const { - companyId, - createdAfter, - createdBefore, - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeShellData, - modifiedAfter, - modifiedBefore, - pageSize, - remoteId, - transactionDateAfter, - transactionDateBefore, - } = request; - const _queryParams: Record = { - company_id: companyId, - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - expand: Array.isArray(expand) - ? expand.map((item) => - serializers.accounting.TransactionsListRequestExpandItem.jsonOrThrow(item, { - unrecognizedObjectKeys: "strip", - }), - ) - : expand != null - ? serializers.accounting.TransactionsListRequestExpandItem.jsonOrThrow(expand, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - page_size: pageSize, - remote_id: remoteId, - transaction_date_after: transactionDateAfter?.toISOString(), - transaction_date_before: transactionDateBefore?.toISOString(), - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/transactions", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedTransactionList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/transactions", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.TransactionsListRequest = {}, + requestOptions?: TransactionsClient.RequestOptions, + ): Promise> { + const { + companyId, + createdAfter, + createdBefore, + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeShellData, + modifiedAfter, + modifiedBefore, + pageSize, + remoteId, + transactionDateAfter, + transactionDateBefore, + } = request; + const _queryParams: Record = { + company_id: companyId, + created_after: createdAfter?.toISOString(), + created_before: createdBefore?.toISOString(), + cursor, + expand: Array.isArray(expand) + ? expand.map((item) => + serializers.accounting.TransactionsListRequestExpandItem.jsonOrThrow(item, { + unrecognizedObjectKeys: "strip", + }), + ) + : expand != null + ? serializers.accounting.TransactionsListRequestExpandItem.jsonOrThrow(expand, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + modified_after: modifiedAfter?.toISOString(), + modified_before: modifiedBefore?.toISOString(), + page_size: pageSize, + remote_id: remoteId, + transaction_date_after: transactionDateAfter?.toISOString(), + transaction_date_before: transactionDateBefore?.toISOString(), + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/transactions", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedTransactionList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/accounting/v1/transactions"); } /** diff --git a/src/api/resources/accounting/resources/vendorCredits/client/Client.ts b/src/api/resources/accounting/resources/vendorCredits/client/Client.ts index 895ece4d8..98754c5ee 100644 --- a/src/api/resources/accounting/resources/vendorCredits/client/Client.ts +++ b/src/api/resources/accounting/resources/vendorCredits/client/Client.ts @@ -46,119 +46,104 @@ export class VendorCreditsClient { * transactionDateBefore: new Date("2024-01-15T09:30:00.000Z") * }) */ - public async list( + public list( request: Merge.accounting.VendorCreditsListRequest = {}, requestOptions?: VendorCreditsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Merge.accounting.VendorCreditsListRequest, - ): Promise> => { - const { - companyId, - createdAfter, - createdBefore, - cursor, - expand, - includeDeletedData, - includeRemoteData, - includeShellData, - modifiedAfter, - modifiedBefore, - pageSize, - remoteId, - transactionDateAfter, - transactionDateBefore, - } = request; - const _queryParams: Record = { - company_id: companyId, - created_after: createdAfter?.toISOString(), - created_before: createdBefore?.toISOString(), - cursor, - expand: Array.isArray(expand) - ? expand.map((item) => - serializers.accounting.VendorCreditsListRequestExpandItem.jsonOrThrow(item, { - unrecognizedObjectKeys: "strip", - }), - ) - : expand != null - ? serializers.accounting.VendorCreditsListRequestExpandItem.jsonOrThrow(expand, { - unrecognizedObjectKeys: "strip", - }) - : undefined, - include_deleted_data: includeDeletedData, - include_remote_data: includeRemoteData, - include_shell_data: includeShellData, - modified_after: modifiedAfter?.toISOString(), - modified_before: modifiedBefore?.toISOString(), - page_size: pageSize, - remote_id: remoteId, - transaction_date_after: transactionDateAfter?.toISOString(), - transaction_date_before: transactionDateBefore?.toISOString(), - }; - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ - "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken, - }), - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.MergeEnvironment.Production, - "accounting/v1/vendor-credits", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.accounting.PaginatedVendorCreditList.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - throw new errors.MergeError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "GET", - "/accounting/v1/vendor-credits", - ); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Merge.accounting.VendorCreditsListRequest = {}, + requestOptions?: VendorCreditsClient.RequestOptions, + ): Promise> { + const { + companyId, + createdAfter, + createdBefore, + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeShellData, + modifiedAfter, + modifiedBefore, + pageSize, + remoteId, + transactionDateAfter, + transactionDateBefore, + } = request; + const _queryParams: Record = { + company_id: companyId, + created_after: createdAfter?.toISOString(), + created_before: createdBefore?.toISOString(), + cursor, + expand: Array.isArray(expand) + ? expand.map((item) => + serializers.accounting.VendorCreditsListRequestExpandItem.jsonOrThrow(item, { + unrecognizedObjectKeys: "strip", + }), + ) + : expand != null + ? serializers.accounting.VendorCreditsListRequestExpandItem.jsonOrThrow(expand, { + unrecognizedObjectKeys: "strip", + }) + : undefined, + include_deleted_data: includeDeletedData, + include_remote_data: includeRemoteData, + include_shell_data: includeShellData, + modified_after: modifiedAfter?.toISOString(), + modified_before: modifiedBefore?.toISOString(), + page_size: pageSize, + remote_id: remoteId, + transaction_date_after: transactionDateAfter?.toISOString(), + transaction_date_before: transactionDateBefore?.toISOString(), + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "X-Account-Token": requestOptions?.accountToken ?? this._options?.accountToken }), + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.results ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "cursor", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.MergeEnvironment.Production, + "accounting/v1/vendor-credits", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: serializers.accounting.PaginatedVendorCreditList.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.MergeError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/accounting/v1/vendor-credits"); } /** diff --git a/src/api/resources/accounting/types/AsyncBulkCreateResponse.ts b/src/api/resources/accounting/types/AsyncBulkCreateResponse.ts index c043a0613..92657e8cc 100644 --- a/src/api/resources/accounting/types/AsyncBulkCreateResponse.ts +++ b/src/api/resources/accounting/types/AsyncBulkCreateResponse.ts @@ -1,5 +1,9 @@ // This file was auto-generated by Fern from our API Definition. +/** + * Response serializer for POST bulk create - returns only batch_id + */ export interface AsyncBulkCreateResponse { + /** The ID of the batch. */ batchId: string; } diff --git a/src/api/resources/accounting/types/BankFeedTransactionRequestRequestBankFeedAccount.ts b/src/api/resources/accounting/types/BankFeedTransactionRequestRequestBankFeedAccount.ts index 6809d87f1..d1e9ad07d 100644 --- a/src/api/resources/accounting/types/BankFeedTransactionRequestRequestBankFeedAccount.ts +++ b/src/api/resources/accounting/types/BankFeedTransactionRequestRequestBankFeedAccount.ts @@ -5,4 +5,4 @@ import type * as Merge from "../../../index"; /** * The bank feed account associated with the transaction. */ -export type BankFeedTransactionRequestRequestBankFeedAccount = string | Merge.accounting.BankFeedAccountRequest; +export type BankFeedTransactionRequestRequestBankFeedAccount = string | Merge.accounting.BankFeedAccount; diff --git a/src/api/resources/accounting/types/BatchObject.ts b/src/api/resources/accounting/types/BatchObject.ts index 2c37f9e3c..e3c9af1fb 100644 --- a/src/api/resources/accounting/types/BatchObject.ts +++ b/src/api/resources/accounting/types/BatchObject.ts @@ -2,8 +2,22 @@ import type * as Merge from "../../../index"; +/** + * Individual batch object with status + */ export interface BatchObject { itemId: string; - status: string; + /** + * Possible per-object statuses: + * + * * `PENDING` - This object has not been processed yet + * * `SUCCESS` - This object was successfully POSTed + * * `FAILURE` - This object was not successfully POSTed + * + * * `PENDING` - PENDING + * * `SUCCESS` - SUCCESS + * * `FAILURE` - FAILURE + */ + status: Merge.accounting.BatchObjectStatus; response?: Merge.accounting.BatchObjectItemResponse; } diff --git a/src/api/resources/accounting/types/BatchObjectItemResponse.ts b/src/api/resources/accounting/types/BatchObjectItemResponse.ts index 9f77f2a69..6b837dad1 100644 --- a/src/api/resources/accounting/types/BatchObjectItemResponse.ts +++ b/src/api/resources/accounting/types/BatchObjectItemResponse.ts @@ -1,5 +1,8 @@ // This file was auto-generated by Fern from our API Definition. +/** + * Response for individual items within a batch + */ export interface BatchObjectItemResponse { mergeCommonModelId?: string; errorMessage?: string; diff --git a/src/api/resources/accounting/types/BatchObjectStatus.ts b/src/api/resources/accounting/types/BatchObjectStatus.ts new file mode 100644 index 000000000..3b3e46a22 --- /dev/null +++ b/src/api/resources/accounting/types/BatchObjectStatus.ts @@ -0,0 +1,16 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Merge from "../../../index"; + +/** + * Possible per-object statuses: + * + * * `PENDING` - This object has not been processed yet + * * `SUCCESS` - This object was successfully POSTed + * * `FAILURE` - This object was not successfully POSTed + * + * * `PENDING` - PENDING + * * `SUCCESS` - SUCCESS + * * `FAILURE` - FAILURE + */ +export type BatchObjectStatus = Merge.accounting.BatchObjectStatusEnum | string; diff --git a/src/api/resources/accounting/types/BatchObjectStatusEnum.ts b/src/api/resources/accounting/types/BatchObjectStatusEnum.ts new file mode 100644 index 000000000..67bf37ede --- /dev/null +++ b/src/api/resources/accounting/types/BatchObjectStatusEnum.ts @@ -0,0 +1,17 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * * `PENDING` - This object has not been processed yet + * * `SUCCESS` - This object was successfully POSTed + * * `FAILURE` - This object was not successfully POSTed + * + * * `PENDING` - PENDING + * * `SUCCESS` - SUCCESS + * * `FAILURE` - FAILURE + */ +export const BatchObjectStatusEnum = { + Pending: "PENDING", + Success: "SUCCESS", + Failure: "FAILURE", +} as const; +export type BatchObjectStatusEnum = (typeof BatchObjectStatusEnum)[keyof typeof BatchObjectStatusEnum]; diff --git a/src/api/resources/accounting/types/BatchObjectsResponse.ts b/src/api/resources/accounting/types/BatchObjectsResponse.ts index b81faa38c..3eebf5259 100644 --- a/src/api/resources/accounting/types/BatchObjectsResponse.ts +++ b/src/api/resources/accounting/types/BatchObjectsResponse.ts @@ -2,9 +2,31 @@ import type * as Merge from "../../../index"; +/** + * Response serializer for GET bulk/{batch_id} - returns batch status and objects + */ export interface BatchObjectsResponse { + /** The ID of the batch. */ batchId: string; - status: string; + /** + * Possible overall statuses: + * + * * `ENQUEUED` - The request has been received and a task has been enqueued for processing + * * `IN_PROGRESS` - The enqueued task is being processed + * * `PARTIAL_SUCCESS` - The task has been processed, but not all objects were written successfully + * * `SUCCESS` - The task has been processed, and all objects were written successfully + * * `FAILED` - The task has been processed, but ran into an error while processing + * * `RATE_LIMITED` - The request was received but ran into rate limits while processing. The rate limited objects are being retried. + * + * * `ENQUEUED` - ENQUEUED + * * `IN_PROGRESS` - IN_PROGRESS + * * `PARTIAL_SUCCESS` - PARTIAL_SUCCESS + * * `SUCCESS` - SUCCESS + * * `FAILED` - FAILED + * * `RATE_LIMITED` - RATE_LIMITED + */ + status: Merge.accounting.BatchObjectsResponseStatus; + /** The total number of objects in the batch. */ totalCount: number; objects: Merge.accounting.BatchObject[]; } diff --git a/src/api/resources/accounting/types/BatchObjectsResponseStatus.ts b/src/api/resources/accounting/types/BatchObjectsResponseStatus.ts new file mode 100644 index 000000000..3520bf6f3 --- /dev/null +++ b/src/api/resources/accounting/types/BatchObjectsResponseStatus.ts @@ -0,0 +1,22 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Merge from "../../../index"; + +/** + * Possible overall statuses: + * + * * `ENQUEUED` - The request has been received and a task has been enqueued for processing + * * `IN_PROGRESS` - The enqueued task is being processed + * * `PARTIAL_SUCCESS` - The task has been processed, but not all objects were written successfully + * * `SUCCESS` - The task has been processed, and all objects were written successfully + * * `FAILED` - The task has been processed, but ran into an error while processing + * * `RATE_LIMITED` - The request was received but ran into rate limits while processing. The rate limited objects are being retried. + * + * * `ENQUEUED` - ENQUEUED + * * `IN_PROGRESS` - IN_PROGRESS + * * `PARTIAL_SUCCESS` - PARTIAL_SUCCESS + * * `SUCCESS` - SUCCESS + * * `FAILED` - FAILED + * * `RATE_LIMITED` - RATE_LIMITED + */ +export type BatchObjectsResponseStatus = Merge.accounting.BatchObjectsResponseStatusEnum | string; diff --git a/src/api/resources/accounting/types/BatchObjectsResponseStatusEnum.ts b/src/api/resources/accounting/types/BatchObjectsResponseStatusEnum.ts new file mode 100644 index 000000000..245cc9e97 --- /dev/null +++ b/src/api/resources/accounting/types/BatchObjectsResponseStatusEnum.ts @@ -0,0 +1,27 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * * `ENQUEUED` - The request has been received and a task has been enqueued for processing + * * `IN_PROGRESS` - The enqueued task is being processed + * * `PARTIAL_SUCCESS` - The task has been processed, but not all objects were written successfully + * * `SUCCESS` - The task has been processed, and all objects were written successfully + * * `FAILED` - The task has been processed, but ran into an error while processing + * * `RATE_LIMITED` - The request was received but ran into rate limits while processing. The rate limited objects are being retried. + * + * * `ENQUEUED` - ENQUEUED + * * `IN_PROGRESS` - IN_PROGRESS + * * `PARTIAL_SUCCESS` - PARTIAL_SUCCESS + * * `SUCCESS` - SUCCESS + * * `FAILED` - FAILED + * * `RATE_LIMITED` - RATE_LIMITED + */ +export const BatchObjectsResponseStatusEnum = { + Enqueued: "ENQUEUED", + InProgress: "IN_PROGRESS", + PartialSuccess: "PARTIAL_SUCCESS", + Success: "SUCCESS", + Failed: "FAILED", + RateLimited: "RATE_LIMITED", +} as const; +export type BatchObjectsResponseStatusEnum = + (typeof BatchObjectsResponseStatusEnum)[keyof typeof BatchObjectsResponseStatusEnum]; diff --git a/src/api/resources/accounting/types/ContactRequestAddressesItem.ts b/src/api/resources/accounting/types/ContactRequestAddressesItem.ts index ce38140ec..8a5e26c67 100644 --- a/src/api/resources/accounting/types/ContactRequestAddressesItem.ts +++ b/src/api/resources/accounting/types/ContactRequestAddressesItem.ts @@ -2,4 +2,4 @@ import type * as Merge from "../../../index"; -export type ContactRequestAddressesItem = string | Merge.accounting.AddressRequest; +export type ContactRequestAddressesItem = string | Merge.accounting.Address; diff --git a/src/api/resources/accounting/types/ContactRequestPhoneNumbersItem.ts b/src/api/resources/accounting/types/ContactRequestPhoneNumbersItem.ts index 2d12ec6cf..4c6cf70ea 100644 --- a/src/api/resources/accounting/types/ContactRequestPhoneNumbersItem.ts +++ b/src/api/resources/accounting/types/ContactRequestPhoneNumbersItem.ts @@ -2,4 +2,4 @@ import type * as Merge from "../../../index"; -export type ContactRequestPhoneNumbersItem = string | Merge.accounting.AccountingPhoneNumberRequest; +export type ContactRequestPhoneNumbersItem = string | Merge.accounting.AccountingPhoneNumber; diff --git a/src/api/resources/accounting/types/CreditNoteApplyLineForCreditNoteRequestInvoice.ts b/src/api/resources/accounting/types/CreditNoteApplyLineForCreditNoteRequestInvoice.ts index 796e84bdd..9017ebbe2 100644 --- a/src/api/resources/accounting/types/CreditNoteApplyLineForCreditNoteRequestInvoice.ts +++ b/src/api/resources/accounting/types/CreditNoteApplyLineForCreditNoteRequestInvoice.ts @@ -2,4 +2,4 @@ import type * as Merge from "../../../index"; -export type CreditNoteApplyLineForCreditNoteRequestInvoice = string | Merge.accounting.InvoiceRequest; +export type CreditNoteApplyLineForCreditNoteRequestInvoice = string | Merge.accounting.Invoice; diff --git a/src/api/resources/accounting/types/CreditNoteLineItemRequestContact.ts b/src/api/resources/accounting/types/CreditNoteLineItemRequestContact.ts index f8984c518..27340dad3 100644 --- a/src/api/resources/accounting/types/CreditNoteLineItemRequestContact.ts +++ b/src/api/resources/accounting/types/CreditNoteLineItemRequestContact.ts @@ -5,4 +5,4 @@ import type * as Merge from "../../../index"; /** * The credit note's contact. */ -export type CreditNoteLineItemRequestContact = string | Merge.accounting.ContactRequest; +export type CreditNoteLineItemRequestContact = string | Merge.accounting.Contact; diff --git a/src/api/resources/accounting/types/CreditNoteRequestAppliedPaymentsItem.ts b/src/api/resources/accounting/types/CreditNoteRequestAppliedPaymentsItem.ts index 66723fb32..b76318666 100644 --- a/src/api/resources/accounting/types/CreditNoteRequestAppliedPaymentsItem.ts +++ b/src/api/resources/accounting/types/CreditNoteRequestAppliedPaymentsItem.ts @@ -2,4 +2,4 @@ import type * as Merge from "../../../index"; -export type CreditNoteRequestAppliedPaymentsItem = string | Merge.accounting.PaymentLineItemRequest; +export type CreditNoteRequestAppliedPaymentsItem = string | Merge.accounting.PaymentLineItem; diff --git a/src/api/resources/accounting/types/CreditNoteRequestContact.ts b/src/api/resources/accounting/types/CreditNoteRequestContact.ts index 7459e502f..dee348da6 100644 --- a/src/api/resources/accounting/types/CreditNoteRequestContact.ts +++ b/src/api/resources/accounting/types/CreditNoteRequestContact.ts @@ -5,4 +5,4 @@ import type * as Merge from "../../../index"; /** * The credit note's contact. */ -export type CreditNoteRequestContact = string | Merge.accounting.ContactRequest; +export type CreditNoteRequestContact = string | Merge.accounting.Contact; diff --git a/src/api/resources/accounting/types/CreditNoteRequestLineItemsItem.ts b/src/api/resources/accounting/types/CreditNoteRequestLineItemsItem.ts index 1cbad2fd5..6aeda5e08 100644 --- a/src/api/resources/accounting/types/CreditNoteRequestLineItemsItem.ts +++ b/src/api/resources/accounting/types/CreditNoteRequestLineItemsItem.ts @@ -2,4 +2,4 @@ import type * as Merge from "../../../index"; -export type CreditNoteRequestLineItemsItem = string | Merge.accounting.CreditNoteLineItemRequest; +export type CreditNoteRequestLineItemsItem = string | Merge.accounting.CreditNoteLineItem; diff --git a/src/api/resources/accounting/types/CreditNoteRequestPaymentsItem.ts b/src/api/resources/accounting/types/CreditNoteRequestPaymentsItem.ts index 65875a0e2..323043b1b 100644 --- a/src/api/resources/accounting/types/CreditNoteRequestPaymentsItem.ts +++ b/src/api/resources/accounting/types/CreditNoteRequestPaymentsItem.ts @@ -2,4 +2,4 @@ import type * as Merge from "../../../index"; -export type CreditNoteRequestPaymentsItem = string | Merge.accounting.PaymentRequest; +export type CreditNoteRequestPaymentsItem = string | Merge.accounting.Payment; diff --git a/src/api/resources/accounting/types/DataPassthroughRequest.ts b/src/api/resources/accounting/types/DataPassthroughRequest.ts index a7c90a8cb..acb28fc99 100644 --- a/src/api/resources/accounting/types/DataPassthroughRequest.ts +++ b/src/api/resources/accounting/types/DataPassthroughRequest.ts @@ -11,7 +11,7 @@ import type * as Merge from "../../../index"; * Create a `DataPassthrough` to get team hierarchies from your Rippling integration. */ export interface DataPassthroughRequest { - method: Merge.accounting.DataPassthroughRequestMethod; + method: Merge.accounting.MethodEnum; /** The path of the request in the third party's platform. */ path: string; /** An optional override of the third party's base url for the request. */ @@ -22,7 +22,7 @@ export interface DataPassthroughRequest { multipartFormData?: Merge.accounting.MultipartFormFieldRequest[]; /** The headers to use for the request (Merge will handle the account's authorization headers). `Content-Type` header is required for passthrough. Choose content type corresponding to expected format of receiving server. */ headers?: Record; - requestFormat?: Merge.accounting.DataPassthroughRequestRequestFormat; + requestFormat?: Merge.accounting.RequestFormatEnum; /** Optional. If true, the response will always be an object of the form `{"type": T, "value": ...}` where `T` will be one of `string, boolean, number, null, array, object`. */ normalizeResponse?: boolean; } diff --git a/src/api/resources/accounting/types/DataPassthroughRequestMethod.ts b/src/api/resources/accounting/types/DataPassthroughRequestMethod.ts deleted file mode 100644 index 1c2fc3cad..000000000 --- a/src/api/resources/accounting/types/DataPassthroughRequestMethod.ts +++ /dev/null @@ -1,5 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Merge from "../../../index"; - -export type DataPassthroughRequestMethod = Merge.accounting.MethodEnum | string; diff --git a/src/api/resources/accounting/types/DataPassthroughRequestRequestFormat.ts b/src/api/resources/accounting/types/DataPassthroughRequestRequestFormat.ts deleted file mode 100644 index a2afa477e..000000000 --- a/src/api/resources/accounting/types/DataPassthroughRequestRequestFormat.ts +++ /dev/null @@ -1,5 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Merge from "../../../index"; - -export type DataPassthroughRequestRequestFormat = Merge.accounting.RequestFormatEnum | string; diff --git a/src/api/resources/accounting/types/ErrorValidationProblem.ts b/src/api/resources/accounting/types/ErrorValidationProblem.ts index e96cb0795..f587d113d 100644 --- a/src/api/resources/accounting/types/ErrorValidationProblem.ts +++ b/src/api/resources/accounting/types/ErrorValidationProblem.ts @@ -8,4 +8,6 @@ export interface ErrorValidationProblem { detail: string; problemType: string; blockMergeLink?: boolean; + rawError?: string; + errorCode?: number; } diff --git a/src/api/resources/accounting/types/ExpenseLineRequestAccount.ts b/src/api/resources/accounting/types/ExpenseLineRequestAccount.ts index 7d1855918..7f564d1a9 100644 --- a/src/api/resources/accounting/types/ExpenseLineRequestAccount.ts +++ b/src/api/resources/accounting/types/ExpenseLineRequestAccount.ts @@ -5,4 +5,4 @@ import type * as Merge from "../../../index"; /** * The expense's payment account. */ -export type ExpenseLineRequestAccount = string | Merge.accounting.AccountRequest; +export type ExpenseLineRequestAccount = string | Merge.accounting.Account; diff --git a/src/api/resources/accounting/types/ExpenseLineRequestContact.ts b/src/api/resources/accounting/types/ExpenseLineRequestContact.ts index a25ebe283..af51a7931 100644 --- a/src/api/resources/accounting/types/ExpenseLineRequestContact.ts +++ b/src/api/resources/accounting/types/ExpenseLineRequestContact.ts @@ -5,4 +5,4 @@ import type * as Merge from "../../../index"; /** * The expense's contact. */ -export type ExpenseLineRequestContact = string | Merge.accounting.ContactRequest; +export type ExpenseLineRequestContact = string | Merge.accounting.Contact; diff --git a/src/api/resources/accounting/types/ExpenseReportLineRequestAccount.ts b/src/api/resources/accounting/types/ExpenseReportLineRequestAccount.ts index f89c70241..174584261 100644 --- a/src/api/resources/accounting/types/ExpenseReportLineRequestAccount.ts +++ b/src/api/resources/accounting/types/ExpenseReportLineRequestAccount.ts @@ -2,4 +2,4 @@ import type * as Merge from "../../../index"; -export type ExpenseReportLineRequestAccount = string | Merge.accounting.AccountRequest; +export type ExpenseReportLineRequestAccount = string | Merge.accounting.Account; diff --git a/src/api/resources/accounting/types/ExpenseReportLineRequestContact.ts b/src/api/resources/accounting/types/ExpenseReportLineRequestContact.ts index 29a525466..b7a0b8ab8 100644 --- a/src/api/resources/accounting/types/ExpenseReportLineRequestContact.ts +++ b/src/api/resources/accounting/types/ExpenseReportLineRequestContact.ts @@ -2,4 +2,4 @@ import type * as Merge from "../../../index"; -export type ExpenseReportLineRequestContact = string | Merge.accounting.ContactRequest; +export type ExpenseReportLineRequestContact = string | Merge.accounting.Contact; diff --git a/src/api/resources/accounting/types/ExpenseRequestAccount.ts b/src/api/resources/accounting/types/ExpenseRequestAccount.ts index 1a2fca7f4..e227836cb 100644 --- a/src/api/resources/accounting/types/ExpenseRequestAccount.ts +++ b/src/api/resources/accounting/types/ExpenseRequestAccount.ts @@ -5,4 +5,4 @@ import type * as Merge from "../../../index"; /** * The expense's payment account. */ -export type ExpenseRequestAccount = string | Merge.accounting.AccountRequest; +export type ExpenseRequestAccount = string | Merge.accounting.Account; diff --git a/src/api/resources/accounting/types/ExpenseRequestContact.ts b/src/api/resources/accounting/types/ExpenseRequestContact.ts index 19f9838c8..62301ad13 100644 --- a/src/api/resources/accounting/types/ExpenseRequestContact.ts +++ b/src/api/resources/accounting/types/ExpenseRequestContact.ts @@ -5,4 +5,4 @@ import type * as Merge from "../../../index"; /** * The expense's contact. */ -export type ExpenseRequestContact = string | Merge.accounting.ContactRequest; +export type ExpenseRequestContact = string | Merge.accounting.Contact; diff --git a/src/api/resources/accounting/types/InvoiceLineItemRequestAccount.ts b/src/api/resources/accounting/types/InvoiceLineItemRequestAccount.ts index 6c733d7f1..b751b9c8d 100644 --- a/src/api/resources/accounting/types/InvoiceLineItemRequestAccount.ts +++ b/src/api/resources/accounting/types/InvoiceLineItemRequestAccount.ts @@ -2,4 +2,4 @@ import type * as Merge from "../../../index"; -export type InvoiceLineItemRequestAccount = string | Merge.accounting.AccountRequest; +export type InvoiceLineItemRequestAccount = string | Merge.accounting.Account; diff --git a/src/api/resources/accounting/types/InvoiceLineItemRequestContact.ts b/src/api/resources/accounting/types/InvoiceLineItemRequestContact.ts index ae4c289e8..2588517a4 100644 --- a/src/api/resources/accounting/types/InvoiceLineItemRequestContact.ts +++ b/src/api/resources/accounting/types/InvoiceLineItemRequestContact.ts @@ -5,4 +5,4 @@ import type * as Merge from "../../../index"; /** * The invoice's contact. */ -export type InvoiceLineItemRequestContact = string | Merge.accounting.ContactRequest; +export type InvoiceLineItemRequestContact = string | Merge.accounting.Contact; diff --git a/src/api/resources/accounting/types/InvoiceRequestContact.ts b/src/api/resources/accounting/types/InvoiceRequestContact.ts index 042175670..76f17e2d4 100644 --- a/src/api/resources/accounting/types/InvoiceRequestContact.ts +++ b/src/api/resources/accounting/types/InvoiceRequestContact.ts @@ -5,4 +5,4 @@ import type * as Merge from "../../../index"; /** * The invoice's contact. */ -export type InvoiceRequestContact = string | Merge.accounting.ContactRequest; +export type InvoiceRequestContact = string | Merge.accounting.Contact; diff --git a/src/api/resources/accounting/types/InvoiceRequestLineItemsItem.ts b/src/api/resources/accounting/types/InvoiceRequestLineItemsItem.ts index ea3c67abe..9a498f0ed 100644 --- a/src/api/resources/accounting/types/InvoiceRequestLineItemsItem.ts +++ b/src/api/resources/accounting/types/InvoiceRequestLineItemsItem.ts @@ -2,4 +2,4 @@ import type * as Merge from "../../../index"; -export type InvoiceRequestLineItemsItem = string | Merge.accounting.InvoiceLineItemRequest; +export type InvoiceRequestLineItemsItem = string | Merge.accounting.InvoiceLineItem; diff --git a/src/api/resources/accounting/types/InvoiceRequestPaymentsItem.ts b/src/api/resources/accounting/types/InvoiceRequestPaymentsItem.ts index 8cdb7f6e9..bf019d862 100644 --- a/src/api/resources/accounting/types/InvoiceRequestPaymentsItem.ts +++ b/src/api/resources/accounting/types/InvoiceRequestPaymentsItem.ts @@ -2,4 +2,4 @@ import type * as Merge from "../../../index"; -export type InvoiceRequestPaymentsItem = string | Merge.accounting.PaymentRequest; +export type InvoiceRequestPaymentsItem = string | Merge.accounting.Payment; diff --git a/src/api/resources/accounting/types/InvoiceRequestPurchaseOrdersItem.ts b/src/api/resources/accounting/types/InvoiceRequestPurchaseOrdersItem.ts index a8e369849..f1c2dd198 100644 --- a/src/api/resources/accounting/types/InvoiceRequestPurchaseOrdersItem.ts +++ b/src/api/resources/accounting/types/InvoiceRequestPurchaseOrdersItem.ts @@ -2,4 +2,4 @@ import type * as Merge from "../../../index"; -export type InvoiceRequestPurchaseOrdersItem = string | Merge.accounting.PurchaseOrderRequest; +export type InvoiceRequestPurchaseOrdersItem = string | Merge.accounting.PurchaseOrder; diff --git a/src/api/resources/accounting/types/ItemFulfillmentLineRequestSalesOrderLine.ts b/src/api/resources/accounting/types/ItemFulfillmentLineRequestSalesOrderLine.ts index 67c808826..455080781 100644 --- a/src/api/resources/accounting/types/ItemFulfillmentLineRequestSalesOrderLine.ts +++ b/src/api/resources/accounting/types/ItemFulfillmentLineRequestSalesOrderLine.ts @@ -2,4 +2,4 @@ import type * as Merge from "../../../index"; -export type ItemFulfillmentLineRequestSalesOrderLine = string | Merge.accounting.SalesOrderLineRequest; +export type ItemFulfillmentLineRequestSalesOrderLine = string | Merge.accounting.SalesOrderLine; diff --git a/src/api/resources/accounting/types/ItemFulfillmentRequestRequestCustomer.ts b/src/api/resources/accounting/types/ItemFulfillmentRequestRequestCustomer.ts index 35d2cf109..5f6c099c3 100644 --- a/src/api/resources/accounting/types/ItemFulfillmentRequestRequestCustomer.ts +++ b/src/api/resources/accounting/types/ItemFulfillmentRequestRequestCustomer.ts @@ -5,4 +5,4 @@ import type * as Merge from "../../../index"; /** * The customer associated with the item fulfillment. */ -export type ItemFulfillmentRequestRequestCustomer = string | Merge.accounting.ContactRequest; +export type ItemFulfillmentRequestRequestCustomer = string | Merge.accounting.Contact; diff --git a/src/api/resources/accounting/types/ItemFulfillmentRequestRequestLinesItem.ts b/src/api/resources/accounting/types/ItemFulfillmentRequestRequestLinesItem.ts index b80bdc5f3..625fb8cd9 100644 --- a/src/api/resources/accounting/types/ItemFulfillmentRequestRequestLinesItem.ts +++ b/src/api/resources/accounting/types/ItemFulfillmentRequestRequestLinesItem.ts @@ -2,4 +2,4 @@ import type * as Merge from "../../../index"; -export type ItemFulfillmentRequestRequestLinesItem = string | Merge.accounting.ItemFulfillmentLineRequest; +export type ItemFulfillmentRequestRequestLinesItem = string | Merge.accounting.ItemFulfillmentLine; diff --git a/src/api/resources/accounting/types/ItemRequestRequestPurchaseAccount.ts b/src/api/resources/accounting/types/ItemRequestRequestPurchaseAccount.ts index 88af3207b..adfb9887f 100644 --- a/src/api/resources/accounting/types/ItemRequestRequestPurchaseAccount.ts +++ b/src/api/resources/accounting/types/ItemRequestRequestPurchaseAccount.ts @@ -5,4 +5,4 @@ import type * as Merge from "../../../index"; /** * References the default account used to record a purchase of the item. */ -export type ItemRequestRequestPurchaseAccount = string | Merge.accounting.AccountRequest; +export type ItemRequestRequestPurchaseAccount = string | Merge.accounting.Account; diff --git a/src/api/resources/accounting/types/ItemRequestRequestSalesAccount.ts b/src/api/resources/accounting/types/ItemRequestRequestSalesAccount.ts index b14a972d9..7b787038d 100644 --- a/src/api/resources/accounting/types/ItemRequestRequestSalesAccount.ts +++ b/src/api/resources/accounting/types/ItemRequestRequestSalesAccount.ts @@ -5,4 +5,4 @@ import type * as Merge from "../../../index"; /** * References the default account used to record a sale. */ -export type ItemRequestRequestSalesAccount = string | Merge.accounting.AccountRequest; +export type ItemRequestRequestSalesAccount = string | Merge.accounting.Account; diff --git a/src/api/resources/accounting/types/JournalEntryRequestLinesItem.ts b/src/api/resources/accounting/types/JournalEntryRequestLinesItem.ts index 8ac29b316..157b98a9c 100644 --- a/src/api/resources/accounting/types/JournalEntryRequestLinesItem.ts +++ b/src/api/resources/accounting/types/JournalEntryRequestLinesItem.ts @@ -2,4 +2,4 @@ import type * as Merge from "../../../index"; -export type JournalEntryRequestLinesItem = string | Merge.accounting.JournalLineRequest; +export type JournalEntryRequestLinesItem = string | Merge.accounting.JournalLine; diff --git a/src/api/resources/accounting/types/JournalEntryRequestPaymentsItem.ts b/src/api/resources/accounting/types/JournalEntryRequestPaymentsItem.ts index a8f1564fd..88069262d 100644 --- a/src/api/resources/accounting/types/JournalEntryRequestPaymentsItem.ts +++ b/src/api/resources/accounting/types/JournalEntryRequestPaymentsItem.ts @@ -2,4 +2,4 @@ import type * as Merge from "../../../index"; -export type JournalEntryRequestPaymentsItem = string | Merge.accounting.PaymentRequest; +export type JournalEntryRequestPaymentsItem = string | Merge.accounting.Payment; diff --git a/src/api/resources/accounting/types/JournalLineRequestAccount.ts b/src/api/resources/accounting/types/JournalLineRequestAccount.ts index bfc948472..285ea2147 100644 --- a/src/api/resources/accounting/types/JournalLineRequestAccount.ts +++ b/src/api/resources/accounting/types/JournalLineRequestAccount.ts @@ -2,4 +2,4 @@ import type * as Merge from "../../../index"; -export type JournalLineRequestAccount = string | Merge.accounting.AccountRequest; +export type JournalLineRequestAccount = string | Merge.accounting.Account; diff --git a/src/api/resources/accounting/types/PaymentRequestAccount.ts b/src/api/resources/accounting/types/PaymentRequestAccount.ts index 9eba3140d..b3f0a7fc1 100644 --- a/src/api/resources/accounting/types/PaymentRequestAccount.ts +++ b/src/api/resources/accounting/types/PaymentRequestAccount.ts @@ -5,4 +5,4 @@ import type * as Merge from "../../../index"; /** * The supplier’s or customer’s account in which the payment is made. */ -export type PaymentRequestAccount = string | Merge.accounting.AccountRequest; +export type PaymentRequestAccount = string | Merge.accounting.Account; diff --git a/src/api/resources/accounting/types/PaymentRequestAppliedToLinesItem.ts b/src/api/resources/accounting/types/PaymentRequestAppliedToLinesItem.ts index b909039fb..616ab65f3 100644 --- a/src/api/resources/accounting/types/PaymentRequestAppliedToLinesItem.ts +++ b/src/api/resources/accounting/types/PaymentRequestAppliedToLinesItem.ts @@ -2,4 +2,4 @@ import type * as Merge from "../../../index"; -export type PaymentRequestAppliedToLinesItem = string | Merge.accounting.PaymentLineItemRequest; +export type PaymentRequestAppliedToLinesItem = string | Merge.accounting.PaymentLineItem; diff --git a/src/api/resources/accounting/types/PaymentRequestContact.ts b/src/api/resources/accounting/types/PaymentRequestContact.ts index 36b70f45d..8db3a6e4b 100644 --- a/src/api/resources/accounting/types/PaymentRequestContact.ts +++ b/src/api/resources/accounting/types/PaymentRequestContact.ts @@ -5,4 +5,4 @@ import type * as Merge from "../../../index"; /** * The supplier, or customer involved in the payment. */ -export type PaymentRequestContact = string | Merge.accounting.ContactRequest; +export type PaymentRequestContact = string | Merge.accounting.Contact; diff --git a/src/api/resources/accounting/types/PurchaseOrderRequestDeliveryAddress.ts b/src/api/resources/accounting/types/PurchaseOrderRequestDeliveryAddress.ts index 33cca91d6..d590d3ff9 100644 --- a/src/api/resources/accounting/types/PurchaseOrderRequestDeliveryAddress.ts +++ b/src/api/resources/accounting/types/PurchaseOrderRequestDeliveryAddress.ts @@ -5,4 +5,4 @@ import type * as Merge from "../../../index"; /** * The purchase order's delivery address. */ -export type PurchaseOrderRequestDeliveryAddress = string | Merge.accounting.AddressRequest; +export type PurchaseOrderRequestDeliveryAddress = string | Merge.accounting.Address; diff --git a/src/api/resources/accounting/types/PurchaseOrderRequestLineItemsItem.ts b/src/api/resources/accounting/types/PurchaseOrderRequestLineItemsItem.ts index 9ba71ce7c..971420aae 100644 --- a/src/api/resources/accounting/types/PurchaseOrderRequestLineItemsItem.ts +++ b/src/api/resources/accounting/types/PurchaseOrderRequestLineItemsItem.ts @@ -2,4 +2,4 @@ import type * as Merge from "../../../index"; -export type PurchaseOrderRequestLineItemsItem = string | Merge.accounting.PurchaseOrderLineItemRequest; +export type PurchaseOrderRequestLineItemsItem = string | Merge.accounting.PurchaseOrderLineItem; diff --git a/src/api/resources/accounting/types/PurchaseOrderRequestVendor.ts b/src/api/resources/accounting/types/PurchaseOrderRequestVendor.ts index 015a0b539..7f03a26bc 100644 --- a/src/api/resources/accounting/types/PurchaseOrderRequestVendor.ts +++ b/src/api/resources/accounting/types/PurchaseOrderRequestVendor.ts @@ -5,4 +5,4 @@ import type * as Merge from "../../../index"; /** * The party fulfilling the purchase order. */ -export type PurchaseOrderRequestVendor = string | Merge.accounting.ContactRequest; +export type PurchaseOrderRequestVendor = string | Merge.accounting.Contact; diff --git a/src/api/resources/accounting/types/RemoteFieldApi.ts b/src/api/resources/accounting/types/RemoteFieldApi.ts index 19ef9a728..65692ecd8 100644 --- a/src/api/resources/accounting/types/RemoteFieldApi.ts +++ b/src/api/resources/accounting/types/RemoteFieldApi.ts @@ -7,6 +7,6 @@ export interface RemoteFieldApi { remoteKeyName: string; remoteEndpointInfo: Merge.accounting.RemoteEndpointInfo; exampleValues?: unknown[]; - advancedMetadata?: Merge.accounting.RemoteFieldApiAdvancedMetadata; + advancedMetadata?: Merge.accounting.AdvancedMetadata; coverage?: Merge.accounting.RemoteFieldApiCoverage; } diff --git a/src/api/resources/accounting/types/RemoteFieldApiAdvancedMetadata.ts b/src/api/resources/accounting/types/RemoteFieldApiAdvancedMetadata.ts deleted file mode 100644 index fab53c117..000000000 --- a/src/api/resources/accounting/types/RemoteFieldApiAdvancedMetadata.ts +++ /dev/null @@ -1,5 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Merge from "../../../index"; - -export type RemoteFieldApiAdvancedMetadata = Merge.accounting.AdvancedMetadata | string; diff --git a/src/api/resources/accounting/types/SalesOrderRequestRequestCustomer.ts b/src/api/resources/accounting/types/SalesOrderRequestRequestCustomer.ts index 2e6302ca5..6dcea5a97 100644 --- a/src/api/resources/accounting/types/SalesOrderRequestRequestCustomer.ts +++ b/src/api/resources/accounting/types/SalesOrderRequestRequestCustomer.ts @@ -5,4 +5,4 @@ import type * as Merge from "../../../index"; /** * The customer associated with the sales order. */ -export type SalesOrderRequestRequestCustomer = string | Merge.accounting.ContactRequest; +export type SalesOrderRequestRequestCustomer = string | Merge.accounting.Contact; diff --git a/src/api/resources/accounting/types/SalesOrderRequestRequestLinesItem.ts b/src/api/resources/accounting/types/SalesOrderRequestRequestLinesItem.ts index 40f24725b..e632fefff 100644 --- a/src/api/resources/accounting/types/SalesOrderRequestRequestLinesItem.ts +++ b/src/api/resources/accounting/types/SalesOrderRequestRequestLinesItem.ts @@ -2,4 +2,4 @@ import type * as Merge from "../../../index"; -export type SalesOrderRequestRequestLinesItem = string | Merge.accounting.SalesOrderLineRequest; +export type SalesOrderRequestRequestLinesItem = string | Merge.accounting.SalesOrderLine; diff --git a/src/api/resources/accounting/types/SalesOrderRequestRequestShippingAddress.ts b/src/api/resources/accounting/types/SalesOrderRequestRequestShippingAddress.ts index 68c5bbdc7..153fa59d2 100644 --- a/src/api/resources/accounting/types/SalesOrderRequestRequestShippingAddress.ts +++ b/src/api/resources/accounting/types/SalesOrderRequestRequestShippingAddress.ts @@ -5,4 +5,4 @@ import type * as Merge from "../../../index"; /** * The shipping address for the order. */ -export type SalesOrderRequestRequestShippingAddress = string | Merge.accounting.AddressRequest; +export type SalesOrderRequestRequestShippingAddress = string | Merge.accounting.Address; diff --git a/src/api/resources/accounting/types/VendorCreditApplyLineForVendorCreditRequestInvoice.ts b/src/api/resources/accounting/types/VendorCreditApplyLineForVendorCreditRequestInvoice.ts index 12282e881..d5c423523 100644 --- a/src/api/resources/accounting/types/VendorCreditApplyLineForVendorCreditRequestInvoice.ts +++ b/src/api/resources/accounting/types/VendorCreditApplyLineForVendorCreditRequestInvoice.ts @@ -2,4 +2,4 @@ import type * as Merge from "../../../index"; -export type VendorCreditApplyLineForVendorCreditRequestInvoice = string | Merge.accounting.InvoiceRequest; +export type VendorCreditApplyLineForVendorCreditRequestInvoice = string | Merge.accounting.Invoice; diff --git a/src/api/resources/accounting/types/VendorCreditLineRequestAccount.ts b/src/api/resources/accounting/types/VendorCreditLineRequestAccount.ts index 787ffd9c6..45736bf23 100644 --- a/src/api/resources/accounting/types/VendorCreditLineRequestAccount.ts +++ b/src/api/resources/accounting/types/VendorCreditLineRequestAccount.ts @@ -5,4 +5,4 @@ import type * as Merge from "../../../index"; /** * The line's account. */ -export type VendorCreditLineRequestAccount = string | Merge.accounting.AccountRequest; +export type VendorCreditLineRequestAccount = string | Merge.accounting.Account; diff --git a/src/api/resources/accounting/types/VendorCreditLineRequestContact.ts b/src/api/resources/accounting/types/VendorCreditLineRequestContact.ts index e80f3100d..7bae178ca 100644 --- a/src/api/resources/accounting/types/VendorCreditLineRequestContact.ts +++ b/src/api/resources/accounting/types/VendorCreditLineRequestContact.ts @@ -2,4 +2,4 @@ import type * as Merge from "../../../index"; -export type VendorCreditLineRequestContact = string | Merge.accounting.ContactRequest; +export type VendorCreditLineRequestContact = string | Merge.accounting.Contact; diff --git a/src/api/resources/accounting/types/VendorCreditRequestVendor.ts b/src/api/resources/accounting/types/VendorCreditRequestVendor.ts index 4f0ed45e8..81316ad06 100644 --- a/src/api/resources/accounting/types/VendorCreditRequestVendor.ts +++ b/src/api/resources/accounting/types/VendorCreditRequestVendor.ts @@ -5,4 +5,4 @@ import type * as Merge from "../../../index"; /** * The vendor that owes the gift or refund. */ -export type VendorCreditRequestVendor = string | Merge.accounting.ContactRequest; +export type VendorCreditRequestVendor = string | Merge.accounting.Contact; diff --git a/src/api/resources/accounting/types/WarningValidationProblem.ts b/src/api/resources/accounting/types/WarningValidationProblem.ts index 5266700fe..f0b378879 100644 --- a/src/api/resources/accounting/types/WarningValidationProblem.ts +++ b/src/api/resources/accounting/types/WarningValidationProblem.ts @@ -8,4 +8,6 @@ export interface WarningValidationProblem { detail: string; problemType: string; blockMergeLink?: boolean; + rawError?: string; + errorCode?: number; } diff --git a/src/api/resources/accounting/types/index.ts b/src/api/resources/accounting/types/index.ts index ea551ca32..4ae0bfdcb 100644 --- a/src/api/resources/accounting/types/index.ts +++ b/src/api/resources/accounting/types/index.ts @@ -69,7 +69,11 @@ export * from "./BankFeedTransactionRequestRequestCreditOrDebit"; export * from "./BankFeedTransactionResponse"; export * from "./BatchObject"; export * from "./BatchObjectItemResponse"; +export * from "./BatchObjectStatus"; +export * from "./BatchObjectStatusEnum"; export * from "./BatchObjectsResponse"; +export * from "./BatchObjectsResponseStatus"; +export * from "./BatchObjectsResponseStatusEnum"; export * from "./CashFlowStatement"; export * from "./CashFlowStatementCompany"; export * from "./CashFlowStatementCurrency"; @@ -137,8 +141,6 @@ export * from "./CreditNoteStatusEnum"; export * from "./CreditNoteTrackingCategoriesItem"; export * from "./CreditOrDebitEnum"; export * from "./DataPassthroughRequest"; -export * from "./DataPassthroughRequestMethod"; -export * from "./DataPassthroughRequestRequestFormat"; export * from "./DebugModeLog"; export * from "./DebugModelLogSummary"; export * from "./Employee"; @@ -494,7 +496,6 @@ export * from "./RemoteData"; export * from "./RemoteEndpointInfo"; export * from "./RemoteField"; export * from "./RemoteFieldApi"; -export * from "./RemoteFieldApiAdvancedMetadata"; export * from "./RemoteFieldApiCoverage"; export * from "./RemoteFieldApiResponse"; export * from "./RemoteFieldClass"; diff --git a/src/serialization/resources/accounting/resources/expenses/client/requests/ExpenseBulkRequest.ts b/src/serialization/resources/accounting/resources/expenses/client/requests/ExpenseBulkRequest.ts index 717f5f496..c5d4ae457 100644 --- a/src/serialization/resources/accounting/resources/expenses/client/requests/ExpenseBulkRequest.ts +++ b/src/serialization/resources/accounting/resources/expenses/client/requests/ExpenseBulkRequest.ts @@ -7,7 +7,7 @@ import { ExpenseBatchItemRequest } from "../../../../types/ExpenseBatchItemReque export const ExpenseBulkRequest: core.serialization.Schema< serializers.accounting.ExpenseBulkRequest.Raw, - Omit + Merge.accounting.ExpenseBulkRequest > = core.serialization.object({ batchItems: core.serialization.property("batch_items", core.serialization.list(ExpenseBatchItemRequest)), }); diff --git a/src/serialization/resources/accounting/resources/expenses/types/ExpensesBatchObjectsListRequestExpandItem.ts b/src/serialization/resources/accounting/resources/expenses/types/ExpensesBatchObjectsListRequestExpandItem.ts deleted file mode 100644 index f8163e2d6..000000000 --- a/src/serialization/resources/accounting/resources/expenses/types/ExpensesBatchObjectsListRequestExpandItem.ts +++ /dev/null @@ -1,14 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Merge from "../../../../../../api/index"; -import * as core from "../../../../../../core"; -import type * as serializers from "../../../../../index"; - -export const ExpensesBatchObjectsListRequestExpandItem: core.serialization.Schema< - serializers.accounting.ExpensesBatchObjectsListRequestExpandItem.Raw, - Merge.accounting.ExpensesBatchObjectsListRequestExpandItem -> = core.serialization.enum_(["account", "accounting_period", "company", "contact", "employee", "tracking_categories"]); - -export declare namespace ExpensesBatchObjectsListRequestExpandItem { - export type Raw = "account" | "accounting_period" | "company" | "contact" | "employee" | "tracking_categories"; -} diff --git a/src/serialization/resources/accounting/resources/expenses/types/index.ts b/src/serialization/resources/accounting/resources/expenses/types/index.ts index 1c81575ae..d63e24e45 100644 --- a/src/serialization/resources/accounting/resources/expenses/types/index.ts +++ b/src/serialization/resources/accounting/resources/expenses/types/index.ts @@ -1,3 +1,2 @@ -export * from "./ExpensesBatchObjectsListRequestExpandItem"; export * from "./ExpensesListRequestExpandItem"; export * from "./ExpensesRetrieveRequestExpandItem"; diff --git a/src/serialization/resources/accounting/resources/invoices/client/requests/InvoiceBulkRequest.ts b/src/serialization/resources/accounting/resources/invoices/client/requests/InvoiceBulkRequest.ts index 667ceb57a..c7946441d 100644 --- a/src/serialization/resources/accounting/resources/invoices/client/requests/InvoiceBulkRequest.ts +++ b/src/serialization/resources/accounting/resources/invoices/client/requests/InvoiceBulkRequest.ts @@ -7,7 +7,7 @@ import { InvoiceBatchItemRequest } from "../../../../types/InvoiceBatchItemReque export const InvoiceBulkRequest: core.serialization.Schema< serializers.accounting.InvoiceBulkRequest.Raw, - Omit + Merge.accounting.InvoiceBulkRequest > = core.serialization.object({ batchItems: core.serialization.property("batch_items", core.serialization.list(InvoiceBatchItemRequest)), }); diff --git a/src/serialization/resources/accounting/resources/invoices/types/InvoicesBatchObjectsListRequestExpandItem.ts b/src/serialization/resources/accounting/resources/invoices/types/InvoicesBatchObjectsListRequestExpandItem.ts deleted file mode 100644 index 1a3510603..000000000 --- a/src/serialization/resources/accounting/resources/invoices/types/InvoicesBatchObjectsListRequestExpandItem.ts +++ /dev/null @@ -1,41 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Merge from "../../../../../../api/index"; -import * as core from "../../../../../../core"; -import type * as serializers from "../../../../../index"; - -export const InvoicesBatchObjectsListRequestExpandItem: core.serialization.Schema< - serializers.accounting.InvoicesBatchObjectsListRequestExpandItem.Raw, - Merge.accounting.InvoicesBatchObjectsListRequestExpandItem -> = core.serialization.enum_([ - "accounting_period", - "applied_credit_notes", - "applied_payments", - "applied_vendor_credits", - "company", - "contact", - "employee", - "line_items", - "payment_term", - "payments", - "purchase_orders", - "sales_orders", - "tracking_categories", -]); - -export declare namespace InvoicesBatchObjectsListRequestExpandItem { - export type Raw = - | "accounting_period" - | "applied_credit_notes" - | "applied_payments" - | "applied_vendor_credits" - | "company" - | "contact" - | "employee" - | "line_items" - | "payment_term" - | "payments" - | "purchase_orders" - | "sales_orders" - | "tracking_categories"; -} diff --git a/src/serialization/resources/accounting/resources/invoices/types/InvoicesBatchObjectsListRequestStatus.ts b/src/serialization/resources/accounting/resources/invoices/types/InvoicesBatchObjectsListRequestStatus.ts deleted file mode 100644 index 630dc9d11..000000000 --- a/src/serialization/resources/accounting/resources/invoices/types/InvoicesBatchObjectsListRequestStatus.ts +++ /dev/null @@ -1,14 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Merge from "../../../../../../api/index"; -import * as core from "../../../../../../core"; -import type * as serializers from "../../../../../index"; - -export const InvoicesBatchObjectsListRequestStatus: core.serialization.Schema< - serializers.accounting.InvoicesBatchObjectsListRequestStatus.Raw, - Merge.accounting.InvoicesBatchObjectsListRequestStatus -> = core.serialization.enum_(["DRAFT", "OPEN", "PAID", "PARTIALLY_PAID", "SUBMITTED", "VOID"]); - -export declare namespace InvoicesBatchObjectsListRequestStatus { - export type Raw = "DRAFT" | "OPEN" | "PAID" | "PARTIALLY_PAID" | "SUBMITTED" | "VOID"; -} diff --git a/src/serialization/resources/accounting/resources/invoices/types/InvoicesBatchObjectsListRequestType.ts b/src/serialization/resources/accounting/resources/invoices/types/InvoicesBatchObjectsListRequestType.ts deleted file mode 100644 index fb56ce01e..000000000 --- a/src/serialization/resources/accounting/resources/invoices/types/InvoicesBatchObjectsListRequestType.ts +++ /dev/null @@ -1,14 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Merge from "../../../../../../api/index"; -import * as core from "../../../../../../core"; -import type * as serializers from "../../../../../index"; - -export const InvoicesBatchObjectsListRequestType: core.serialization.Schema< - serializers.accounting.InvoicesBatchObjectsListRequestType.Raw, - Merge.accounting.InvoicesBatchObjectsListRequestType -> = core.serialization.enum_(["ACCOUNTS_PAYABLE", "ACCOUNTS_RECEIVABLE"]); - -export declare namespace InvoicesBatchObjectsListRequestType { - export type Raw = "ACCOUNTS_PAYABLE" | "ACCOUNTS_RECEIVABLE"; -} diff --git a/src/serialization/resources/accounting/resources/invoices/types/index.ts b/src/serialization/resources/accounting/resources/invoices/types/index.ts index d690b827a..35fff0ee5 100644 --- a/src/serialization/resources/accounting/resources/invoices/types/index.ts +++ b/src/serialization/resources/accounting/resources/invoices/types/index.ts @@ -1,6 +1,3 @@ -export * from "./InvoicesBatchObjectsListRequestExpandItem"; -export * from "./InvoicesBatchObjectsListRequestStatus"; -export * from "./InvoicesBatchObjectsListRequestType"; export * from "./InvoicesListRequestExpandItem"; export * from "./InvoicesListRequestStatus"; export * from "./InvoicesListRequestType"; diff --git a/src/serialization/resources/accounting/resources/itemFulfillments/client/requests/ItemFulfillmentBulkRequest.ts b/src/serialization/resources/accounting/resources/itemFulfillments/client/requests/ItemFulfillmentBulkRequest.ts index 3f831bd98..f1a428c3b 100644 --- a/src/serialization/resources/accounting/resources/itemFulfillments/client/requests/ItemFulfillmentBulkRequest.ts +++ b/src/serialization/resources/accounting/resources/itemFulfillments/client/requests/ItemFulfillmentBulkRequest.ts @@ -7,7 +7,7 @@ import { ItemFulfillmentBatchItemRequest } from "../../../../types/ItemFulfillme export const ItemFulfillmentBulkRequest: core.serialization.Schema< serializers.accounting.ItemFulfillmentBulkRequest.Raw, - Omit + Merge.accounting.ItemFulfillmentBulkRequest > = core.serialization.object({ batchItems: core.serialization.property("batch_items", core.serialization.list(ItemFulfillmentBatchItemRequest)), }); diff --git a/src/serialization/resources/accounting/resources/itemFulfillments/types/ItemFulfillmentsBatchObjectsListRequestExpandItem.ts b/src/serialization/resources/accounting/resources/itemFulfillments/types/ItemFulfillmentsBatchObjectsListRequestExpandItem.ts deleted file mode 100644 index f81737e39..000000000 --- a/src/serialization/resources/accounting/resources/itemFulfillments/types/ItemFulfillmentsBatchObjectsListRequestExpandItem.ts +++ /dev/null @@ -1,14 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Merge from "../../../../../../api/index"; -import * as core from "../../../../../../core"; -import type * as serializers from "../../../../../index"; - -export const ItemFulfillmentsBatchObjectsListRequestExpandItem: core.serialization.Schema< - serializers.accounting.ItemFulfillmentsBatchObjectsListRequestExpandItem.Raw, - Merge.accounting.ItemFulfillmentsBatchObjectsListRequestExpandItem -> = core.serialization.enum_(["company", "customer", "lines", "sales_order"]); - -export declare namespace ItemFulfillmentsBatchObjectsListRequestExpandItem { - export type Raw = "company" | "customer" | "lines" | "sales_order"; -} diff --git a/src/serialization/resources/accounting/resources/itemFulfillments/types/index.ts b/src/serialization/resources/accounting/resources/itemFulfillments/types/index.ts index 64e091163..41b4a29c2 100644 --- a/src/serialization/resources/accounting/resources/itemFulfillments/types/index.ts +++ b/src/serialization/resources/accounting/resources/itemFulfillments/types/index.ts @@ -1,3 +1,2 @@ -export * from "./ItemFulfillmentsBatchObjectsListRequestExpandItem"; export * from "./ItemFulfillmentsListRequestExpandItem"; export * from "./ItemFulfillmentsRetrieveRequestExpandItem"; diff --git a/src/serialization/resources/accounting/resources/salesOrders/client/requests/SalesOrderBulkRequest.ts b/src/serialization/resources/accounting/resources/salesOrders/client/requests/SalesOrderBulkRequest.ts index dfd4d7b56..e400bb63c 100644 --- a/src/serialization/resources/accounting/resources/salesOrders/client/requests/SalesOrderBulkRequest.ts +++ b/src/serialization/resources/accounting/resources/salesOrders/client/requests/SalesOrderBulkRequest.ts @@ -7,7 +7,7 @@ import { SalesOrderBatchItemRequest } from "../../../../types/SalesOrderBatchIte export const SalesOrderBulkRequest: core.serialization.Schema< serializers.accounting.SalesOrderBulkRequest.Raw, - Omit + Merge.accounting.SalesOrderBulkRequest > = core.serialization.object({ batchItems: core.serialization.property("batch_items", core.serialization.list(SalesOrderBatchItemRequest)), }); diff --git a/src/serialization/resources/accounting/resources/salesOrders/types/SalesOrdersBatchObjectsListRequestExpandItem.ts b/src/serialization/resources/accounting/resources/salesOrders/types/SalesOrdersBatchObjectsListRequestExpandItem.ts deleted file mode 100644 index f1a6268b6..000000000 --- a/src/serialization/resources/accounting/resources/salesOrders/types/SalesOrdersBatchObjectsListRequestExpandItem.ts +++ /dev/null @@ -1,21 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Merge from "../../../../../../api/index"; -import * as core from "../../../../../../core"; -import type * as serializers from "../../../../../index"; - -export const SalesOrdersBatchObjectsListRequestExpandItem: core.serialization.Schema< - serializers.accounting.SalesOrdersBatchObjectsListRequestExpandItem.Raw, - Merge.accounting.SalesOrdersBatchObjectsListRequestExpandItem -> = core.serialization.enum_([ - "company", - "customer", - "lines", - "payment_term", - "shipping_address", - "tracking_categories", -]); - -export declare namespace SalesOrdersBatchObjectsListRequestExpandItem { - export type Raw = "company" | "customer" | "lines" | "payment_term" | "shipping_address" | "tracking_categories"; -} diff --git a/src/serialization/resources/accounting/resources/salesOrders/types/index.ts b/src/serialization/resources/accounting/resources/salesOrders/types/index.ts index df5f74cbe..20a37d0ed 100644 --- a/src/serialization/resources/accounting/resources/salesOrders/types/index.ts +++ b/src/serialization/resources/accounting/resources/salesOrders/types/index.ts @@ -1,3 +1,2 @@ -export * from "./SalesOrdersBatchObjectsListRequestExpandItem"; export * from "./SalesOrdersListRequestExpandItem"; export * from "./SalesOrdersRetrieveRequestExpandItem"; diff --git a/src/serialization/resources/accounting/types/BankFeedTransactionRequestRequestBankFeedAccount.ts b/src/serialization/resources/accounting/types/BankFeedTransactionRequestRequestBankFeedAccount.ts index aaba539a6..768ca2037 100644 --- a/src/serialization/resources/accounting/types/BankFeedTransactionRequestRequestBankFeedAccount.ts +++ b/src/serialization/resources/accounting/types/BankFeedTransactionRequestRequestBankFeedAccount.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { BankFeedAccountRequest } from "./BankFeedAccountRequest"; +import { BankFeedAccount } from "./BankFeedAccount"; export const BankFeedTransactionRequestRequestBankFeedAccount: core.serialization.Schema< serializers.accounting.BankFeedTransactionRequestRequestBankFeedAccount.Raw, Merge.accounting.BankFeedTransactionRequestRequestBankFeedAccount -> = core.serialization.undiscriminatedUnion([core.serialization.string(), BankFeedAccountRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), BankFeedAccount]); export declare namespace BankFeedTransactionRequestRequestBankFeedAccount { - export type Raw = string | BankFeedAccountRequest.Raw; + export type Raw = string | BankFeedAccount.Raw; } diff --git a/src/serialization/resources/accounting/types/BatchObject.ts b/src/serialization/resources/accounting/types/BatchObject.ts index 80f451cd1..693952728 100644 --- a/src/serialization/resources/accounting/types/BatchObject.ts +++ b/src/serialization/resources/accounting/types/BatchObject.ts @@ -4,20 +4,21 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; import { BatchObjectItemResponse } from "./BatchObjectItemResponse"; +import { BatchObjectStatus } from "./BatchObjectStatus"; export const BatchObject: core.serialization.ObjectSchema< serializers.accounting.BatchObject.Raw, Merge.accounting.BatchObject > = core.serialization.object({ itemId: core.serialization.property("item_id", core.serialization.string()), - status: core.serialization.string(), + status: BatchObjectStatus, response: BatchObjectItemResponse.optional(), }); export declare namespace BatchObject { export interface Raw { item_id: string; - status: string; + status: BatchObjectStatus.Raw; response?: BatchObjectItemResponse.Raw | null; } } diff --git a/src/serialization/resources/accounting/types/BatchObjectStatus.ts b/src/serialization/resources/accounting/types/BatchObjectStatus.ts new file mode 100644 index 000000000..292e33709 --- /dev/null +++ b/src/serialization/resources/accounting/types/BatchObjectStatus.ts @@ -0,0 +1,15 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Merge from "../../../../api/index"; +import * as core from "../../../../core"; +import type * as serializers from "../../../index"; +import { BatchObjectStatusEnum } from "./BatchObjectStatusEnum"; + +export const BatchObjectStatus: core.serialization.Schema< + serializers.accounting.BatchObjectStatus.Raw, + Merge.accounting.BatchObjectStatus +> = core.serialization.undiscriminatedUnion([BatchObjectStatusEnum, core.serialization.string()]); + +export declare namespace BatchObjectStatus { + export type Raw = BatchObjectStatusEnum.Raw | string; +} diff --git a/src/serialization/resources/accounting/types/BatchObjectStatusEnum.ts b/src/serialization/resources/accounting/types/BatchObjectStatusEnum.ts new file mode 100644 index 000000000..1e92e8d9a --- /dev/null +++ b/src/serialization/resources/accounting/types/BatchObjectStatusEnum.ts @@ -0,0 +1,14 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Merge from "../../../../api/index"; +import * as core from "../../../../core"; +import type * as serializers from "../../../index"; + +export const BatchObjectStatusEnum: core.serialization.Schema< + serializers.accounting.BatchObjectStatusEnum.Raw, + Merge.accounting.BatchObjectStatusEnum +> = core.serialization.enum_(["PENDING", "SUCCESS", "FAILURE"]); + +export declare namespace BatchObjectStatusEnum { + export type Raw = "PENDING" | "SUCCESS" | "FAILURE"; +} diff --git a/src/serialization/resources/accounting/types/BatchObjectsResponse.ts b/src/serialization/resources/accounting/types/BatchObjectsResponse.ts index 46762573c..fc05a8cab 100644 --- a/src/serialization/resources/accounting/types/BatchObjectsResponse.ts +++ b/src/serialization/resources/accounting/types/BatchObjectsResponse.ts @@ -4,13 +4,14 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; import { BatchObject } from "./BatchObject"; +import { BatchObjectsResponseStatus } from "./BatchObjectsResponseStatus"; export const BatchObjectsResponse: core.serialization.ObjectSchema< serializers.accounting.BatchObjectsResponse.Raw, Merge.accounting.BatchObjectsResponse > = core.serialization.object({ batchId: core.serialization.property("batch_id", core.serialization.string()), - status: core.serialization.string(), + status: BatchObjectsResponseStatus, totalCount: core.serialization.property("total_count", core.serialization.number()), objects: core.serialization.list(BatchObject), }); @@ -18,7 +19,7 @@ export const BatchObjectsResponse: core.serialization.ObjectSchema< export declare namespace BatchObjectsResponse { export interface Raw { batch_id: string; - status: string; + status: BatchObjectsResponseStatus.Raw; total_count: number; objects: BatchObject.Raw[]; } diff --git a/src/serialization/resources/accounting/types/BatchObjectsResponseStatus.ts b/src/serialization/resources/accounting/types/BatchObjectsResponseStatus.ts new file mode 100644 index 000000000..144566b95 --- /dev/null +++ b/src/serialization/resources/accounting/types/BatchObjectsResponseStatus.ts @@ -0,0 +1,15 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Merge from "../../../../api/index"; +import * as core from "../../../../core"; +import type * as serializers from "../../../index"; +import { BatchObjectsResponseStatusEnum } from "./BatchObjectsResponseStatusEnum"; + +export const BatchObjectsResponseStatus: core.serialization.Schema< + serializers.accounting.BatchObjectsResponseStatus.Raw, + Merge.accounting.BatchObjectsResponseStatus +> = core.serialization.undiscriminatedUnion([BatchObjectsResponseStatusEnum, core.serialization.string()]); + +export declare namespace BatchObjectsResponseStatus { + export type Raw = BatchObjectsResponseStatusEnum.Raw | string; +} diff --git a/src/serialization/resources/accounting/types/BatchObjectsResponseStatusEnum.ts b/src/serialization/resources/accounting/types/BatchObjectsResponseStatusEnum.ts new file mode 100644 index 000000000..826356349 --- /dev/null +++ b/src/serialization/resources/accounting/types/BatchObjectsResponseStatusEnum.ts @@ -0,0 +1,14 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Merge from "../../../../api/index"; +import * as core from "../../../../core"; +import type * as serializers from "../../../index"; + +export const BatchObjectsResponseStatusEnum: core.serialization.Schema< + serializers.accounting.BatchObjectsResponseStatusEnum.Raw, + Merge.accounting.BatchObjectsResponseStatusEnum +> = core.serialization.enum_(["ENQUEUED", "IN_PROGRESS", "PARTIAL_SUCCESS", "SUCCESS", "FAILED", "RATE_LIMITED"]); + +export declare namespace BatchObjectsResponseStatusEnum { + export type Raw = "ENQUEUED" | "IN_PROGRESS" | "PARTIAL_SUCCESS" | "SUCCESS" | "FAILED" | "RATE_LIMITED"; +} diff --git a/src/serialization/resources/accounting/types/ContactRequestAddressesItem.ts b/src/serialization/resources/accounting/types/ContactRequestAddressesItem.ts index 14b617139..111ed8199 100644 --- a/src/serialization/resources/accounting/types/ContactRequestAddressesItem.ts +++ b/src/serialization/resources/accounting/types/ContactRequestAddressesItem.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { AddressRequest } from "./AddressRequest"; +import { Address } from "./Address"; export const ContactRequestAddressesItem: core.serialization.Schema< serializers.accounting.ContactRequestAddressesItem.Raw, Merge.accounting.ContactRequestAddressesItem -> = core.serialization.undiscriminatedUnion([core.serialization.string(), AddressRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Address]); export declare namespace ContactRequestAddressesItem { - export type Raw = string | AddressRequest.Raw; + export type Raw = string | Address.Raw; } diff --git a/src/serialization/resources/accounting/types/ContactRequestPhoneNumbersItem.ts b/src/serialization/resources/accounting/types/ContactRequestPhoneNumbersItem.ts index 04e108b9f..2572bdb37 100644 --- a/src/serialization/resources/accounting/types/ContactRequestPhoneNumbersItem.ts +++ b/src/serialization/resources/accounting/types/ContactRequestPhoneNumbersItem.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { AccountingPhoneNumberRequest } from "./AccountingPhoneNumberRequest"; +import { AccountingPhoneNumber } from "./AccountingPhoneNumber"; export const ContactRequestPhoneNumbersItem: core.serialization.Schema< serializers.accounting.ContactRequestPhoneNumbersItem.Raw, Merge.accounting.ContactRequestPhoneNumbersItem -> = core.serialization.undiscriminatedUnion([core.serialization.string(), AccountingPhoneNumberRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), AccountingPhoneNumber]); export declare namespace ContactRequestPhoneNumbersItem { - export type Raw = string | AccountingPhoneNumberRequest.Raw; + export type Raw = string | AccountingPhoneNumber.Raw; } diff --git a/src/serialization/resources/accounting/types/CreditNoteApplyLineForCreditNoteRequestInvoice.ts b/src/serialization/resources/accounting/types/CreditNoteApplyLineForCreditNoteRequestInvoice.ts index c7d507930..c05ab3515 100644 --- a/src/serialization/resources/accounting/types/CreditNoteApplyLineForCreditNoteRequestInvoice.ts +++ b/src/serialization/resources/accounting/types/CreditNoteApplyLineForCreditNoteRequestInvoice.ts @@ -2,14 +2,16 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; -import type * as serializers from "../../../index"; -import { InvoiceRequest } from "./InvoiceRequest"; +import * as serializers from "../../../index"; export const CreditNoteApplyLineForCreditNoteRequestInvoice: core.serialization.Schema< serializers.accounting.CreditNoteApplyLineForCreditNoteRequestInvoice.Raw, Merge.accounting.CreditNoteApplyLineForCreditNoteRequestInvoice -> = core.serialization.undiscriminatedUnion([core.serialization.string(), InvoiceRequest]); +> = core.serialization.undiscriminatedUnion([ + core.serialization.string(), + core.serialization.lazyObject(() => serializers.accounting.Invoice), +]); export declare namespace CreditNoteApplyLineForCreditNoteRequestInvoice { - export type Raw = string | InvoiceRequest.Raw; + export type Raw = string | serializers.accounting.Invoice.Raw; } diff --git a/src/serialization/resources/accounting/types/CreditNoteLineItemRequestContact.ts b/src/serialization/resources/accounting/types/CreditNoteLineItemRequestContact.ts index 039caae77..5c16007cb 100644 --- a/src/serialization/resources/accounting/types/CreditNoteLineItemRequestContact.ts +++ b/src/serialization/resources/accounting/types/CreditNoteLineItemRequestContact.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { ContactRequest } from "./ContactRequest"; +import { Contact } from "./Contact"; export const CreditNoteLineItemRequestContact: core.serialization.Schema< serializers.accounting.CreditNoteLineItemRequestContact.Raw, Merge.accounting.CreditNoteLineItemRequestContact -> = core.serialization.undiscriminatedUnion([core.serialization.string(), ContactRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Contact]); export declare namespace CreditNoteLineItemRequestContact { - export type Raw = string | ContactRequest.Raw; + export type Raw = string | Contact.Raw; } diff --git a/src/serialization/resources/accounting/types/CreditNoteRequestAppliedPaymentsItem.ts b/src/serialization/resources/accounting/types/CreditNoteRequestAppliedPaymentsItem.ts index e9d211073..37aaea371 100644 --- a/src/serialization/resources/accounting/types/CreditNoteRequestAppliedPaymentsItem.ts +++ b/src/serialization/resources/accounting/types/CreditNoteRequestAppliedPaymentsItem.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { PaymentLineItemRequest } from "./PaymentLineItemRequest"; +import { PaymentLineItem } from "./PaymentLineItem"; export const CreditNoteRequestAppliedPaymentsItem: core.serialization.Schema< serializers.accounting.CreditNoteRequestAppliedPaymentsItem.Raw, Merge.accounting.CreditNoteRequestAppliedPaymentsItem -> = core.serialization.undiscriminatedUnion([core.serialization.string(), PaymentLineItemRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), PaymentLineItem]); export declare namespace CreditNoteRequestAppliedPaymentsItem { - export type Raw = string | PaymentLineItemRequest.Raw; + export type Raw = string | PaymentLineItem.Raw; } diff --git a/src/serialization/resources/accounting/types/CreditNoteRequestContact.ts b/src/serialization/resources/accounting/types/CreditNoteRequestContact.ts index 5b84cb3b7..54b98b94b 100644 --- a/src/serialization/resources/accounting/types/CreditNoteRequestContact.ts +++ b/src/serialization/resources/accounting/types/CreditNoteRequestContact.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { ContactRequest } from "./ContactRequest"; +import { Contact } from "./Contact"; export const CreditNoteRequestContact: core.serialization.Schema< serializers.accounting.CreditNoteRequestContact.Raw, Merge.accounting.CreditNoteRequestContact -> = core.serialization.undiscriminatedUnion([core.serialization.string(), ContactRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Contact]); export declare namespace CreditNoteRequestContact { - export type Raw = string | ContactRequest.Raw; + export type Raw = string | Contact.Raw; } diff --git a/src/serialization/resources/accounting/types/CreditNoteRequestLineItemsItem.ts b/src/serialization/resources/accounting/types/CreditNoteRequestLineItemsItem.ts index 384b163d5..d6afd6a22 100644 --- a/src/serialization/resources/accounting/types/CreditNoteRequestLineItemsItem.ts +++ b/src/serialization/resources/accounting/types/CreditNoteRequestLineItemsItem.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { CreditNoteLineItemRequest } from "./CreditNoteLineItemRequest"; +import { CreditNoteLineItem } from "./CreditNoteLineItem"; export const CreditNoteRequestLineItemsItem: core.serialization.Schema< serializers.accounting.CreditNoteRequestLineItemsItem.Raw, Merge.accounting.CreditNoteRequestLineItemsItem -> = core.serialization.undiscriminatedUnion([core.serialization.string(), CreditNoteLineItemRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), CreditNoteLineItem]); export declare namespace CreditNoteRequestLineItemsItem { - export type Raw = string | CreditNoteLineItemRequest.Raw; + export type Raw = string | CreditNoteLineItem.Raw; } diff --git a/src/serialization/resources/accounting/types/CreditNoteRequestPaymentsItem.ts b/src/serialization/resources/accounting/types/CreditNoteRequestPaymentsItem.ts index 5f878648e..2fa6f78c0 100644 --- a/src/serialization/resources/accounting/types/CreditNoteRequestPaymentsItem.ts +++ b/src/serialization/resources/accounting/types/CreditNoteRequestPaymentsItem.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { PaymentRequest } from "./PaymentRequest"; +import { Payment } from "./Payment"; export const CreditNoteRequestPaymentsItem: core.serialization.Schema< serializers.accounting.CreditNoteRequestPaymentsItem.Raw, Merge.accounting.CreditNoteRequestPaymentsItem -> = core.serialization.undiscriminatedUnion([core.serialization.string(), PaymentRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Payment]); export declare namespace CreditNoteRequestPaymentsItem { - export type Raw = string | PaymentRequest.Raw; + export type Raw = string | Payment.Raw; } diff --git a/src/serialization/resources/accounting/types/DataPassthroughRequest.ts b/src/serialization/resources/accounting/types/DataPassthroughRequest.ts index 6acb4d9ff..bea54e42d 100644 --- a/src/serialization/resources/accounting/types/DataPassthroughRequest.ts +++ b/src/serialization/resources/accounting/types/DataPassthroughRequest.ts @@ -3,15 +3,15 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { DataPassthroughRequestMethod } from "./DataPassthroughRequestMethod"; -import { DataPassthroughRequestRequestFormat } from "./DataPassthroughRequestRequestFormat"; +import { MethodEnum } from "./MethodEnum"; import { MultipartFormFieldRequest } from "./MultipartFormFieldRequest"; +import { RequestFormatEnum } from "./RequestFormatEnum"; export const DataPassthroughRequest: core.serialization.ObjectSchema< serializers.accounting.DataPassthroughRequest.Raw, Merge.accounting.DataPassthroughRequest > = core.serialization.object({ - method: DataPassthroughRequestMethod, + method: MethodEnum, path: core.serialization.string(), baseUrlOverride: core.serialization.property("base_url_override", core.serialization.string().optional()), data: core.serialization.string().optional(), @@ -20,19 +20,19 @@ export const DataPassthroughRequest: core.serialization.ObjectSchema< core.serialization.list(MultipartFormFieldRequest).optional(), ), headers: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), - requestFormat: core.serialization.property("request_format", DataPassthroughRequestRequestFormat.optional()), + requestFormat: core.serialization.property("request_format", RequestFormatEnum.optional()), normalizeResponse: core.serialization.property("normalize_response", core.serialization.boolean().optional()), }); export declare namespace DataPassthroughRequest { export interface Raw { - method: DataPassthroughRequestMethod.Raw; + method: MethodEnum.Raw; path: string; base_url_override?: string | null; data?: string | null; multipart_form_data?: MultipartFormFieldRequest.Raw[] | null; headers?: Record | null; - request_format?: DataPassthroughRequestRequestFormat.Raw | null; + request_format?: RequestFormatEnum.Raw | null; normalize_response?: boolean | null; } } diff --git a/src/serialization/resources/accounting/types/DataPassthroughRequestMethod.ts b/src/serialization/resources/accounting/types/DataPassthroughRequestMethod.ts deleted file mode 100644 index 137a96e09..000000000 --- a/src/serialization/resources/accounting/types/DataPassthroughRequestMethod.ts +++ /dev/null @@ -1,15 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Merge from "../../../../api/index"; -import * as core from "../../../../core"; -import type * as serializers from "../../../index"; -import { MethodEnum } from "./MethodEnum"; - -export const DataPassthroughRequestMethod: core.serialization.Schema< - serializers.accounting.DataPassthroughRequestMethod.Raw, - Merge.accounting.DataPassthroughRequestMethod -> = core.serialization.undiscriminatedUnion([MethodEnum, core.serialization.string()]); - -export declare namespace DataPassthroughRequestMethod { - export type Raw = MethodEnum.Raw | string; -} diff --git a/src/serialization/resources/accounting/types/DataPassthroughRequestRequestFormat.ts b/src/serialization/resources/accounting/types/DataPassthroughRequestRequestFormat.ts deleted file mode 100644 index 66a5758c7..000000000 --- a/src/serialization/resources/accounting/types/DataPassthroughRequestRequestFormat.ts +++ /dev/null @@ -1,15 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Merge from "../../../../api/index"; -import * as core from "../../../../core"; -import type * as serializers from "../../../index"; -import { RequestFormatEnum } from "./RequestFormatEnum"; - -export const DataPassthroughRequestRequestFormat: core.serialization.Schema< - serializers.accounting.DataPassthroughRequestRequestFormat.Raw, - Merge.accounting.DataPassthroughRequestRequestFormat -> = core.serialization.undiscriminatedUnion([RequestFormatEnum, core.serialization.string()]); - -export declare namespace DataPassthroughRequestRequestFormat { - export type Raw = RequestFormatEnum.Raw | string; -} diff --git a/src/serialization/resources/accounting/types/ErrorValidationProblem.ts b/src/serialization/resources/accounting/types/ErrorValidationProblem.ts index c9b8c0f28..3015986d4 100644 --- a/src/serialization/resources/accounting/types/ErrorValidationProblem.ts +++ b/src/serialization/resources/accounting/types/ErrorValidationProblem.ts @@ -14,6 +14,8 @@ export const ErrorValidationProblem: core.serialization.ObjectSchema< detail: core.serialization.string(), problemType: core.serialization.property("problem_type", core.serialization.string()), blockMergeLink: core.serialization.property("block_merge_link", core.serialization.boolean().optional()), + rawError: core.serialization.property("raw_error", core.serialization.string().optional()), + errorCode: core.serialization.property("error_code", core.serialization.number().optional()), }); export declare namespace ErrorValidationProblem { @@ -23,5 +25,7 @@ export declare namespace ErrorValidationProblem { detail: string; problem_type: string; block_merge_link?: boolean | null; + raw_error?: string | null; + error_code?: number | null; } } diff --git a/src/serialization/resources/accounting/types/ExpenseLineRequestAccount.ts b/src/serialization/resources/accounting/types/ExpenseLineRequestAccount.ts index 20b8c0106..f8b5a75dd 100644 --- a/src/serialization/resources/accounting/types/ExpenseLineRequestAccount.ts +++ b/src/serialization/resources/accounting/types/ExpenseLineRequestAccount.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { AccountRequest } from "./AccountRequest"; +import { Account } from "./Account"; export const ExpenseLineRequestAccount: core.serialization.Schema< serializers.accounting.ExpenseLineRequestAccount.Raw, Merge.accounting.ExpenseLineRequestAccount -> = core.serialization.undiscriminatedUnion([core.serialization.string(), AccountRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Account]); export declare namespace ExpenseLineRequestAccount { - export type Raw = string | AccountRequest.Raw; + export type Raw = string | Account.Raw; } diff --git a/src/serialization/resources/accounting/types/ExpenseLineRequestContact.ts b/src/serialization/resources/accounting/types/ExpenseLineRequestContact.ts index 79408ed0a..fcde8338c 100644 --- a/src/serialization/resources/accounting/types/ExpenseLineRequestContact.ts +++ b/src/serialization/resources/accounting/types/ExpenseLineRequestContact.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { ContactRequest } from "./ContactRequest"; +import { Contact } from "./Contact"; export const ExpenseLineRequestContact: core.serialization.Schema< serializers.accounting.ExpenseLineRequestContact.Raw, Merge.accounting.ExpenseLineRequestContact -> = core.serialization.undiscriminatedUnion([core.serialization.string(), ContactRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Contact]); export declare namespace ExpenseLineRequestContact { - export type Raw = string | ContactRequest.Raw; + export type Raw = string | Contact.Raw; } diff --git a/src/serialization/resources/accounting/types/ExpenseReportLineRequestAccount.ts b/src/serialization/resources/accounting/types/ExpenseReportLineRequestAccount.ts index 88a8a5c92..ffbd60667 100644 --- a/src/serialization/resources/accounting/types/ExpenseReportLineRequestAccount.ts +++ b/src/serialization/resources/accounting/types/ExpenseReportLineRequestAccount.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { AccountRequest } from "./AccountRequest"; +import { Account } from "./Account"; export const ExpenseReportLineRequestAccount: core.serialization.Schema< serializers.accounting.ExpenseReportLineRequestAccount.Raw, Merge.accounting.ExpenseReportLineRequestAccount -> = core.serialization.undiscriminatedUnion([core.serialization.string(), AccountRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Account]); export declare namespace ExpenseReportLineRequestAccount { - export type Raw = string | AccountRequest.Raw; + export type Raw = string | Account.Raw; } diff --git a/src/serialization/resources/accounting/types/ExpenseReportLineRequestContact.ts b/src/serialization/resources/accounting/types/ExpenseReportLineRequestContact.ts index 58a59da87..6a773b555 100644 --- a/src/serialization/resources/accounting/types/ExpenseReportLineRequestContact.ts +++ b/src/serialization/resources/accounting/types/ExpenseReportLineRequestContact.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { ContactRequest } from "./ContactRequest"; +import { Contact } from "./Contact"; export const ExpenseReportLineRequestContact: core.serialization.Schema< serializers.accounting.ExpenseReportLineRequestContact.Raw, Merge.accounting.ExpenseReportLineRequestContact -> = core.serialization.undiscriminatedUnion([core.serialization.string(), ContactRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Contact]); export declare namespace ExpenseReportLineRequestContact { - export type Raw = string | ContactRequest.Raw; + export type Raw = string | Contact.Raw; } diff --git a/src/serialization/resources/accounting/types/ExpenseRequestAccount.ts b/src/serialization/resources/accounting/types/ExpenseRequestAccount.ts index ca377f9f1..a439907cf 100644 --- a/src/serialization/resources/accounting/types/ExpenseRequestAccount.ts +++ b/src/serialization/resources/accounting/types/ExpenseRequestAccount.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { AccountRequest } from "./AccountRequest"; +import { Account } from "./Account"; export const ExpenseRequestAccount: core.serialization.Schema< serializers.accounting.ExpenseRequestAccount.Raw, Merge.accounting.ExpenseRequestAccount -> = core.serialization.undiscriminatedUnion([core.serialization.string(), AccountRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Account]); export declare namespace ExpenseRequestAccount { - export type Raw = string | AccountRequest.Raw; + export type Raw = string | Account.Raw; } diff --git a/src/serialization/resources/accounting/types/ExpenseRequestContact.ts b/src/serialization/resources/accounting/types/ExpenseRequestContact.ts index 50bccf034..188b3355b 100644 --- a/src/serialization/resources/accounting/types/ExpenseRequestContact.ts +++ b/src/serialization/resources/accounting/types/ExpenseRequestContact.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { ContactRequest } from "./ContactRequest"; +import { Contact } from "./Contact"; export const ExpenseRequestContact: core.serialization.Schema< serializers.accounting.ExpenseRequestContact.Raw, Merge.accounting.ExpenseRequestContact -> = core.serialization.undiscriminatedUnion([core.serialization.string(), ContactRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Contact]); export declare namespace ExpenseRequestContact { - export type Raw = string | ContactRequest.Raw; + export type Raw = string | Contact.Raw; } diff --git a/src/serialization/resources/accounting/types/InvoiceLineItemRequestAccount.ts b/src/serialization/resources/accounting/types/InvoiceLineItemRequestAccount.ts index 815512a70..c8a45cdc1 100644 --- a/src/serialization/resources/accounting/types/InvoiceLineItemRequestAccount.ts +++ b/src/serialization/resources/accounting/types/InvoiceLineItemRequestAccount.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { AccountRequest } from "./AccountRequest"; +import { Account } from "./Account"; export const InvoiceLineItemRequestAccount: core.serialization.Schema< serializers.accounting.InvoiceLineItemRequestAccount.Raw, Merge.accounting.InvoiceLineItemRequestAccount -> = core.serialization.undiscriminatedUnion([core.serialization.string(), AccountRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Account]); export declare namespace InvoiceLineItemRequestAccount { - export type Raw = string | AccountRequest.Raw; + export type Raw = string | Account.Raw; } diff --git a/src/serialization/resources/accounting/types/InvoiceLineItemRequestContact.ts b/src/serialization/resources/accounting/types/InvoiceLineItemRequestContact.ts index b711c53ca..34706b30e 100644 --- a/src/serialization/resources/accounting/types/InvoiceLineItemRequestContact.ts +++ b/src/serialization/resources/accounting/types/InvoiceLineItemRequestContact.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { ContactRequest } from "./ContactRequest"; +import { Contact } from "./Contact"; export const InvoiceLineItemRequestContact: core.serialization.Schema< serializers.accounting.InvoiceLineItemRequestContact.Raw, Merge.accounting.InvoiceLineItemRequestContact -> = core.serialization.undiscriminatedUnion([core.serialization.string(), ContactRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Contact]); export declare namespace InvoiceLineItemRequestContact { - export type Raw = string | ContactRequest.Raw; + export type Raw = string | Contact.Raw; } diff --git a/src/serialization/resources/accounting/types/InvoiceRequestContact.ts b/src/serialization/resources/accounting/types/InvoiceRequestContact.ts index 65accf9e3..217a03e92 100644 --- a/src/serialization/resources/accounting/types/InvoiceRequestContact.ts +++ b/src/serialization/resources/accounting/types/InvoiceRequestContact.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { ContactRequest } from "./ContactRequest"; +import { Contact } from "./Contact"; export const InvoiceRequestContact: core.serialization.Schema< serializers.accounting.InvoiceRequestContact.Raw, Merge.accounting.InvoiceRequestContact -> = core.serialization.undiscriminatedUnion([core.serialization.string(), ContactRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Contact]); export declare namespace InvoiceRequestContact { - export type Raw = string | ContactRequest.Raw; + export type Raw = string | Contact.Raw; } diff --git a/src/serialization/resources/accounting/types/InvoiceRequestLineItemsItem.ts b/src/serialization/resources/accounting/types/InvoiceRequestLineItemsItem.ts index 69f3fa71c..8f30b4a77 100644 --- a/src/serialization/resources/accounting/types/InvoiceRequestLineItemsItem.ts +++ b/src/serialization/resources/accounting/types/InvoiceRequestLineItemsItem.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { InvoiceLineItemRequest } from "./InvoiceLineItemRequest"; +import { InvoiceLineItem } from "./InvoiceLineItem"; export const InvoiceRequestLineItemsItem: core.serialization.Schema< serializers.accounting.InvoiceRequestLineItemsItem.Raw, Merge.accounting.InvoiceRequestLineItemsItem -> = core.serialization.undiscriminatedUnion([core.serialization.string(), InvoiceLineItemRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), InvoiceLineItem]); export declare namespace InvoiceRequestLineItemsItem { - export type Raw = string | InvoiceLineItemRequest.Raw; + export type Raw = string | InvoiceLineItem.Raw; } diff --git a/src/serialization/resources/accounting/types/InvoiceRequestPaymentsItem.ts b/src/serialization/resources/accounting/types/InvoiceRequestPaymentsItem.ts index 2f726cd21..f23b7978d 100644 --- a/src/serialization/resources/accounting/types/InvoiceRequestPaymentsItem.ts +++ b/src/serialization/resources/accounting/types/InvoiceRequestPaymentsItem.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { PaymentRequest } from "./PaymentRequest"; +import { Payment } from "./Payment"; export const InvoiceRequestPaymentsItem: core.serialization.Schema< serializers.accounting.InvoiceRequestPaymentsItem.Raw, Merge.accounting.InvoiceRequestPaymentsItem -> = core.serialization.undiscriminatedUnion([core.serialization.string(), PaymentRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Payment]); export declare namespace InvoiceRequestPaymentsItem { - export type Raw = string | PaymentRequest.Raw; + export type Raw = string | Payment.Raw; } diff --git a/src/serialization/resources/accounting/types/InvoiceRequestPurchaseOrdersItem.ts b/src/serialization/resources/accounting/types/InvoiceRequestPurchaseOrdersItem.ts index f04d45a68..747b45e9c 100644 --- a/src/serialization/resources/accounting/types/InvoiceRequestPurchaseOrdersItem.ts +++ b/src/serialization/resources/accounting/types/InvoiceRequestPurchaseOrdersItem.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { PurchaseOrderRequest } from "./PurchaseOrderRequest"; +import { PurchaseOrder } from "./PurchaseOrder"; export const InvoiceRequestPurchaseOrdersItem: core.serialization.Schema< serializers.accounting.InvoiceRequestPurchaseOrdersItem.Raw, Merge.accounting.InvoiceRequestPurchaseOrdersItem -> = core.serialization.undiscriminatedUnion([core.serialization.string(), PurchaseOrderRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), PurchaseOrder]); export declare namespace InvoiceRequestPurchaseOrdersItem { - export type Raw = string | PurchaseOrderRequest.Raw; + export type Raw = string | PurchaseOrder.Raw; } diff --git a/src/serialization/resources/accounting/types/ItemFulfillmentLineRequestSalesOrderLine.ts b/src/serialization/resources/accounting/types/ItemFulfillmentLineRequestSalesOrderLine.ts index d9dac42e9..b73366448 100644 --- a/src/serialization/resources/accounting/types/ItemFulfillmentLineRequestSalesOrderLine.ts +++ b/src/serialization/resources/accounting/types/ItemFulfillmentLineRequestSalesOrderLine.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { SalesOrderLineRequest } from "./SalesOrderLineRequest"; +import { SalesOrderLine } from "./SalesOrderLine"; export const ItemFulfillmentLineRequestSalesOrderLine: core.serialization.Schema< serializers.accounting.ItemFulfillmentLineRequestSalesOrderLine.Raw, Merge.accounting.ItemFulfillmentLineRequestSalesOrderLine -> = core.serialization.undiscriminatedUnion([core.serialization.string(), SalesOrderLineRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), SalesOrderLine]); export declare namespace ItemFulfillmentLineRequestSalesOrderLine { - export type Raw = string | SalesOrderLineRequest.Raw; + export type Raw = string | SalesOrderLine.Raw; } diff --git a/src/serialization/resources/accounting/types/ItemFulfillmentRequestRequestCustomer.ts b/src/serialization/resources/accounting/types/ItemFulfillmentRequestRequestCustomer.ts index b48b4b430..239a9d321 100644 --- a/src/serialization/resources/accounting/types/ItemFulfillmentRequestRequestCustomer.ts +++ b/src/serialization/resources/accounting/types/ItemFulfillmentRequestRequestCustomer.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { ContactRequest } from "./ContactRequest"; +import { Contact } from "./Contact"; export const ItemFulfillmentRequestRequestCustomer: core.serialization.Schema< serializers.accounting.ItemFulfillmentRequestRequestCustomer.Raw, Merge.accounting.ItemFulfillmentRequestRequestCustomer -> = core.serialization.undiscriminatedUnion([core.serialization.string(), ContactRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Contact]); export declare namespace ItemFulfillmentRequestRequestCustomer { - export type Raw = string | ContactRequest.Raw; + export type Raw = string | Contact.Raw; } diff --git a/src/serialization/resources/accounting/types/ItemFulfillmentRequestRequestLinesItem.ts b/src/serialization/resources/accounting/types/ItemFulfillmentRequestRequestLinesItem.ts index 0d5de0e59..c0e63e72a 100644 --- a/src/serialization/resources/accounting/types/ItemFulfillmentRequestRequestLinesItem.ts +++ b/src/serialization/resources/accounting/types/ItemFulfillmentRequestRequestLinesItem.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { ItemFulfillmentLineRequest } from "./ItemFulfillmentLineRequest"; +import { ItemFulfillmentLine } from "./ItemFulfillmentLine"; export const ItemFulfillmentRequestRequestLinesItem: core.serialization.Schema< serializers.accounting.ItemFulfillmentRequestRequestLinesItem.Raw, Merge.accounting.ItemFulfillmentRequestRequestLinesItem -> = core.serialization.undiscriminatedUnion([core.serialization.string(), ItemFulfillmentLineRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), ItemFulfillmentLine]); export declare namespace ItemFulfillmentRequestRequestLinesItem { - export type Raw = string | ItemFulfillmentLineRequest.Raw; + export type Raw = string | ItemFulfillmentLine.Raw; } diff --git a/src/serialization/resources/accounting/types/ItemRequestRequestPurchaseAccount.ts b/src/serialization/resources/accounting/types/ItemRequestRequestPurchaseAccount.ts index afe28ea06..ccbdc43ab 100644 --- a/src/serialization/resources/accounting/types/ItemRequestRequestPurchaseAccount.ts +++ b/src/serialization/resources/accounting/types/ItemRequestRequestPurchaseAccount.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { AccountRequest } from "./AccountRequest"; +import { Account } from "./Account"; export const ItemRequestRequestPurchaseAccount: core.serialization.Schema< serializers.accounting.ItemRequestRequestPurchaseAccount.Raw, Merge.accounting.ItemRequestRequestPurchaseAccount -> = core.serialization.undiscriminatedUnion([core.serialization.string(), AccountRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Account]); export declare namespace ItemRequestRequestPurchaseAccount { - export type Raw = string | AccountRequest.Raw; + export type Raw = string | Account.Raw; } diff --git a/src/serialization/resources/accounting/types/ItemRequestRequestSalesAccount.ts b/src/serialization/resources/accounting/types/ItemRequestRequestSalesAccount.ts index 6d66c3d52..b86b32446 100644 --- a/src/serialization/resources/accounting/types/ItemRequestRequestSalesAccount.ts +++ b/src/serialization/resources/accounting/types/ItemRequestRequestSalesAccount.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { AccountRequest } from "./AccountRequest"; +import { Account } from "./Account"; export const ItemRequestRequestSalesAccount: core.serialization.Schema< serializers.accounting.ItemRequestRequestSalesAccount.Raw, Merge.accounting.ItemRequestRequestSalesAccount -> = core.serialization.undiscriminatedUnion([core.serialization.string(), AccountRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Account]); export declare namespace ItemRequestRequestSalesAccount { - export type Raw = string | AccountRequest.Raw; + export type Raw = string | Account.Raw; } diff --git a/src/serialization/resources/accounting/types/JournalEntryRequestLinesItem.ts b/src/serialization/resources/accounting/types/JournalEntryRequestLinesItem.ts index 8b90f8891..54adb3d6c 100644 --- a/src/serialization/resources/accounting/types/JournalEntryRequestLinesItem.ts +++ b/src/serialization/resources/accounting/types/JournalEntryRequestLinesItem.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { JournalLineRequest } from "./JournalLineRequest"; +import { JournalLine } from "./JournalLine"; export const JournalEntryRequestLinesItem: core.serialization.Schema< serializers.accounting.JournalEntryRequestLinesItem.Raw, Merge.accounting.JournalEntryRequestLinesItem -> = core.serialization.undiscriminatedUnion([core.serialization.string(), JournalLineRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), JournalLine]); export declare namespace JournalEntryRequestLinesItem { - export type Raw = string | JournalLineRequest.Raw; + export type Raw = string | JournalLine.Raw; } diff --git a/src/serialization/resources/accounting/types/JournalEntryRequestPaymentsItem.ts b/src/serialization/resources/accounting/types/JournalEntryRequestPaymentsItem.ts index 369341e52..fcd672112 100644 --- a/src/serialization/resources/accounting/types/JournalEntryRequestPaymentsItem.ts +++ b/src/serialization/resources/accounting/types/JournalEntryRequestPaymentsItem.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { PaymentRequest } from "./PaymentRequest"; +import { Payment } from "./Payment"; export const JournalEntryRequestPaymentsItem: core.serialization.Schema< serializers.accounting.JournalEntryRequestPaymentsItem.Raw, Merge.accounting.JournalEntryRequestPaymentsItem -> = core.serialization.undiscriminatedUnion([core.serialization.string(), PaymentRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Payment]); export declare namespace JournalEntryRequestPaymentsItem { - export type Raw = string | PaymentRequest.Raw; + export type Raw = string | Payment.Raw; } diff --git a/src/serialization/resources/accounting/types/JournalLineRequestAccount.ts b/src/serialization/resources/accounting/types/JournalLineRequestAccount.ts index 55f36d36f..6dff35c7e 100644 --- a/src/serialization/resources/accounting/types/JournalLineRequestAccount.ts +++ b/src/serialization/resources/accounting/types/JournalLineRequestAccount.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { AccountRequest } from "./AccountRequest"; +import { Account } from "./Account"; export const JournalLineRequestAccount: core.serialization.Schema< serializers.accounting.JournalLineRequestAccount.Raw, Merge.accounting.JournalLineRequestAccount -> = core.serialization.undiscriminatedUnion([core.serialization.string(), AccountRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Account]); export declare namespace JournalLineRequestAccount { - export type Raw = string | AccountRequest.Raw; + export type Raw = string | Account.Raw; } diff --git a/src/serialization/resources/accounting/types/PaymentRequestAccount.ts b/src/serialization/resources/accounting/types/PaymentRequestAccount.ts index bbe187c30..063b18da4 100644 --- a/src/serialization/resources/accounting/types/PaymentRequestAccount.ts +++ b/src/serialization/resources/accounting/types/PaymentRequestAccount.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { AccountRequest } from "./AccountRequest"; +import { Account } from "./Account"; export const PaymentRequestAccount: core.serialization.Schema< serializers.accounting.PaymentRequestAccount.Raw, Merge.accounting.PaymentRequestAccount -> = core.serialization.undiscriminatedUnion([core.serialization.string(), AccountRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Account]); export declare namespace PaymentRequestAccount { - export type Raw = string | AccountRequest.Raw; + export type Raw = string | Account.Raw; } diff --git a/src/serialization/resources/accounting/types/PaymentRequestAppliedToLinesItem.ts b/src/serialization/resources/accounting/types/PaymentRequestAppliedToLinesItem.ts index c8c25a108..e3f45b348 100644 --- a/src/serialization/resources/accounting/types/PaymentRequestAppliedToLinesItem.ts +++ b/src/serialization/resources/accounting/types/PaymentRequestAppliedToLinesItem.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { PaymentLineItemRequest } from "./PaymentLineItemRequest"; +import { PaymentLineItem } from "./PaymentLineItem"; export const PaymentRequestAppliedToLinesItem: core.serialization.Schema< serializers.accounting.PaymentRequestAppliedToLinesItem.Raw, Merge.accounting.PaymentRequestAppliedToLinesItem -> = core.serialization.undiscriminatedUnion([core.serialization.string(), PaymentLineItemRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), PaymentLineItem]); export declare namespace PaymentRequestAppliedToLinesItem { - export type Raw = string | PaymentLineItemRequest.Raw; + export type Raw = string | PaymentLineItem.Raw; } diff --git a/src/serialization/resources/accounting/types/PaymentRequestContact.ts b/src/serialization/resources/accounting/types/PaymentRequestContact.ts index 808a88797..2dfb94a03 100644 --- a/src/serialization/resources/accounting/types/PaymentRequestContact.ts +++ b/src/serialization/resources/accounting/types/PaymentRequestContact.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { ContactRequest } from "./ContactRequest"; +import { Contact } from "./Contact"; export const PaymentRequestContact: core.serialization.Schema< serializers.accounting.PaymentRequestContact.Raw, Merge.accounting.PaymentRequestContact -> = core.serialization.undiscriminatedUnion([core.serialization.string(), ContactRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Contact]); export declare namespace PaymentRequestContact { - export type Raw = string | ContactRequest.Raw; + export type Raw = string | Contact.Raw; } diff --git a/src/serialization/resources/accounting/types/PurchaseOrderRequestDeliveryAddress.ts b/src/serialization/resources/accounting/types/PurchaseOrderRequestDeliveryAddress.ts index 0c3edb0a2..0ab428fb5 100644 --- a/src/serialization/resources/accounting/types/PurchaseOrderRequestDeliveryAddress.ts +++ b/src/serialization/resources/accounting/types/PurchaseOrderRequestDeliveryAddress.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { AddressRequest } from "./AddressRequest"; +import { Address } from "./Address"; export const PurchaseOrderRequestDeliveryAddress: core.serialization.Schema< serializers.accounting.PurchaseOrderRequestDeliveryAddress.Raw, Merge.accounting.PurchaseOrderRequestDeliveryAddress -> = core.serialization.undiscriminatedUnion([core.serialization.string(), AddressRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Address]); export declare namespace PurchaseOrderRequestDeliveryAddress { - export type Raw = string | AddressRequest.Raw; + export type Raw = string | Address.Raw; } diff --git a/src/serialization/resources/accounting/types/PurchaseOrderRequestLineItemsItem.ts b/src/serialization/resources/accounting/types/PurchaseOrderRequestLineItemsItem.ts index 52c047300..a8fc3831a 100644 --- a/src/serialization/resources/accounting/types/PurchaseOrderRequestLineItemsItem.ts +++ b/src/serialization/resources/accounting/types/PurchaseOrderRequestLineItemsItem.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { PurchaseOrderLineItemRequest } from "./PurchaseOrderLineItemRequest"; +import { PurchaseOrderLineItem } from "./PurchaseOrderLineItem"; export const PurchaseOrderRequestLineItemsItem: core.serialization.Schema< serializers.accounting.PurchaseOrderRequestLineItemsItem.Raw, Merge.accounting.PurchaseOrderRequestLineItemsItem -> = core.serialization.undiscriminatedUnion([core.serialization.string(), PurchaseOrderLineItemRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), PurchaseOrderLineItem]); export declare namespace PurchaseOrderRequestLineItemsItem { - export type Raw = string | PurchaseOrderLineItemRequest.Raw; + export type Raw = string | PurchaseOrderLineItem.Raw; } diff --git a/src/serialization/resources/accounting/types/PurchaseOrderRequestVendor.ts b/src/serialization/resources/accounting/types/PurchaseOrderRequestVendor.ts index 701e20141..8ae65faf5 100644 --- a/src/serialization/resources/accounting/types/PurchaseOrderRequestVendor.ts +++ b/src/serialization/resources/accounting/types/PurchaseOrderRequestVendor.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { ContactRequest } from "./ContactRequest"; +import { Contact } from "./Contact"; export const PurchaseOrderRequestVendor: core.serialization.Schema< serializers.accounting.PurchaseOrderRequestVendor.Raw, Merge.accounting.PurchaseOrderRequestVendor -> = core.serialization.undiscriminatedUnion([core.serialization.string(), ContactRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Contact]); export declare namespace PurchaseOrderRequestVendor { - export type Raw = string | ContactRequest.Raw; + export type Raw = string | Contact.Raw; } diff --git a/src/serialization/resources/accounting/types/RemoteFieldApi.ts b/src/serialization/resources/accounting/types/RemoteFieldApi.ts index 3ee08d00b..5d37bb44c 100644 --- a/src/serialization/resources/accounting/types/RemoteFieldApi.ts +++ b/src/serialization/resources/accounting/types/RemoteFieldApi.ts @@ -3,8 +3,8 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; +import { AdvancedMetadata } from "./AdvancedMetadata"; import { RemoteEndpointInfo } from "./RemoteEndpointInfo"; -import { RemoteFieldApiAdvancedMetadata } from "./RemoteFieldApiAdvancedMetadata"; import { RemoteFieldApiCoverage } from "./RemoteFieldApiCoverage"; export const RemoteFieldApi: core.serialization.ObjectSchema< @@ -18,7 +18,7 @@ export const RemoteFieldApi: core.serialization.ObjectSchema< "example_values", core.serialization.list(core.serialization.unknown()).optional(), ), - advancedMetadata: core.serialization.property("advanced_metadata", RemoteFieldApiAdvancedMetadata.optional()), + advancedMetadata: core.serialization.property("advanced_metadata", AdvancedMetadata.optional()), coverage: RemoteFieldApiCoverage.optional(), }); @@ -28,7 +28,7 @@ export declare namespace RemoteFieldApi { remote_key_name: string; remote_endpoint_info: RemoteEndpointInfo.Raw; example_values?: unknown[] | null; - advanced_metadata?: RemoteFieldApiAdvancedMetadata.Raw | null; + advanced_metadata?: AdvancedMetadata.Raw | null; coverage?: RemoteFieldApiCoverage.Raw | null; } } diff --git a/src/serialization/resources/accounting/types/RemoteFieldApiAdvancedMetadata.ts b/src/serialization/resources/accounting/types/RemoteFieldApiAdvancedMetadata.ts deleted file mode 100644 index 75d615377..000000000 --- a/src/serialization/resources/accounting/types/RemoteFieldApiAdvancedMetadata.ts +++ /dev/null @@ -1,15 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Merge from "../../../../api/index"; -import * as core from "../../../../core"; -import type * as serializers from "../../../index"; -import { AdvancedMetadata } from "./AdvancedMetadata"; - -export const RemoteFieldApiAdvancedMetadata: core.serialization.Schema< - serializers.accounting.RemoteFieldApiAdvancedMetadata.Raw, - Merge.accounting.RemoteFieldApiAdvancedMetadata -> = core.serialization.undiscriminatedUnion([AdvancedMetadata, core.serialization.string()]); - -export declare namespace RemoteFieldApiAdvancedMetadata { - export type Raw = AdvancedMetadata.Raw | string; -} diff --git a/src/serialization/resources/accounting/types/SalesOrderRequestRequestCustomer.ts b/src/serialization/resources/accounting/types/SalesOrderRequestRequestCustomer.ts index 293e456ab..19ee60148 100644 --- a/src/serialization/resources/accounting/types/SalesOrderRequestRequestCustomer.ts +++ b/src/serialization/resources/accounting/types/SalesOrderRequestRequestCustomer.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { ContactRequest } from "./ContactRequest"; +import { Contact } from "./Contact"; export const SalesOrderRequestRequestCustomer: core.serialization.Schema< serializers.accounting.SalesOrderRequestRequestCustomer.Raw, Merge.accounting.SalesOrderRequestRequestCustomer -> = core.serialization.undiscriminatedUnion([core.serialization.string(), ContactRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Contact]); export declare namespace SalesOrderRequestRequestCustomer { - export type Raw = string | ContactRequest.Raw; + export type Raw = string | Contact.Raw; } diff --git a/src/serialization/resources/accounting/types/SalesOrderRequestRequestLinesItem.ts b/src/serialization/resources/accounting/types/SalesOrderRequestRequestLinesItem.ts index 933978c92..0a636adcf 100644 --- a/src/serialization/resources/accounting/types/SalesOrderRequestRequestLinesItem.ts +++ b/src/serialization/resources/accounting/types/SalesOrderRequestRequestLinesItem.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { SalesOrderLineRequest } from "./SalesOrderLineRequest"; +import { SalesOrderLine } from "./SalesOrderLine"; export const SalesOrderRequestRequestLinesItem: core.serialization.Schema< serializers.accounting.SalesOrderRequestRequestLinesItem.Raw, Merge.accounting.SalesOrderRequestRequestLinesItem -> = core.serialization.undiscriminatedUnion([core.serialization.string(), SalesOrderLineRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), SalesOrderLine]); export declare namespace SalesOrderRequestRequestLinesItem { - export type Raw = string | SalesOrderLineRequest.Raw; + export type Raw = string | SalesOrderLine.Raw; } diff --git a/src/serialization/resources/accounting/types/SalesOrderRequestRequestShippingAddress.ts b/src/serialization/resources/accounting/types/SalesOrderRequestRequestShippingAddress.ts index 2d4af027f..bb38e54fc 100644 --- a/src/serialization/resources/accounting/types/SalesOrderRequestRequestShippingAddress.ts +++ b/src/serialization/resources/accounting/types/SalesOrderRequestRequestShippingAddress.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { AddressRequest } from "./AddressRequest"; +import { Address } from "./Address"; export const SalesOrderRequestRequestShippingAddress: core.serialization.Schema< serializers.accounting.SalesOrderRequestRequestShippingAddress.Raw, Merge.accounting.SalesOrderRequestRequestShippingAddress -> = core.serialization.undiscriminatedUnion([core.serialization.string(), AddressRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Address]); export declare namespace SalesOrderRequestRequestShippingAddress { - export type Raw = string | AddressRequest.Raw; + export type Raw = string | Address.Raw; } diff --git a/src/serialization/resources/accounting/types/VendorCreditApplyLineForVendorCreditRequestInvoice.ts b/src/serialization/resources/accounting/types/VendorCreditApplyLineForVendorCreditRequestInvoice.ts index a22513563..4ed67b028 100644 --- a/src/serialization/resources/accounting/types/VendorCreditApplyLineForVendorCreditRequestInvoice.ts +++ b/src/serialization/resources/accounting/types/VendorCreditApplyLineForVendorCreditRequestInvoice.ts @@ -2,14 +2,16 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; -import type * as serializers from "../../../index"; -import { InvoiceRequest } from "./InvoiceRequest"; +import * as serializers from "../../../index"; export const VendorCreditApplyLineForVendorCreditRequestInvoice: core.serialization.Schema< serializers.accounting.VendorCreditApplyLineForVendorCreditRequestInvoice.Raw, Merge.accounting.VendorCreditApplyLineForVendorCreditRequestInvoice -> = core.serialization.undiscriminatedUnion([core.serialization.string(), InvoiceRequest]); +> = core.serialization.undiscriminatedUnion([ + core.serialization.string(), + core.serialization.lazyObject(() => serializers.accounting.Invoice), +]); export declare namespace VendorCreditApplyLineForVendorCreditRequestInvoice { - export type Raw = string | InvoiceRequest.Raw; + export type Raw = string | serializers.accounting.Invoice.Raw; } diff --git a/src/serialization/resources/accounting/types/VendorCreditLineRequestAccount.ts b/src/serialization/resources/accounting/types/VendorCreditLineRequestAccount.ts index 8189a08c6..57b939bdb 100644 --- a/src/serialization/resources/accounting/types/VendorCreditLineRequestAccount.ts +++ b/src/serialization/resources/accounting/types/VendorCreditLineRequestAccount.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { AccountRequest } from "./AccountRequest"; +import { Account } from "./Account"; export const VendorCreditLineRequestAccount: core.serialization.Schema< serializers.accounting.VendorCreditLineRequestAccount.Raw, Merge.accounting.VendorCreditLineRequestAccount -> = core.serialization.undiscriminatedUnion([core.serialization.string(), AccountRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Account]); export declare namespace VendorCreditLineRequestAccount { - export type Raw = string | AccountRequest.Raw; + export type Raw = string | Account.Raw; } diff --git a/src/serialization/resources/accounting/types/VendorCreditLineRequestContact.ts b/src/serialization/resources/accounting/types/VendorCreditLineRequestContact.ts index b485a7d31..d368a2a7c 100644 --- a/src/serialization/resources/accounting/types/VendorCreditLineRequestContact.ts +++ b/src/serialization/resources/accounting/types/VendorCreditLineRequestContact.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { ContactRequest } from "./ContactRequest"; +import { Contact } from "./Contact"; export const VendorCreditLineRequestContact: core.serialization.Schema< serializers.accounting.VendorCreditLineRequestContact.Raw, Merge.accounting.VendorCreditLineRequestContact -> = core.serialization.undiscriminatedUnion([core.serialization.string(), ContactRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Contact]); export declare namespace VendorCreditLineRequestContact { - export type Raw = string | ContactRequest.Raw; + export type Raw = string | Contact.Raw; } diff --git a/src/serialization/resources/accounting/types/VendorCreditRequestVendor.ts b/src/serialization/resources/accounting/types/VendorCreditRequestVendor.ts index e2e77f178..a43c54616 100644 --- a/src/serialization/resources/accounting/types/VendorCreditRequestVendor.ts +++ b/src/serialization/resources/accounting/types/VendorCreditRequestVendor.ts @@ -3,13 +3,13 @@ import type * as Merge from "../../../../api/index"; import * as core from "../../../../core"; import type * as serializers from "../../../index"; -import { ContactRequest } from "./ContactRequest"; +import { Contact } from "./Contact"; export const VendorCreditRequestVendor: core.serialization.Schema< serializers.accounting.VendorCreditRequestVendor.Raw, Merge.accounting.VendorCreditRequestVendor -> = core.serialization.undiscriminatedUnion([core.serialization.string(), ContactRequest]); +> = core.serialization.undiscriminatedUnion([core.serialization.string(), Contact]); export declare namespace VendorCreditRequestVendor { - export type Raw = string | ContactRequest.Raw; + export type Raw = string | Contact.Raw; } diff --git a/src/serialization/resources/accounting/types/WarningValidationProblem.ts b/src/serialization/resources/accounting/types/WarningValidationProblem.ts index cc2292f20..c57b51cbd 100644 --- a/src/serialization/resources/accounting/types/WarningValidationProblem.ts +++ b/src/serialization/resources/accounting/types/WarningValidationProblem.ts @@ -14,6 +14,8 @@ export const WarningValidationProblem: core.serialization.ObjectSchema< detail: core.serialization.string(), problemType: core.serialization.property("problem_type", core.serialization.string()), blockMergeLink: core.serialization.property("block_merge_link", core.serialization.boolean().optional()), + rawError: core.serialization.property("raw_error", core.serialization.string().optional()), + errorCode: core.serialization.property("error_code", core.serialization.number().optional()), }); export declare namespace WarningValidationProblem { @@ -23,5 +25,7 @@ export declare namespace WarningValidationProblem { detail: string; problem_type: string; block_merge_link?: boolean | null; + raw_error?: string | null; + error_code?: number | null; } } diff --git a/src/serialization/resources/accounting/types/index.ts b/src/serialization/resources/accounting/types/index.ts index ea551ca32..4ae0bfdcb 100644 --- a/src/serialization/resources/accounting/types/index.ts +++ b/src/serialization/resources/accounting/types/index.ts @@ -69,7 +69,11 @@ export * from "./BankFeedTransactionRequestRequestCreditOrDebit"; export * from "./BankFeedTransactionResponse"; export * from "./BatchObject"; export * from "./BatchObjectItemResponse"; +export * from "./BatchObjectStatus"; +export * from "./BatchObjectStatusEnum"; export * from "./BatchObjectsResponse"; +export * from "./BatchObjectsResponseStatus"; +export * from "./BatchObjectsResponseStatusEnum"; export * from "./CashFlowStatement"; export * from "./CashFlowStatementCompany"; export * from "./CashFlowStatementCurrency"; @@ -137,8 +141,6 @@ export * from "./CreditNoteStatusEnum"; export * from "./CreditNoteTrackingCategoriesItem"; export * from "./CreditOrDebitEnum"; export * from "./DataPassthroughRequest"; -export * from "./DataPassthroughRequestMethod"; -export * from "./DataPassthroughRequestRequestFormat"; export * from "./DebugModeLog"; export * from "./DebugModelLogSummary"; export * from "./Employee"; @@ -494,7 +496,6 @@ export * from "./RemoteData"; export * from "./RemoteEndpointInfo"; export * from "./RemoteField"; export * from "./RemoteFieldApi"; -export * from "./RemoteFieldApiAdvancedMetadata"; export * from "./RemoteFieldApiCoverage"; export * from "./RemoteFieldApiResponse"; export * from "./RemoteFieldClass"; diff --git a/tests/integration/merge-accounting.integration.test.ts b/tests/integration/merge-accounting.integration.test.ts index 0c762e26c..c11c8485b 100644 --- a/tests/integration/merge-accounting.integration.test.ts +++ b/tests/integration/merge-accounting.integration.test.ts @@ -18,144 +18,144 @@ describe("Merge Accounting Client Integration", () => { }); it("should list accounts", async () => { - const page = await client.accounting.accounts.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.accounting.accounts.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list attachments", async () => { - const page = await client.accounting.attachments.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.accounting.attachments.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }); it("should list balance sheets", async () => { - const page = await client.accounting.balanceSheets.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.accounting.balanceSheets.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }); it("should list vendor credits", async () => { - const page = await client.accounting.vendorCredits.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.accounting.vendorCredits.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }); it("should list transactions", async () => { - const page = await client.accounting.transactions.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.accounting.transactions.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }); it("should list tracking categories", async () => { - const page = await client.accounting.trackingCategories.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.accounting.trackingCategories.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }); it("should list tax rates", async () => { - const page = await client.accounting.taxRates.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.accounting.taxRates.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }); it("should list purchase orders", async () => { - const page = await client.accounting.purchaseOrders.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.accounting.purchaseOrders.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }); it("should list projects", async () => { - const page = await client.accounting.projects.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.accounting.projects.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }); it("should list payment terms", async () => { - const page = await client.accounting.paymentTerms.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.accounting.paymentTerms.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }); it("should list payment methods", async () => { - const page = await client.accounting.paymentMethods.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.accounting.paymentMethods.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }); it("should list payments", async () => { - const page = await client.accounting.payments.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.accounting.payments.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }); it("should list journal entries", async () => { - const page = await client.accounting.journalEntries.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.accounting.journalEntries.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }); it("should list items", async () => { - const page = await client.accounting.items.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.accounting.items.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }); it("should list invoices", async () => { - const page = await client.accounting.invoices.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.accounting.invoices.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }); it("should list invoices with query params", async () => { - const page = await client.accounting.invoices.list({ + const { data: body, rawResponse: response } = await client.accounting.invoices.list({ expand: "accounting_period", - }); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + }).withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }); it("should list income statements", async () => { - const page = await client.accounting.incomeStatements.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.accounting.incomeStatements.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }, 65000); it("should list general ledger transactions", async () => { - const page = await client.accounting.generalLedgerTransactions.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.accounting.generalLedgerTransactions.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }); it("should list expenses", async () => { - const page = await client.accounting.expenses.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.accounting.expenses.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }); it("should list employees", async () => { - const page = await client.accounting.employees.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.accounting.employees.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }); it("should list credit notes", async () => { - const page = await client.accounting.creditNotes.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.accounting.creditNotes.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }); it("should list contacts", async () => { - const page = await client.accounting.contacts.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.accounting.contacts.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }); it("should list company info", async () => { - const page = await client.accounting.companyInfo.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.accounting.companyInfo.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }); it("should retrieve account details fields exist", async () => { @@ -180,8 +180,8 @@ describe("Merge Accounting Client Integration", () => { }); it("should list sync status", async () => { - const page = await client.accounting.syncStatus.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.accounting.syncStatus.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }, 65000); }); diff --git a/tests/integration/merge-crm.integration.test.ts b/tests/integration/merge-crm.integration.test.ts index 4acfadb51..70a333b1a 100644 --- a/tests/integration/merge-crm.integration.test.ts +++ b/tests/integration/merge-crm.integration.test.ts @@ -18,74 +18,74 @@ describe("Merge CRM Client Integration", () => { }); it("should list accounts", async () => { - const page = await client.crm.accounts.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.crm.accounts.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }, 65000); it("should list contacts", async () => { - const page = await client.crm.contacts.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.crm.contacts.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list leads", async () => { - const page = await client.crm.leads.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.crm.leads.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list opportunities", async () => { - const page = await client.crm.opportunities.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.crm.opportunities.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list users", async () => { - const page = await client.crm.users.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.crm.users.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list tasks", async () => { - const page = await client.crm.tasks.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.crm.tasks.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list notes", async () => { - const page = await client.crm.notes.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.crm.notes.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list engagements", async () => { - const page = await client.crm.engagements.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.crm.engagements.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list stages", async () => { - const page = await client.crm.stages.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.crm.stages.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list custom object classes", async () => { - const page = await client.crm.customObjectClasses.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.crm.customObjectClasses.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); @@ -103,9 +103,9 @@ describe("Merge CRM Client Integration", () => { }); it("should list sync status", async () => { - const page = await client.crm.syncStatus.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.crm.syncStatus.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }, 65000); it("should list available actions", async () => { @@ -115,18 +115,18 @@ describe("Merge CRM Client Integration", () => { }); it("should list issues", async () => { - const page = await client.crm.issues.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.crm.issues.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should retrieve audit trail", async () => { - const page = await client.crm.auditTrail.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.crm.auditTrail.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should retrieve account details fields exist", async () => { diff --git a/tests/integration/merge-filestorage.integration.test.ts b/tests/integration/merge-filestorage.integration.test.ts index 6ea28cccd..494d0e1b7 100644 --- a/tests/integration/merge-filestorage.integration.test.ts +++ b/tests/integration/merge-filestorage.integration.test.ts @@ -18,38 +18,38 @@ describe("Merge FileStorage Client Integration", () => { }); it("should list drives", async () => { - const page = await client.filestorage.drives.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.filestorage.drives.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list files", async () => { - const page = await client.filestorage.files.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.filestorage.files.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list folders", async () => { - const page = await client.filestorage.folders.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.filestorage.folders.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list groups", async () => { - const page = await client.filestorage.groups.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.filestorage.groups.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list users", async () => { - const page = await client.filestorage.users.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.filestorage.users.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); @@ -66,9 +66,9 @@ describe("Merge FileStorage Client Integration", () => { }); it("should list sync status", async () => { - const page = await client.filestorage.syncStatus.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.filestorage.syncStatus.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }); it("should list available actions", async () => { @@ -78,24 +78,24 @@ describe("Merge FileStorage Client Integration", () => { }); it("should list issues", async () => { - const page = await client.filestorage.issues.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.filestorage.issues.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list linked accounts", async () => { - const page = await client.filestorage.linkedAccounts.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.filestorage.linkedAccounts.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should retrieve audit trail", async () => { - const page = await client.filestorage.auditTrail.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.filestorage.auditTrail.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should retrieve account details fields exist", async () => { @@ -107,20 +107,20 @@ describe("Merge FileStorage Client Integration", () => { }); it("should list files with query params", async () => { - const page = await client.filestorage.files.list({ + const { data: body, rawResponse: response } = await client.filestorage.files.list({ expand: "permissions,folder", - }); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + }).withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list folders with query params", async () => { - const page = await client.filestorage.folders.list({ + const { data: body, rawResponse: response } = await client.filestorage.folders.list({ expand: "permissions,parent_folder", - }); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + }).withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); -}); \ No newline at end of file +}); diff --git a/tests/integration/merge-hris.integration.test.ts b/tests/integration/merge-hris.integration.test.ts index c6cfa4a04..7280c650f 100644 --- a/tests/integration/merge-hris.integration.test.ts +++ b/tests/integration/merge-hris.integration.test.ts @@ -18,80 +18,80 @@ describe("Merge HRIS Client Integration", () => { }); it("should list employees", async () => { - const page = await client.hris.employees.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.hris.employees.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list employments", async () => { - const page = await client.hris.employments.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.hris.employments.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list teams", async () => { - const page = await client.hris.teams.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.hris.teams.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list locations", async () => { - const page = await client.hris.locations.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.hris.locations.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list benefits", async () => { - const page = await client.hris.benefits.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.hris.benefits.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list pay groups", async () => { - const page = await client.hris.payGroups.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.hris.payGroups.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list dependents", async () => { - const page = await client.hris.dependents.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.hris.dependents.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list groups", async () => { - const page = await client.hris.groups.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.hris.groups.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list time off", async () => { - const page = await client.hris.timeOff.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.hris.timeOff.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list time off balances", async () => { - const page = await client.hris.timeOffBalances.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.hris.timeOffBalances.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list bank info", async () => { - const page = await client.hris.bankInfo.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.hris.bankInfo.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should retrieve linked account scopes", async () => { @@ -107,9 +107,9 @@ describe("Merge HRIS Client Integration", () => { }); it("should list sync status", async () => { - const page = await client.hris.syncStatus.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.hris.syncStatus.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }, 65000); it("should list available actions", async () => { @@ -119,18 +119,18 @@ describe("Merge HRIS Client Integration", () => { }); it("should list issues", async () => { - const page = await client.hris.issues.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.hris.issues.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should retrieve audit trail", async () => { - const page = await client.hris.auditTrail.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.hris.auditTrail.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should retrieve account details fields exist", async () => { diff --git a/tests/integration/merge-ticketing.integration.test.ts b/tests/integration/merge-ticketing.integration.test.ts index 7b352cb3a..e99c8a7d8 100644 --- a/tests/integration/merge-ticketing.integration.test.ts +++ b/tests/integration/merge-ticketing.integration.test.ts @@ -18,74 +18,74 @@ describe("Merge Ticketing Client Integration", () => { }); it("should list accounts", async () => { - const page = await client.ticketing.accounts.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.ticketing.accounts.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list attachments", async () => { - const page = await client.ticketing.attachments.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.ticketing.attachments.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list collections", async () => { - const page = await client.ticketing.collections.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.ticketing.collections.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list comments", async () => { - const page = await client.ticketing.comments.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.ticketing.comments.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list contacts", async () => { - const page = await client.ticketing.contacts.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.ticketing.contacts.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list roles", async () => { - const page = await client.ticketing.roles.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.ticketing.roles.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list tags", async () => { - const page = await client.ticketing.tags.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.ticketing.tags.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list teams", async () => { - const page = await client.ticketing.teams.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.ticketing.teams.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list tickets", async () => { - const page = await client.ticketing.tickets.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.ticketing.tickets.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list users", async () => { - const page = await client.ticketing.users.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.ticketing.users.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should retrieve linked account scopes", async () => { @@ -101,9 +101,9 @@ describe("Merge Ticketing Client Integration", () => { }); it("should list sync status", async () => { - const page = await client.ticketing.syncStatus.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); + const { data: body, rawResponse: response } = await client.ticketing.syncStatus.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); }, 65000); it("should list available actions", async () => { @@ -113,24 +113,24 @@ describe("Merge Ticketing Client Integration", () => { }); it("should list issues", async () => { - const page = await client.ticketing.issues.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.ticketing.issues.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should list linked accounts", async () => { - const page = await client.ticketing.linkedAccounts.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.ticketing.linkedAccounts.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should retrieve audit trail", async () => { - const page = await client.ticketing.auditTrail.list(); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + const { data: body, rawResponse: response } = await client.ticketing.auditTrail.list().withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); it("should retrieve account details fields exist", async () => { @@ -142,11 +142,11 @@ describe("Merge Ticketing Client Integration", () => { }); it("should list tickets with query params", async () => { - const page = await client.ticketing.tickets.list({ + const { data: body, rawResponse: response } = await client.ticketing.tickets.list({ expand: "account", - }); - expect(page.rawResponse.status).toBe(200); - expect(page.response).toBeTruthy(); - expect(Array.isArray(page.response.results)).toBe(true); + }).withRawResponse(); + expect(response.status).toBe(200); + expect(body).toBeTruthy(); + expect(Array.isArray(body.results)).toBe(true); }); }); diff --git a/tests/unit/enum-response-handling.test.ts b/tests/unit/enum-response-handling.test.ts index 798c1cb1c..bc173960c 100644 --- a/tests/unit/enum-response-handling.test.ts +++ b/tests/unit/enum-response-handling.test.ts @@ -39,19 +39,19 @@ describe("Enum Response Handling", () => { const page = await accounting.trackingCategories.list(); // Verify the response contains the unknown enum values preserved - expect(page.data).toHaveLength(2); + expect(page.results).toHaveLength(2); // First tracking category with unknown enums - expect(page.data[0].id).toBe("tc_123"); - expect(page.data[0].name).toBe("Location Category"); - expect(page.data[0].categoryType).toBe("LOCATION"); - expect(page.data[0].status).toBe("ARCHIVED"); + expect(page.results[0].id).toBe("tc_123"); + expect(page.results[0].name).toBe("Location Category"); + expect(page.results[0].categoryType).toBe("LOCATION"); + expect(page.results[0].status).toBe("ARCHIVED"); // Second tracking category with unknown enums - expect(page.data[1].id).toBe("tc_456"); - expect(page.data[1].name).toBe("Project Category"); - expect(page.data[1].categoryType).toBe("PROJECT_CODE"); - expect(page.data[1].status).toBe("PENDING_APPROVAL"); + expect(page.results[1].id).toBe("tc_456"); + expect(page.results[1].name).toBe("Project Category"); + expect(page.results[1].categoryType).toBe("PROJECT_CODE"); + expect(page.results[1].status).toBe("PENDING_APPROVAL"); // Verify the mock was called correctly expect(mockFetcher).toHaveBeenCalledWith( @@ -92,8 +92,8 @@ describe("Enum Response Handling", () => { }); // Verify response deserialization works with unknown enums - expect(page.data[0].categoryType).toBe("LOCATION"); - expect(page.data[0].status).toBe("ACTIVE"); + expect(page.results[0].categoryType).toBe("LOCATION"); + expect(page.results[0].status).toBe("ACTIVE"); // Verify the request was made with the unknown enum value expect(mockFetcher).toHaveBeenCalledWith( @@ -128,8 +128,8 @@ describe("Enum Response Handling", () => { const page = await accounting.accounts.list(); - expect(page.data[0].classification).toBe("FIXED_ASSET"); - expect(page.data[0].status).toBe("SUSPENDED"); + expect(page.results[0].classification).toBe("FIXED_ASSET"); + expect(page.results[0].status).toBe("SUSPENDED"); }); it("should handle unknown enums in nested objects", async () => { @@ -157,11 +157,11 @@ describe("Enum Response Handling", () => { const page = await accounting.accounts.list(); // Test top-level unknown enum - expect(page.data[0].classification).toBe("CURRENT_ASSET"); + expect(page.results[0].classification).toBe("CURRENT_ASSET"); // Test nested unknown enum (if the field exists) - if (page.data[0].parentAccount?.classification) { - expect(page.data[0].parentAccount.classification).toBe("FIXED_ASSET"); + if (page.results[0].parentAccount?.classification) { + expect(page.results[0].parentAccount.classification).toBe("FIXED_ASSET"); } }); @@ -189,8 +189,8 @@ describe("Enum Response Handling", () => { const page = await accounting.contacts.list(); - expect(page.data[0].phoneNumbers[1].type).toBe("WORK_DIRECT"); - expect(page.data[0].phoneNumbers[2].type).toBe("HOME_FAX"); + expect(page.results[0].phoneNumbers[1].type).toBe("WORK_DIRECT"); + expect(page.results[0].phoneNumbers[2].type).toBe("HOME_FAX"); }); it("should handle unknown enums in line items", async () => { @@ -235,14 +235,14 @@ describe("Enum Response Handling", () => { const page = await accounting.invoices.list(); // Test invoice-level unknown enum - expect(page.data[0].status).toBe("PENDING_REVIEW"); + expect(page.results[0].status).toBe("PENDING_REVIEW"); // Test line item structure exists - expect(page.data[0].lineItems).toBeDefined(); - expect(page.data[0].lineItems.length).toBe(2); + expect(page.results[0].lineItems).toBeDefined(); + expect(page.results[0].lineItems.length).toBe(2); // Test unknown enums in first line item (check if properties exist first) - const firstLineItem = page.data[0].lineItems[0]; + const firstLineItem = page.results[0].lineItems[0]; if (firstLineItem.item?.classification) { expect(firstLineItem.item.classification).toBe("INVENTORY_ASSET"); } @@ -257,7 +257,7 @@ describe("Enum Response Handling", () => { } // Test unknown enum in second line item - const secondLineItem = page.data[0].lineItems[1]; + const secondLineItem = page.results[0].lineItems[1]; if (secondLineItem.item?.classification) { expect(secondLineItem.item.classification).toBe("SERVICE_ITEM"); } @@ -284,8 +284,8 @@ describe("Enum Response Handling", () => { const page = await accounting.accounts.list(); - expect(page.data[0].status).toBe(""); - expect(page.data[0].classification).toBe("SPECIAL-CHARS_123"); + expect(page.results[0].status).toBe(""); + expect(page.results[0].classification).toBe("SPECIAL-CHARS_123"); }); it("should handle unknown enums across different API categories", async () => { @@ -343,14 +343,14 @@ describe("Enum Response Handling", () => { const page = await crm.opportunities.list(); // Test unknown enums across different levels - expect(page.data[0].status).toBe("PROPOSAL_SENT"); + expect(page.results[0].status).toBe("PROPOSAL_SENT"); - if (page.data[0].stage?.stageType) { - expect(page.data[0].stage.stageType).toBe("QUALIFICATION_EXTENDED"); + if (page.results[0].stage?.stageType) { + expect(page.results[0].stage.stageType).toBe("QUALIFICATION_EXTENDED"); } - if (page.data[0].owner?.role) { - expect(page.data[0].owner.role).toBe("SENIOR_SALES_REP"); + if (page.results[0].owner?.role) { + expect(page.results[0].owner.role).toBe("SENIOR_SALES_REP"); } }); }); \ No newline at end of file diff --git a/tests/wire/Accounting/accountingPeriods.test.ts b/tests/wire/Accounting/accountingPeriods.test.ts index a4a33ae66..a2dd69ed1 100644 --- a/tests/wire/Accounting/accountingPeriods.test.ts +++ b/tests/wire/Accounting/accountingPeriods.test.ts @@ -35,14 +35,21 @@ describe("AccountingPeriodsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/accounting-periods") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.accountingPeriods.list({ + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + pageSize: 1, + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -71,19 +78,7 @@ describe("AccountingPeriodsClient", () => { ], }, ], - }; - const page = await client.accounting.accountingPeriods.list({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - pageSize: 1, }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("retrieve", async () => { diff --git a/tests/wire/Accounting/accounts.test.ts b/tests/wire/Accounting/accounts.test.ts index efd1c3364..cebb3180b 100644 --- a/tests/wire/Accounting/accounts.test.ts +++ b/tests/wire/Accounting/accounts.test.ts @@ -43,14 +43,33 @@ describe("AccountsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/accounts") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.accounts.list({ + accountType: "account_type", + classification: "", + companyId: "company_id", + createdAfter: new Date("2024-01-15T09:30:00.000Z"), + createdBefore: new Date("2024-01-15T09:30:00.000Z"), + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), + modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), + name: "name", + pageSize: 1, + remoteFields: "classification", + remoteId: "remote_id", + showEnumOrigins: "classification", + status: "", + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -87,31 +106,7 @@ describe("AccountsClient", () => { ], }, ], - }; - const page = await client.accounting.accounts.list({ - accountType: "account_type", - classification: "", - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - name: "name", - pageSize: 1, - remoteFields: "classification", - remoteId: "remote_id", - showEnumOrigins: "classification", - status: "", }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("create", async () => { @@ -154,6 +149,8 @@ describe("AccountsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -163,6 +160,8 @@ describe("AccountsClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -233,6 +232,8 @@ describe("AccountsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -244,6 +245,8 @@ describe("AccountsClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ diff --git a/tests/wire/Accounting/attachments.test.ts b/tests/wire/Accounting/attachments.test.ts index fdd0cf445..5aafa0f73 100644 --- a/tests/wire/Accounting/attachments.test.ts +++ b/tests/wire/Accounting/attachments.test.ts @@ -35,14 +35,27 @@ describe("AttachmentsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/attachments") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.attachments.list({ + companyId: "company_id", + createdAfter: new Date("2024-01-15T09:30:00.000Z"), + createdBefore: new Date("2024-01-15T09:30:00.000Z"), + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), + modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), + pageSize: 1, + remoteId: "remote_id", + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -71,25 +84,7 @@ describe("AttachmentsClient", () => { ], }, ], - }; - const page = await client.accounting.attachments.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id", }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("create", async () => { @@ -124,6 +119,8 @@ describe("AttachmentsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -133,6 +130,8 @@ describe("AttachmentsClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -195,6 +194,8 @@ describe("AttachmentsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -206,6 +207,8 @@ describe("AttachmentsClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ diff --git a/tests/wire/Accounting/auditTrail.test.ts b/tests/wire/Accounting/auditTrail.test.ts index 6ebca1566..365ee5008 100644 --- a/tests/wire/Accounting/auditTrail.test.ts +++ b/tests/wire/Accounting/auditTrail.test.ts @@ -31,14 +31,22 @@ describe("AuditTrailClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/audit-trail") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.auditTrail.list({ + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + endDate: "end_date", + eventType: "event_type", + pageSize: 1, + startDate: "start_date", + userEmail: "user_email", + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -54,19 +62,6 @@ describe("AuditTrailClient", () => { createdAt: new Date("2024-01-15T09:30:00.000Z"), }, ], - }; - const page = await client.accounting.auditTrail.list({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - endDate: "end_date", - eventType: "event_type", - pageSize: 1, - startDate: "start_date", - userEmail: "user_email", }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); }); diff --git a/tests/wire/Accounting/balanceSheets.test.ts b/tests/wire/Accounting/balanceSheets.test.ts index 39dfb1e4f..56640f564 100644 --- a/tests/wire/Accounting/balanceSheets.test.ts +++ b/tests/wire/Accounting/balanceSheets.test.ts @@ -71,14 +71,27 @@ describe("BalanceSheetsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/balance-sheets") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.balanceSheets.list({ + companyId: "company_id", + createdAfter: new Date("2024-01-15T09:30:00.000Z"), + createdBefore: new Date("2024-01-15T09:30:00.000Z"), + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), + modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), + pageSize: 1, + remoteId: "remote_id", + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -149,25 +162,7 @@ describe("BalanceSheetsClient", () => { ], }, ], - }; - const page = await client.accounting.balanceSheets.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id", }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("retrieve", async () => { diff --git a/tests/wire/Accounting/bankFeedAccounts.test.ts b/tests/wire/Accounting/bankFeedAccounts.test.ts index c26e59769..6e7128f29 100644 --- a/tests/wire/Accounting/bankFeedAccounts.test.ts +++ b/tests/wire/Accounting/bankFeedAccounts.test.ts @@ -42,14 +42,21 @@ describe("BankFeedAccountsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/bank-feed-accounts") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.bankFeedAccounts.list({ + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + pageSize: 1, + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -85,19 +92,7 @@ describe("BankFeedAccountsClient", () => { ], }, ], - }; - const page = await client.accounting.bankFeedAccounts.list({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - pageSize: 1, }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("create", async () => { @@ -139,6 +134,8 @@ describe("BankFeedAccountsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -148,6 +145,8 @@ describe("BankFeedAccountsClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -217,6 +216,8 @@ describe("BankFeedAccountsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -228,6 +229,8 @@ describe("BankFeedAccountsClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ diff --git a/tests/wire/Accounting/bankFeedTransactions.test.ts b/tests/wire/Accounting/bankFeedTransactions.test.ts index 7b3bb4e98..7e2b81b6f 100644 --- a/tests/wire/Accounting/bankFeedTransactions.test.ts +++ b/tests/wire/Accounting/bankFeedTransactions.test.ts @@ -37,14 +37,27 @@ describe("BankFeedTransactionsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/bank-feed-transactions") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.bankFeedTransactions.list({ + createdAfter: new Date("2024-01-15T09:30:00.000Z"), + createdBefore: new Date("2024-01-15T09:30:00.000Z"), + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + isProcessed: true, + modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), + modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), + pageSize: 1, + remoteId: "remote_id", + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -66,25 +79,7 @@ describe("BankFeedTransactionsClient", () => { isProcessed: true, }, ], - }; - const page = await client.accounting.bankFeedTransactions.list({ - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isProcessed: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id", }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("create", async () => { @@ -121,6 +116,8 @@ describe("BankFeedTransactionsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -130,6 +127,8 @@ describe("BankFeedTransactionsClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -185,6 +184,8 @@ describe("BankFeedTransactionsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -196,6 +197,8 @@ describe("BankFeedTransactionsClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ diff --git a/tests/wire/Accounting/cashFlowStatements.test.ts b/tests/wire/Accounting/cashFlowStatements.test.ts index dbed522ab..ec0470e4a 100644 --- a/tests/wire/Accounting/cashFlowStatements.test.ts +++ b/tests/wire/Accounting/cashFlowStatements.test.ts @@ -88,14 +88,27 @@ describe("CashFlowStatementsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/cash-flow-statements") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.cashFlowStatements.list({ + companyId: "company_id", + createdAfter: new Date("2024-01-15T09:30:00.000Z"), + createdBefore: new Date("2024-01-15T09:30:00.000Z"), + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), + modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), + pageSize: 1, + remoteId: "remote_id", + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -179,25 +192,7 @@ describe("CashFlowStatementsClient", () => { ], }, ], - }; - const page = await client.accounting.cashFlowStatements.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id", }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("retrieve", async () => { diff --git a/tests/wire/Accounting/companyInfo.test.ts b/tests/wire/Accounting/companyInfo.test.ts index 461e17db8..d4ade62eb 100644 --- a/tests/wire/Accounting/companyInfo.test.ts +++ b/tests/wire/Accounting/companyInfo.test.ts @@ -54,14 +54,27 @@ describe("CompanyInfoClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/company-info") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.companyInfo.list({ + createdAfter: new Date("2024-01-15T09:30:00.000Z"), + createdBefore: new Date("2024-01-15T09:30:00.000Z"), + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), + modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), + name: "name", + pageSize: 1, + remoteId: "remote_id", + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -109,25 +122,7 @@ describe("CompanyInfoClient", () => { ], }, ], - }; - const page = await client.accounting.companyInfo.list({ - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - name: "name", - pageSize: 1, - remoteId: "remote_id", }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("retrieve", async () => { diff --git a/tests/wire/Accounting/contacts.test.ts b/tests/wire/Accounting/contacts.test.ts index 7952f9a84..2039d863f 100644 --- a/tests/wire/Accounting/contacts.test.ts +++ b/tests/wire/Accounting/contacts.test.ts @@ -51,14 +51,35 @@ describe("ContactsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/contacts") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.contacts.list({ + companyId: "company_id", + createdAfter: new Date("2024-01-15T09:30:00.000Z"), + createdBefore: new Date("2024-01-15T09:30:00.000Z"), + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + emailAddress: "email_address", + includeDeletedData: true, + includeRemoteData: true, + includeRemoteFields: true, + includeShellData: true, + isCustomer: "is_customer", + isSupplier: "is_supplier", + modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), + modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), + name: "name", + pageSize: 1, + remoteFields: "status", + remoteId: "remote_id", + showEnumOrigins: "status", + status: "", + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -110,33 +131,7 @@ describe("ContactsClient", () => { ], }, ], - }; - const page = await client.accounting.contacts.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - emailAddress: "email_address", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - isCustomer: "is_customer", - isSupplier: "is_supplier", - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - name: "name", - pageSize: 1, - remoteFields: "status", - remoteId: "remote_id", - showEnumOrigins: "status", - status: "", }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("create", async () => { @@ -187,6 +182,8 @@ describe("ContactsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -196,6 +193,8 @@ describe("ContactsClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -281,6 +280,8 @@ describe("ContactsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -292,6 +293,8 @@ describe("ContactsClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ @@ -460,6 +463,8 @@ describe("ContactsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -469,6 +474,8 @@ describe("ContactsClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -554,6 +561,8 @@ describe("ContactsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -565,6 +574,8 @@ describe("ContactsClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ @@ -1447,14 +1458,23 @@ describe("ContactsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/contacts/remote-field-classes") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.contacts.remoteFieldClassesList({ + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + isCommonModelField: true, + isCustom: true, + pageSize: 1, + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -1471,20 +1491,6 @@ describe("ContactsClient", () => { fieldChoices: ["field_choices"], }, ], - }; - const page = await client.accounting.contacts.remoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1, }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); }); diff --git a/tests/wire/Accounting/creditNotes.test.ts b/tests/wire/Accounting/creditNotes.test.ts index df418c06b..2678272e0 100644 --- a/tests/wire/Accounting/creditNotes.test.ts +++ b/tests/wire/Accounting/creditNotes.test.ts @@ -70,6 +70,7 @@ describe("CreditNotesClient", () => { accounting_period: "accounting_period", applied_to_lines: [ { + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", invoice: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -87,14 +88,31 @@ describe("CreditNotesClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/credit-notes") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.creditNotes.list({ + companyId: "company_id", + createdAfter: new Date("2024-01-15T09:30:00.000Z"), + createdBefore: new Date("2024-01-15T09:30:00.000Z"), + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), + modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), + pageSize: 1, + remoteFields: "status", + remoteId: "remote_id", + showEnumOrigins: "status", + transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), + transactionDateBefore: new Date("2024-01-15T09:30:00.000Z"), + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -151,6 +169,7 @@ describe("CreditNotesClient", () => { accountingPeriod: "accounting_period", appliedToLines: [ { + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), invoice: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -175,29 +194,7 @@ describe("CreditNotesClient", () => { ], }, ], - }; - const page = await client.accounting.creditNotes.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteFields: "status", - remoteId: "remote_id", - showEnumOrigins: "status", - transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), - transactionDateBefore: new Date("2024-01-15T09:30:00.000Z"), }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("create", async () => { @@ -263,6 +260,7 @@ describe("CreditNotesClient", () => { accounting_period: "accounting_period", applied_to_lines: [ { + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", invoice: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -284,6 +282,8 @@ describe("CreditNotesClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -293,6 +293,8 @@ describe("CreditNotesClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -375,6 +377,7 @@ describe("CreditNotesClient", () => { accountingPeriod: "accounting_period", appliedToLines: [ { + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), invoice: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -407,6 +410,8 @@ describe("CreditNotesClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -418,6 +423,8 @@ describe("CreditNotesClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ @@ -496,7 +503,7 @@ describe("CreditNotesClient", () => { accounting_period: "accounting_period", applied_to_lines: [ { - remote_id: "remote_id", + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", invoice: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -579,7 +586,7 @@ describe("CreditNotesClient", () => { accountingPeriod: "accounting_period", appliedToLines: [ { - remoteId: "remote_id", + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), invoice: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -669,6 +676,7 @@ describe("CreditNotesClient", () => { accounting_period: "accounting_period", applied_to_lines: [ { + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", invoice: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -690,6 +698,8 @@ describe("CreditNotesClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -699,6 +709,8 @@ describe("CreditNotesClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -781,6 +793,7 @@ describe("CreditNotesClient", () => { accountingPeriod: "accounting_period", appliedToLines: [ { + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), invoice: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -813,6 +826,8 @@ describe("CreditNotesClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -824,6 +839,8 @@ describe("CreditNotesClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ @@ -903,6 +920,7 @@ describe("CreditNotesClient", () => { accounting_period: "accounting_period", applied_to_lines: [ { + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", invoice: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -924,6 +942,8 @@ describe("CreditNotesClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -933,6 +953,8 @@ describe("CreditNotesClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -1016,6 +1038,7 @@ describe("CreditNotesClient", () => { accountingPeriod: "accounting_period", appliedToLines: [ { + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), invoice: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -1048,6 +1071,8 @@ describe("CreditNotesClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -1059,6 +1084,8 @@ describe("CreditNotesClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ diff --git a/tests/wire/Accounting/employees.test.ts b/tests/wire/Accounting/employees.test.ts index 9259c13d5..1d7bf62db 100644 --- a/tests/wire/Accounting/employees.test.ts +++ b/tests/wire/Accounting/employees.test.ts @@ -39,14 +39,27 @@ describe("EmployeesClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/employees") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.employees.list({ + companyId: "company_id", + createdAfter: new Date("2024-01-15T09:30:00.000Z"), + createdBefore: new Date("2024-01-15T09:30:00.000Z"), + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), + modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), + pageSize: 1, + remoteId: "remote_id", + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -79,25 +92,7 @@ describe("EmployeesClient", () => { ], }, ], - }; - const page = await client.accounting.employees.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id", }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("retrieve", async () => { diff --git a/tests/wire/Accounting/expenseReports.test.ts b/tests/wire/Accounting/expenseReports.test.ts index 5912b64d0..edd439de4 100644 --- a/tests/wire/Accounting/expenseReports.test.ts +++ b/tests/wire/Accounting/expenseReports.test.ts @@ -73,14 +73,28 @@ describe("ExpenseReportsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/expense-reports") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.expenseReports.list({ + companyId: "company_id", + createdAfter: new Date("2024-01-15T09:30:00.000Z"), + createdBefore: new Date("2024-01-15T09:30:00.000Z"), + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeRemoteFields: true, + includeShellData: true, + modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), + modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), + pageSize: 1, + remoteId: "remote_id", + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -154,26 +168,7 @@ describe("ExpenseReportsClient", () => { ], }, ], - }; - const page = await client.accounting.expenseReports.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id", }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("create", async () => { @@ -247,6 +242,8 @@ describe("ExpenseReportsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -256,6 +253,8 @@ describe("ExpenseReportsClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -362,6 +361,8 @@ describe("ExpenseReportsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -373,6 +374,8 @@ describe("ExpenseReportsClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ @@ -431,14 +434,22 @@ describe("ExpenseReportsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/expense-reports/expense_report_id/lines") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.expenseReports.linesList("expense_report_id", { + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeRemoteFields: true, + includeShellData: true, + pageSize: 1, + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -476,20 +487,7 @@ describe("ExpenseReportsClient", () => { ], }, ], - }; - const page = await client.accounting.expenseReports.linesList("expense_report_id", { - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - pageSize: 1, }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("retrieve", async () => { @@ -669,14 +667,23 @@ describe("ExpenseReportsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/expense-reports/lines/remote-field-classes") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.expenseReports.linesRemoteFieldClassesList({ + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + isCommonModelField: true, + isCustom: true, + pageSize: 1, + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -693,21 +700,7 @@ describe("ExpenseReportsClient", () => { fieldChoices: ["field_choices"], }, ], - }; - const page = await client.accounting.expenseReports.linesRemoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1, }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("metaPostRetrieve", async () => { @@ -1157,14 +1150,23 @@ describe("ExpenseReportsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/expense-reports/remote-field-classes") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.expenseReports.remoteFieldClassesList({ + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + isCommonModelField: true, + isCustom: true, + pageSize: 1, + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -1181,20 +1183,6 @@ describe("ExpenseReportsClient", () => { fieldChoices: ["field_choices"], }, ], - }; - const page = await client.accounting.expenseReports.remoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1, }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); }); diff --git a/tests/wire/Accounting/expenses.test.ts b/tests/wire/Accounting/expenses.test.ts index 3d3949a41..76491808b 100644 --- a/tests/wire/Accounting/expenses.test.ts +++ b/tests/wire/Accounting/expenses.test.ts @@ -19,7 +19,7 @@ describe("ExpensesClient", () => { results: [ { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remote_id: "remote_id", + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", transaction_date: "2024-01-15T09:30:00Z", @@ -96,20 +96,36 @@ describe("ExpensesClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/expenses") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.expenses.list({ + companyId: "company_id", + createdAfter: new Date("2024-01-15T09:30:00.000Z"), + createdBefore: new Date("2024-01-15T09:30:00.000Z"), + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeRemoteFields: true, + includeShellData: true, + modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), + modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), + pageSize: 1, + remoteId: "remote_id", + transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), + transactionDateBefore: new Date("2024-01-15T09:30:00.000Z"), + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remoteId: "remote_id", + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), transactionDate: new Date("2024-01-15T09:30:00.000Z"), @@ -200,28 +216,7 @@ describe("ExpensesClient", () => { ], }, ], - }; - const page = await client.accounting.expenses.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id", - transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), - transactionDateBefore: new Date("2024-01-15T09:30:00.000Z"), }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("create", async () => { @@ -236,7 +231,7 @@ describe("ExpensesClient", () => { const rawResponseBody = { model: { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remote_id: "remote_id", + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", transaction_date: "2024-01-15T09:30:00Z", @@ -317,6 +312,8 @@ describe("ExpensesClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -326,6 +323,8 @@ describe("ExpensesClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -357,7 +356,7 @@ describe("ExpensesClient", () => { expect(response).toEqual({ model: { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remoteId: "remote_id", + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), transactionDate: new Date("2024-01-15T09:30:00.000Z"), @@ -456,6 +455,8 @@ describe("ExpensesClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -467,6 +468,8 @@ describe("ExpensesClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ @@ -494,7 +497,7 @@ describe("ExpensesClient", () => { const rawResponseBody = { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remote_id: "remote_id", + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", transaction_date: "2024-01-15T09:30:00Z", @@ -591,7 +594,7 @@ describe("ExpensesClient", () => { }); expect(response).toEqual({ id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remoteId: "remote_id", + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), transactionDate: new Date("2024-01-15T09:30:00.000Z"), @@ -691,7 +694,7 @@ describe("ExpensesClient", () => { }); }); - test("asyncBulkCreate", async () => { + test("bulkCreate", async () => { const server = mockServerPool.createServer(); const client = new MergeClient({ maxRetries: 0, @@ -700,19 +703,17 @@ describe("ExpensesClient", () => { environment: server.baseUrl, }); const rawRequestBody = { batch_items: [{ item_id: "item_id", payload: {} }] }; - const rawResponseBody = { batch_id: "batch_id" }; + const rawResponseBody = { batch_id: "d0a3ca3e-2d7a-44cd-a94b-bda805f23b5" }; server .mockEndpoint() - .post("/accounting/v1/expenses/async/bulk") + .post("/accounting/v1/expenses/bulk") .jsonBody(rawRequestBody) .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const response = await client.accounting.expenses.asyncBulkCreate({ - isDebugMode: true, - runAsync: true, + const response = await client.accounting.expenses.bulkCreate({ batchItems: [ { itemId: "item_id", @@ -721,11 +722,11 @@ describe("ExpensesClient", () => { ], }); expect(response).toEqual({ - batchId: "batch_id", + batchId: "d0a3ca3e-2d7a-44cd-a94b-bda805f23b5", }); }); - test("batchObjectsList", async () => { + test("bulkRetrieve", async () => { const server = mockServerPool.createServer(); const client = new MergeClient({ maxRetries: 0, @@ -735,43 +736,28 @@ describe("ExpensesClient", () => { }); const rawResponseBody = { - batch_id: "batch_id", - status: "status", + batch_id: "d0a3ca3e-2d7a-44cd-a94b-bda805f23b5", + status: "ENQUEUED", total_count: 1, - objects: [{ item_id: "item_id", status: "status" }], + objects: [{ item_id: "item_id", status: "PENDING" }], }; server .mockEndpoint() - .get("/accounting/v1/expenses/batch/batch_id/objects") + .get("/accounting/v1/expenses/bulk/batch_id") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const response = await client.accounting.expenses.batchObjectsList("batch_id", { - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id", - transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), - transactionDateBefore: new Date("2024-01-15T09:30:00.000Z"), - }); + const response = await client.accounting.expenses.bulkRetrieve("batch_id"); expect(response).toEqual({ - batchId: "batch_id", - status: "status", + batchId: "d0a3ca3e-2d7a-44cd-a94b-bda805f23b5", + status: "ENQUEUED", totalCount: 1, objects: [ { itemId: "item_id", - status: "status", + status: "PENDING", }, ], }); @@ -805,14 +791,23 @@ describe("ExpensesClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/expenses/lines/remote-field-classes") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.expenses.linesRemoteFieldClassesList({ + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + isCommonModelField: true, + isCustom: true, + pageSize: 1, + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -829,21 +824,7 @@ describe("ExpensesClient", () => { fieldChoices: ["field_choices"], }, ], - }; - const page = await client.accounting.expenses.linesRemoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1, }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("metaPostRetrieve", async () => { @@ -1293,14 +1274,23 @@ describe("ExpensesClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/expenses/remote-field-classes") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.expenses.remoteFieldClassesList({ + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + isCommonModelField: true, + isCustom: true, + pageSize: 1, + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -1317,20 +1307,6 @@ describe("ExpensesClient", () => { fieldChoices: ["field_choices"], }, ], - }; - const page = await client.accounting.expenses.remoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1, }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); }); diff --git a/tests/wire/Accounting/fieldMapping.test.ts b/tests/wire/Accounting/fieldMapping.test.ts index c70a37801..b792f0a49 100644 --- a/tests/wire/Accounting/fieldMapping.test.ts +++ b/tests/wire/Accounting/fieldMapping.test.ts @@ -1362,6 +1362,8 @@ describe("FieldMappingClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -1371,6 +1373,8 @@ describe("FieldMappingClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -1436,6 +1440,8 @@ describe("FieldMappingClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -1447,6 +1453,8 @@ describe("FieldMappingClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ @@ -1500,6 +1508,8 @@ describe("FieldMappingClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -1509,6 +1519,8 @@ describe("FieldMappingClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -1564,6 +1576,8 @@ describe("FieldMappingClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -1575,6 +1589,8 @@ describe("FieldMappingClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ @@ -1628,6 +1644,8 @@ describe("FieldMappingClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -1637,6 +1655,8 @@ describe("FieldMappingClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -1695,6 +1715,8 @@ describe("FieldMappingClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -1706,6 +1728,8 @@ describe("FieldMappingClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ diff --git a/tests/wire/Accounting/generalLedgerTransactions.test.ts b/tests/wire/Accounting/generalLedgerTransactions.test.ts index b79a83d4e..84ece91e2 100644 --- a/tests/wire/Accounting/generalLedgerTransactions.test.ts +++ b/tests/wire/Accounting/generalLedgerTransactions.test.ts @@ -107,14 +107,29 @@ describe("GeneralLedgerTransactionsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/general-ledger-transactions") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.generalLedgerTransactions.list({ + companyId: "company_id", + createdAfter: new Date("2024-01-15T09:30:00.000Z"), + createdBefore: new Date("2024-01-15T09:30:00.000Z"), + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), + modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), + pageSize: 1, + postedDateAfter: new Date("2024-01-15T09:30:00.000Z"), + postedDateBefore: new Date("2024-01-15T09:30:00.000Z"), + remoteId: "remote_id", + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -231,27 +246,7 @@ describe("GeneralLedgerTransactionsClient", () => { ], }, ], - }; - const page = await client.accounting.generalLedgerTransactions.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - postedDateAfter: new Date("2024-01-15T09:30:00.000Z"), - postedDateBefore: new Date("2024-01-15T09:30:00.000Z"), - remoteId: "remote_id", }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("retrieve", async () => { diff --git a/tests/wire/Accounting/incomeStatements.test.ts b/tests/wire/Accounting/incomeStatements.test.ts index 09fbe8b30..936b1b440 100644 --- a/tests/wire/Accounting/incomeStatements.test.ts +++ b/tests/wire/Accounting/incomeStatements.test.ts @@ -87,14 +87,27 @@ describe("IncomeStatementsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/income-statements") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.incomeStatements.list({ + companyId: "company_id", + createdAfter: new Date("2024-01-15T09:30:00.000Z"), + createdBefore: new Date("2024-01-15T09:30:00.000Z"), + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), + modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), + pageSize: 1, + remoteId: "remote_id", + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -193,25 +206,7 @@ describe("IncomeStatementsClient", () => { ], }, ], - }; - const page = await client.accounting.incomeStatements.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id", }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("retrieve", async () => { diff --git a/tests/wire/Accounting/invoices.test.ts b/tests/wire/Accounting/invoices.test.ts index 143b508e2..e1b3a07ea 100644 --- a/tests/wire/Accounting/invoices.test.ts +++ b/tests/wire/Accounting/invoices.test.ts @@ -91,6 +91,7 @@ describe("InvoicesClient", () => { ], applied_credit_notes: [ { + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", credit_note: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -100,6 +101,7 @@ describe("InvoicesClient", () => { ], applied_vendor_credits: [ { + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", vendor_credit: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -119,14 +121,36 @@ describe("InvoicesClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/invoices") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.invoices.list({ + companyId: "company_id", + contactId: "contact_id", + createdAfter: new Date("2024-01-15T09:30:00.000Z"), + createdBefore: new Date("2024-01-15T09:30:00.000Z"), + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeRemoteFields: true, + includeShellData: true, + issueDateAfter: new Date("2024-01-15T09:30:00.000Z"), + issueDateBefore: new Date("2024-01-15T09:30:00.000Z"), + modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), + modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), + number: "number", + pageSize: 1, + remoteFields: "type", + remoteId: "remote_id", + showEnumOrigins: "type", + status: "DRAFT", + type: "ACCOUNTS_PAYABLE", + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -208,6 +232,7 @@ describe("InvoicesClient", () => { ], appliedCreditNotes: [ { + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), creditNote: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -217,6 +242,7 @@ describe("InvoicesClient", () => { ], appliedVendorCredits: [ { + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), vendorCredit: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -250,34 +276,7 @@ describe("InvoicesClient", () => { ], }, ], - }; - const page = await client.accounting.invoices.list({ - companyId: "company_id", - contactId: "contact_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - issueDateAfter: new Date("2024-01-15T09:30:00.000Z"), - issueDateBefore: new Date("2024-01-15T09:30:00.000Z"), - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - number: "number", - pageSize: 1, - remoteFields: "type", - remoteId: "remote_id", - showEnumOrigins: "type", - status: "DRAFT", - type: "ACCOUNTS_PAYABLE", }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("create", async () => { @@ -364,6 +363,7 @@ describe("InvoicesClient", () => { ], applied_credit_notes: [ { + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", credit_note: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -373,6 +373,7 @@ describe("InvoicesClient", () => { ], applied_vendor_credits: [ { + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", vendor_credit: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -396,6 +397,8 @@ describe("InvoicesClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -405,6 +408,8 @@ describe("InvoicesClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -512,6 +517,7 @@ describe("InvoicesClient", () => { ], appliedCreditNotes: [ { + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), creditNote: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -521,6 +527,7 @@ describe("InvoicesClient", () => { ], appliedVendorCredits: [ { + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), vendorCredit: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -562,6 +569,8 @@ describe("InvoicesClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -573,6 +582,8 @@ describe("InvoicesClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ @@ -674,7 +685,7 @@ describe("InvoicesClient", () => { ], applied_credit_notes: [ { - remote_id: "remote_id", + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", credit_note: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -685,7 +696,7 @@ describe("InvoicesClient", () => { ], applied_vendor_credits: [ { - remote_id: "remote_id", + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", vendor_credit: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -805,7 +816,7 @@ describe("InvoicesClient", () => { ], appliedCreditNotes: [ { - remoteId: "remote_id", + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), creditNote: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -816,7 +827,7 @@ describe("InvoicesClient", () => { ], appliedVendorCredits: [ { - remoteId: "remote_id", + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), vendorCredit: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -936,6 +947,7 @@ describe("InvoicesClient", () => { ], applied_credit_notes: [ { + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", credit_note: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -945,6 +957,7 @@ describe("InvoicesClient", () => { ], applied_vendor_credits: [ { + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", vendor_credit: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -968,6 +981,8 @@ describe("InvoicesClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -977,6 +992,8 @@ describe("InvoicesClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -1084,6 +1101,7 @@ describe("InvoicesClient", () => { ], appliedCreditNotes: [ { + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), creditNote: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -1093,6 +1111,7 @@ describe("InvoicesClient", () => { ], appliedVendorCredits: [ { + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), vendorCredit: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -1134,6 +1153,8 @@ describe("InvoicesClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -1145,6 +1166,8 @@ describe("InvoicesClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ @@ -1161,7 +1184,7 @@ describe("InvoicesClient", () => { }); }); - test("asyncBulkCreate", async () => { + test("bulkCreate", async () => { const server = mockServerPool.createServer(); const client = new MergeClient({ maxRetries: 0, @@ -1170,19 +1193,17 @@ describe("InvoicesClient", () => { environment: server.baseUrl, }); const rawRequestBody = { batch_items: [{ item_id: "item_id", payload: {} }] }; - const rawResponseBody = { batch_id: "batch_id" }; + const rawResponseBody = { batch_id: "d0a3ca3e-2d7a-44cd-a94b-bda805f23b5" }; server .mockEndpoint() - .post("/accounting/v1/invoices/async/bulk") + .post("/accounting/v1/invoices/bulk") .jsonBody(rawRequestBody) .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const response = await client.accounting.invoices.asyncBulkCreate({ - isDebugMode: true, - runAsync: true, + const response = await client.accounting.invoices.bulkCreate({ batchItems: [ { itemId: "item_id", @@ -1191,11 +1212,11 @@ describe("InvoicesClient", () => { ], }); expect(response).toEqual({ - batchId: "batch_id", + batchId: "d0a3ca3e-2d7a-44cd-a94b-bda805f23b5", }); }); - test("batchObjectsList", async () => { + test("bulkRetrieve", async () => { const server = mockServerPool.createServer(); const client = new MergeClient({ maxRetries: 0, @@ -1205,49 +1226,28 @@ describe("InvoicesClient", () => { }); const rawResponseBody = { - batch_id: "batch_id", - status: "status", + batch_id: "d0a3ca3e-2d7a-44cd-a94b-bda805f23b5", + status: "ENQUEUED", total_count: 1, - objects: [{ item_id: "item_id", status: "status" }], + objects: [{ item_id: "item_id", status: "PENDING" }], }; server .mockEndpoint() - .get("/accounting/v1/invoices/batch/batch_id/objects") + .get("/accounting/v1/invoices/bulk/batch_id") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const response = await client.accounting.invoices.batchObjectsList("batch_id", { - companyId: "company_id", - contactId: "contact_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - issueDateAfter: new Date("2024-01-15T09:30:00.000Z"), - issueDateBefore: new Date("2024-01-15T09:30:00.000Z"), - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - number: "number", - pageSize: 1, - remoteFields: "type", - remoteId: "remote_id", - showEnumOrigins: "type", - status: "DRAFT", - type: "ACCOUNTS_PAYABLE", - }); + const response = await client.accounting.invoices.bulkRetrieve("batch_id"); expect(response).toEqual({ - batchId: "batch_id", - status: "status", + batchId: "d0a3ca3e-2d7a-44cd-a94b-bda805f23b5", + status: "ENQUEUED", totalCount: 1, objects: [ { itemId: "item_id", - status: "status", + status: "PENDING", }, ], }); @@ -1281,14 +1281,23 @@ describe("InvoicesClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/invoices/line-items/remote-field-classes") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.invoices.lineItemsRemoteFieldClassesList({ + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + isCommonModelField: true, + isCustom: true, + pageSize: 1, + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -1305,21 +1314,7 @@ describe("InvoicesClient", () => { fieldChoices: ["field_choices"], }, ], - }; - const page = await client.accounting.invoices.lineItemsRemoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1, }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("metaPatchRetrieve", async () => { @@ -2188,14 +2183,23 @@ describe("InvoicesClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/invoices/remote-field-classes") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.invoices.remoteFieldClassesList({ + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + isCommonModelField: true, + isCustom: true, + pageSize: 1, + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -2212,20 +2216,6 @@ describe("InvoicesClient", () => { fieldChoices: ["field_choices"], }, ], - }; - const page = await client.accounting.invoices.remoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1, }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); }); diff --git a/tests/wire/Accounting/issues.test.ts b/tests/wire/Accounting/issues.test.ts index 633d85110..c1f081d95 100644 --- a/tests/wire/Accounting/issues.test.ts +++ b/tests/wire/Accounting/issues.test.ts @@ -30,14 +30,30 @@ describe("IssuesClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/issues") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.issues.list({ + accountToken: "account_token", + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + endDate: "end_date", + endUserOrganizationName: "end_user_organization_name", + firstIncidentTimeAfter: new Date("2024-01-15T09:30:00.000Z"), + firstIncidentTimeBefore: new Date("2024-01-15T09:30:00.000Z"), + includeMuted: "include_muted", + integrationName: "integration_name", + lastIncidentTimeAfter: new Date("2024-01-15T09:30:00.000Z"), + lastIncidentTimeBefore: new Date("2024-01-15T09:30:00.000Z"), + linkedAccountId: "linked_account_id", + pageSize: 1, + startDate: "start_date", + status: "ONGOING", + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -54,28 +70,7 @@ describe("IssuesClient", () => { errorDetails: ["Missing employee permissions.", "Missing time off permissions."], }, ], - }; - const page = await client.accounting.issues.list({ - accountToken: "account_token", - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - endDate: "end_date", - endUserOrganizationName: "end_user_organization_name", - firstIncidentTimeAfter: new Date("2024-01-15T09:30:00.000Z"), - firstIncidentTimeBefore: new Date("2024-01-15T09:30:00.000Z"), - includeMuted: "include_muted", - integrationName: "integration_name", - lastIncidentTimeAfter: new Date("2024-01-15T09:30:00.000Z"), - lastIncidentTimeBefore: new Date("2024-01-15T09:30:00.000Z"), - linkedAccountId: "linked_account_id", - pageSize: 1, - startDate: "start_date", - status: "ONGOING", }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("retrieve", async () => { diff --git a/tests/wire/Accounting/itemFulfillments.test.ts b/tests/wire/Accounting/itemFulfillments.test.ts index 41d80ab21..8936a6506 100644 --- a/tests/wire/Accounting/itemFulfillments.test.ts +++ b/tests/wire/Accounting/itemFulfillments.test.ts @@ -42,14 +42,24 @@ describe("ItemFulfillmentsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/item-fulfillments") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.itemFulfillments.list({ + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeRemoteFields: true, + includeShellData: true, + pageSize: 1, + remoteFields: "status", + showEnumOrigins: "status", + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -94,22 +104,7 @@ describe("ItemFulfillmentsClient", () => { ], }, ], - }; - const page = await client.accounting.itemFulfillments.list({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - pageSize: 1, - remoteFields: "status", - showEnumOrigins: "status", }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("create", async () => { @@ -151,6 +146,8 @@ describe("ItemFulfillmentsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -160,6 +157,8 @@ describe("ItemFulfillmentsClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -238,6 +237,8 @@ describe("ItemFulfillmentsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -249,6 +250,8 @@ describe("ItemFulfillmentsClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ @@ -353,7 +356,7 @@ describe("ItemFulfillmentsClient", () => { }); }); - test("asyncBulkCreate", async () => { + test("bulkCreate", async () => { const server = mockServerPool.createServer(); const client = new MergeClient({ maxRetries: 0, @@ -362,19 +365,17 @@ describe("ItemFulfillmentsClient", () => { environment: server.baseUrl, }); const rawRequestBody = { batch_items: [{ item_id: "item_id", payload: {} }] }; - const rawResponseBody = { batch_id: "batch_id" }; + const rawResponseBody = { batch_id: "d0a3ca3e-2d7a-44cd-a94b-bda805f23b5" }; server .mockEndpoint() - .post("/accounting/v1/item-fulfillments/async/bulk") + .post("/accounting/v1/item-fulfillments/bulk") .jsonBody(rawRequestBody) .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const response = await client.accounting.itemFulfillments.asyncBulkCreate({ - isDebugMode: true, - runAsync: true, + const response = await client.accounting.itemFulfillments.bulkCreate({ batchItems: [ { itemId: "item_id", @@ -383,11 +384,11 @@ describe("ItemFulfillmentsClient", () => { ], }); expect(response).toEqual({ - batchId: "batch_id", + batchId: "d0a3ca3e-2d7a-44cd-a94b-bda805f23b5", }); }); - test("batchObjectsList", async () => { + test("bulkRetrieve", async () => { const server = mockServerPool.createServer(); const client = new MergeClient({ maxRetries: 0, @@ -397,37 +398,28 @@ describe("ItemFulfillmentsClient", () => { }); const rawResponseBody = { - batch_id: "batch_id", - status: "status", + batch_id: "d0a3ca3e-2d7a-44cd-a94b-bda805f23b5", + status: "ENQUEUED", total_count: 1, - objects: [{ item_id: "item_id", status: "status" }], + objects: [{ item_id: "item_id", status: "PENDING" }], }; server .mockEndpoint() - .get("/accounting/v1/item-fulfillments/batch/batch_id/objects") + .get("/accounting/v1/item-fulfillments/bulk/batch_id") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const response = await client.accounting.itemFulfillments.batchObjectsList("batch_id", { - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - pageSize: 1, - remoteFields: "status", - showEnumOrigins: "status", - }); + const response = await client.accounting.itemFulfillments.bulkRetrieve("batch_id"); expect(response).toEqual({ - batchId: "batch_id", - status: "status", + batchId: "d0a3ca3e-2d7a-44cd-a94b-bda805f23b5", + status: "ENQUEUED", totalCount: 1, objects: [ { itemId: "item_id", - status: "status", + status: "PENDING", }, ], }); @@ -461,14 +453,23 @@ describe("ItemFulfillmentsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/item-fulfillments/lines/remote-field-classes") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.itemFulfillments.linesRemoteFieldClassesList({ + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + isCommonModelField: true, + isCustom: true, + pageSize: 1, + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -485,21 +486,7 @@ describe("ItemFulfillmentsClient", () => { fieldChoices: ["field_choices"], }, ], - }; - const page = await client.accounting.itemFulfillments.linesRemoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1, }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("metaPostRetrieve", async () => { @@ -949,14 +936,23 @@ describe("ItemFulfillmentsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/item-fulfillments/remote-field-classes") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.itemFulfillments.remoteFieldClassesList({ + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + isCommonModelField: true, + isCustom: true, + pageSize: 1, + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -973,20 +969,6 @@ describe("ItemFulfillmentsClient", () => { fieldChoices: ["field_choices"], }, ], - }; - const page = await client.accounting.itemFulfillments.remoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1, }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); }); diff --git a/tests/wire/Accounting/items.test.ts b/tests/wire/Accounting/items.test.ts index df28e3d37..a6330ac6b 100644 --- a/tests/wire/Accounting/items.test.ts +++ b/tests/wire/Accounting/items.test.ts @@ -43,14 +43,30 @@ describe("ItemsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/items") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.items.list({ + companyId: "company_id", + createdAfter: new Date("2024-01-15T09:30:00.000Z"), + createdBefore: new Date("2024-01-15T09:30:00.000Z"), + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), + modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), + name: "name", + pageSize: 1, + remoteFields: "status", + remoteId: "remote_id", + showEnumOrigins: "status", + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -87,28 +103,7 @@ describe("ItemsClient", () => { ], }, ], - }; - const page = await client.accounting.items.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - name: "name", - pageSize: 1, - remoteFields: "status", - remoteId: "remote_id", - showEnumOrigins: "status", }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("create", async () => { @@ -151,6 +146,8 @@ describe("ItemsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -160,6 +157,8 @@ describe("ItemsClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -230,6 +229,8 @@ describe("ItemsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -241,6 +242,8 @@ describe("ItemsClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ @@ -377,6 +380,8 @@ describe("ItemsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -386,6 +391,8 @@ describe("ItemsClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -456,6 +463,8 @@ describe("ItemsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -467,6 +476,8 @@ describe("ItemsClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ diff --git a/tests/wire/Accounting/journalEntries.test.ts b/tests/wire/Accounting/journalEntries.test.ts index 697132eff..ad3e553a8 100644 --- a/tests/wire/Accounting/journalEntries.test.ts +++ b/tests/wire/Accounting/journalEntries.test.ts @@ -19,7 +19,7 @@ describe("JournalEntriesClient", () => { results: [ { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remote_id: "remote_id", + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", transaction_date: "2020-03-31T00:00:00Z", @@ -75,20 +75,36 @@ describe("JournalEntriesClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/journal-entries") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.journalEntries.list({ + companyId: "company_id", + createdAfter: new Date("2024-01-15T09:30:00.000Z"), + createdBefore: new Date("2024-01-15T09:30:00.000Z"), + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeRemoteFields: true, + includeShellData: true, + modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), + modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), + pageSize: 1, + remoteId: "remote_id", + transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), + transactionDateBefore: new Date("2024-01-15T09:30:00.000Z"), + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remoteId: "remote_id", + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), transactionDate: new Date("2020-03-31T00:00:00.000Z"), @@ -158,28 +174,7 @@ describe("JournalEntriesClient", () => { ], }, ], - }; - const page = await client.accounting.journalEntries.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id", - transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), - transactionDateBefore: new Date("2024-01-15T09:30:00.000Z"), }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("create", async () => { @@ -194,7 +189,7 @@ describe("JournalEntriesClient", () => { const rawResponseBody = { model: { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remote_id: "remote_id", + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", transaction_date: "2020-03-31T00:00:00Z", @@ -254,6 +249,8 @@ describe("JournalEntriesClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -263,6 +260,8 @@ describe("JournalEntriesClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -294,7 +293,7 @@ describe("JournalEntriesClient", () => { expect(response).toEqual({ model: { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remoteId: "remote_id", + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), transactionDate: new Date("2020-03-31T00:00:00.000Z"), @@ -372,6 +371,8 @@ describe("JournalEntriesClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -383,6 +384,8 @@ describe("JournalEntriesClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ @@ -410,7 +413,7 @@ describe("JournalEntriesClient", () => { const rawResponseBody = { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remote_id: "remote_id", + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", transaction_date: "2020-03-31T00:00:00Z", @@ -480,7 +483,7 @@ describe("JournalEntriesClient", () => { }); expect(response).toEqual({ id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remoteId: "remote_id", + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), transactionDate: new Date("2020-03-31T00:00:00.000Z"), @@ -588,14 +591,23 @@ describe("JournalEntriesClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/journal-entries/lines/remote-field-classes") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.journalEntries.linesRemoteFieldClassesList({ + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + isCommonModelField: true, + isCustom: true, + pageSize: 1, + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -612,21 +624,7 @@ describe("JournalEntriesClient", () => { fieldChoices: ["field_choices"], }, ], - }; - const page = await client.accounting.journalEntries.linesRemoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1, }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("metaPostRetrieve", async () => { @@ -1076,14 +1074,23 @@ describe("JournalEntriesClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/journal-entries/remote-field-classes") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.journalEntries.remoteFieldClassesList({ + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + isCommonModelField: true, + isCustom: true, + pageSize: 1, + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -1100,20 +1107,6 @@ describe("JournalEntriesClient", () => { fieldChoices: ["field_choices"], }, ], - }; - const page = await client.accounting.journalEntries.remoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1, }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); }); diff --git a/tests/wire/Accounting/linkedAccounts.test.ts b/tests/wire/Accounting/linkedAccounts.test.ts index 21a04aeed..fbe46bcb1 100644 --- a/tests/wire/Accounting/linkedAccounts.test.ts +++ b/tests/wire/Accounting/linkedAccounts.test.ts @@ -50,14 +50,29 @@ describe("LinkedAccountsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/linked-accounts") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.linkedAccounts.list({ + category: "accounting", + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + endUserEmailAddress: "end_user_email_address", + endUserOrganizationName: "end_user_organization_name", + endUserOriginId: "end_user_origin_id", + endUserOriginIds: "end_user_origin_ids", + id: "id", + ids: "ids", + includeDuplicates: true, + integrationName: "integration_name", + isTestAccount: "is_test_account", + pageSize: 1, + status: "status", + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -94,26 +109,6 @@ describe("LinkedAccountsClient", () => { }, }, ], - }; - const page = await client.accounting.linkedAccounts.list({ - category: "accounting", - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - endUserEmailAddress: "end_user_email_address", - endUserOrganizationName: "end_user_organization_name", - endUserOriginId: "end_user_origin_id", - endUserOriginIds: "end_user_origin_ids", - id: "id", - ids: "ids", - includeDuplicates: true, - integrationName: "integration_name", - isTestAccount: "is_test_account", - pageSize: 1, - status: "status", }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); }); diff --git a/tests/wire/Accounting/paymentMethods.test.ts b/tests/wire/Accounting/paymentMethods.test.ts index 73a296aeb..ee7f0c5e2 100644 --- a/tests/wire/Accounting/paymentMethods.test.ts +++ b/tests/wire/Accounting/paymentMethods.test.ts @@ -19,7 +19,7 @@ describe("PaymentMethodsClient", () => { results: [ { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remote_id: "remote_id", + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", method_type: "CREDIT_CARD", @@ -35,20 +35,27 @@ describe("PaymentMethodsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/payment-methods") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.paymentMethods.list({ + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + pageSize: 1, + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remoteId: "remote_id", + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), methodType: "CREDIT_CARD", @@ -71,19 +78,7 @@ describe("PaymentMethodsClient", () => { ], }, ], - }; - const page = await client.accounting.paymentMethods.list({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - pageSize: 1, }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("retrieve", async () => { @@ -97,7 +92,7 @@ describe("PaymentMethodsClient", () => { const rawResponseBody = { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remote_id: "remote_id", + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", method_type: "CREDIT_CARD", @@ -124,7 +119,7 @@ describe("PaymentMethodsClient", () => { }); expect(response).toEqual({ id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remoteId: "remote_id", + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), methodType: "CREDIT_CARD", diff --git a/tests/wire/Accounting/paymentTerms.test.ts b/tests/wire/Accounting/paymentTerms.test.ts index f69d6be78..0b5216423 100644 --- a/tests/wire/Accounting/paymentTerms.test.ts +++ b/tests/wire/Accounting/paymentTerms.test.ts @@ -19,7 +19,7 @@ describe("PaymentTermsClient", () => { results: [ { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remote_id: "remote_id", + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", name: "Net 30", @@ -37,20 +37,27 @@ describe("PaymentTermsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/payment-terms") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.paymentTerms.list({ + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + pageSize: 1, + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remoteId: "remote_id", + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), name: "Net 30", @@ -75,19 +82,7 @@ describe("PaymentTermsClient", () => { ], }, ], - }; - const page = await client.accounting.paymentTerms.list({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - pageSize: 1, }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("retrieve", async () => { @@ -101,7 +96,7 @@ describe("PaymentTermsClient", () => { const rawResponseBody = { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remote_id: "remote_id", + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", name: "Net 30", @@ -130,7 +125,7 @@ describe("PaymentTermsClient", () => { }); expect(response).toEqual({ id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remoteId: "remote_id", + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), name: "Net 30", diff --git a/tests/wire/Accounting/payments.test.ts b/tests/wire/Accounting/payments.test.ts index 6493db780..c7ff62f86 100644 --- a/tests/wire/Accounting/payments.test.ts +++ b/tests/wire/Accounting/payments.test.ts @@ -71,14 +71,32 @@ describe("PaymentsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/payments") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.payments.list({ + accountId: "account_id", + companyId: "company_id", + contactId: "contact_id", + createdAfter: new Date("2024-01-15T09:30:00.000Z"), + createdBefore: new Date("2024-01-15T09:30:00.000Z"), + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeRemoteFields: true, + includeShellData: true, + modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), + modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), + pageSize: 1, + remoteId: "remote_id", + transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), + transactionDateBefore: new Date("2024-01-15T09:30:00.000Z"), + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -150,30 +168,7 @@ describe("PaymentsClient", () => { ], }, ], - }; - const page = await client.accounting.payments.list({ - accountId: "account_id", - companyId: "company_id", - contactId: "contact_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id", - transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), - transactionDateBefore: new Date("2024-01-15T09:30:00.000Z"), }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("create", async () => { @@ -244,6 +239,8 @@ describe("PaymentsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -253,6 +250,8 @@ describe("PaymentsClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -358,6 +357,8 @@ describe("PaymentsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -369,6 +370,8 @@ describe("PaymentsClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ @@ -595,6 +598,8 @@ describe("PaymentsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -604,6 +609,8 @@ describe("PaymentsClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -709,6 +716,8 @@ describe("PaymentsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -720,6 +729,8 @@ describe("PaymentsClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ @@ -764,14 +775,23 @@ describe("PaymentsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/payments/line-items/remote-field-classes") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.payments.lineItemsRemoteFieldClassesList({ + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + isCommonModelField: true, + isCustom: true, + pageSize: 1, + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -788,21 +808,7 @@ describe("PaymentsClient", () => { fieldChoices: ["field_choices"], }, ], - }; - const page = await client.accounting.payments.lineItemsRemoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1, }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("metaPatchRetrieve", async () => { @@ -1671,14 +1677,23 @@ describe("PaymentsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/payments/remote-field-classes") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.payments.remoteFieldClassesList({ + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + isCommonModelField: true, + isCustom: true, + pageSize: 1, + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -1695,20 +1710,6 @@ describe("PaymentsClient", () => { fieldChoices: ["field_choices"], }, ], - }; - const page = await client.accounting.payments.remoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1, }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); }); diff --git a/tests/wire/Accounting/projects.test.ts b/tests/wire/Accounting/projects.test.ts index 93a426780..8d7ef8134 100644 --- a/tests/wire/Accounting/projects.test.ts +++ b/tests/wire/Accounting/projects.test.ts @@ -19,7 +19,7 @@ describe("ProjectsClient", () => { results: [ { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remote_id: "remote_id", + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", name: "Permissions Mapping", @@ -35,20 +35,33 @@ describe("ProjectsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/projects") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.projects.list({ + companyId: "company_id", + createdAfter: new Date("2024-01-15T09:30:00.000Z"), + createdBefore: new Date("2024-01-15T09:30:00.000Z"), + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), + modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), + pageSize: 1, + remoteId: "remote_id", + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remoteId: "remote_id", + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), name: "Permissions Mapping", @@ -71,25 +84,7 @@ describe("ProjectsClient", () => { ], }, ], - }; - const page = await client.accounting.projects.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id", }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("retrieve", async () => { @@ -103,7 +98,7 @@ describe("ProjectsClient", () => { const rawResponseBody = { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remote_id: "remote_id", + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", name: "Permissions Mapping", @@ -130,7 +125,7 @@ describe("ProjectsClient", () => { }); expect(response).toEqual({ id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remoteId: "remote_id", + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), name: "Permissions Mapping", diff --git a/tests/wire/Accounting/purchaseOrders.test.ts b/tests/wire/Accounting/purchaseOrders.test.ts index 06d1db63f..161fb2605 100644 --- a/tests/wire/Accounting/purchaseOrders.test.ts +++ b/tests/wire/Accounting/purchaseOrders.test.ts @@ -99,14 +99,32 @@ describe("PurchaseOrdersClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/purchase-orders") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.purchaseOrders.list({ + companyId: "company_id", + createdAfter: new Date("2024-01-15T09:30:00.000Z"), + createdBefore: new Date("2024-01-15T09:30:00.000Z"), + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeRemoteFields: true, + includeShellData: true, + issueDateAfter: new Date("2024-01-15T09:30:00.000Z"), + issueDateBefore: new Date("2024-01-15T09:30:00.000Z"), + modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), + modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), + pageSize: 1, + remoteFields: "status", + remoteId: "remote_id", + showEnumOrigins: "status", + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -206,30 +224,7 @@ describe("PurchaseOrdersClient", () => { ], }, ], - }; - const page = await client.accounting.purchaseOrders.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - issueDateAfter: new Date("2024-01-15T09:30:00.000Z"), - issueDateBefore: new Date("2024-01-15T09:30:00.000Z"), - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteFields: "status", - remoteId: "remote_id", - showEnumOrigins: "status", }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("create", async () => { @@ -328,6 +323,8 @@ describe("PurchaseOrdersClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -337,6 +334,8 @@ describe("PurchaseOrdersClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -470,6 +469,8 @@ describe("PurchaseOrdersClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -481,6 +482,8 @@ describe("PurchaseOrdersClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ @@ -751,14 +754,23 @@ describe("PurchaseOrdersClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/purchase-orders/line-items/remote-field-classes") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.purchaseOrders.lineItemsRemoteFieldClassesList({ + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + isCommonModelField: true, + isCustom: true, + pageSize: 1, + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -775,21 +787,7 @@ describe("PurchaseOrdersClient", () => { fieldChoices: ["field_choices"], }, ], - }; - const page = await client.accounting.purchaseOrders.lineItemsRemoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1, }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("metaPostRetrieve", async () => { @@ -1239,14 +1237,23 @@ describe("PurchaseOrdersClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/purchase-orders/remote-field-classes") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.purchaseOrders.remoteFieldClassesList({ + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + isCommonModelField: true, + isCustom: true, + pageSize: 1, + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -1263,20 +1270,6 @@ describe("PurchaseOrdersClient", () => { fieldChoices: ["field_choices"], }, ], - }; - const page = await client.accounting.purchaseOrders.remoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1, }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); }); diff --git a/tests/wire/Accounting/salesOrders.test.ts b/tests/wire/Accounting/salesOrders.test.ts index c65ba0ccd..46a4cfd68 100644 --- a/tests/wire/Accounting/salesOrders.test.ts +++ b/tests/wire/Accounting/salesOrders.test.ts @@ -70,14 +70,32 @@ describe("SalesOrdersClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/sales-orders") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.salesOrders.list({ + companyId: "company_id", + createdAfter: new Date("2024-01-15T09:30:00.000Z"), + createdBefore: new Date("2024-01-15T09:30:00.000Z"), + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeRemoteFields: true, + includeShellData: true, + issueDateAfter: new Date("2024-01-15T09:30:00.000Z"), + issueDateBefore: new Date("2024-01-15T09:30:00.000Z"), + modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), + modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), + pageSize: 1, + remoteFields: "status", + remoteId: "remote_id", + showEnumOrigins: "status", + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -145,30 +163,7 @@ describe("SalesOrdersClient", () => { ], }, ], - }; - const page = await client.accounting.salesOrders.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - issueDateAfter: new Date("2024-01-15T09:30:00.000Z"), - issueDateBefore: new Date("2024-01-15T09:30:00.000Z"), - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteFields: "status", - remoteId: "remote_id", - showEnumOrigins: "status", }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("create", async () => { @@ -235,6 +230,8 @@ describe("SalesOrdersClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -244,6 +241,8 @@ describe("SalesOrdersClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -345,6 +344,8 @@ describe("SalesOrdersClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -356,6 +357,8 @@ describe("SalesOrdersClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ @@ -518,7 +521,7 @@ describe("SalesOrdersClient", () => { }); }); - test("asyncBulkCreate", async () => { + test("bulkCreate", async () => { const server = mockServerPool.createServer(); const client = new MergeClient({ maxRetries: 0, @@ -527,19 +530,17 @@ describe("SalesOrdersClient", () => { environment: server.baseUrl, }); const rawRequestBody = { batch_items: [{ item_id: "item_id", payload: {} }] }; - const rawResponseBody = { batch_id: "batch_id" }; + const rawResponseBody = { batch_id: "d0a3ca3e-2d7a-44cd-a94b-bda805f23b5" }; server .mockEndpoint() - .post("/accounting/v1/sales-orders/async/bulk") + .post("/accounting/v1/sales-orders/bulk") .jsonBody(rawRequestBody) .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const response = await client.accounting.salesOrders.asyncBulkCreate({ - isDebugMode: true, - runAsync: true, + const response = await client.accounting.salesOrders.bulkCreate({ batchItems: [ { itemId: "item_id", @@ -548,11 +549,11 @@ describe("SalesOrdersClient", () => { ], }); expect(response).toEqual({ - batchId: "batch_id", + batchId: "d0a3ca3e-2d7a-44cd-a94b-bda805f23b5", }); }); - test("batchObjectsList", async () => { + test("bulkRetrieve", async () => { const server = mockServerPool.createServer(); const client = new MergeClient({ maxRetries: 0, @@ -562,45 +563,28 @@ describe("SalesOrdersClient", () => { }); const rawResponseBody = { - batch_id: "batch_id", - status: "status", + batch_id: "d0a3ca3e-2d7a-44cd-a94b-bda805f23b5", + status: "ENQUEUED", total_count: 1, - objects: [{ item_id: "item_id", status: "status" }], + objects: [{ item_id: "item_id", status: "PENDING" }], }; server .mockEndpoint() - .get("/accounting/v1/sales-orders/batch/batch_id/objects") + .get("/accounting/v1/sales-orders/bulk/batch_id") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const response = await client.accounting.salesOrders.batchObjectsList("batch_id", { - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeRemoteFields: true, - includeShellData: true, - issueDateAfter: new Date("2024-01-15T09:30:00.000Z"), - issueDateBefore: new Date("2024-01-15T09:30:00.000Z"), - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteFields: "status", - remoteId: "remote_id", - showEnumOrigins: "status", - }); + const response = await client.accounting.salesOrders.bulkRetrieve("batch_id"); expect(response).toEqual({ - batchId: "batch_id", - status: "status", + batchId: "d0a3ca3e-2d7a-44cd-a94b-bda805f23b5", + status: "ENQUEUED", totalCount: 1, objects: [ { itemId: "item_id", - status: "status", + status: "PENDING", }, ], }); @@ -634,14 +618,23 @@ describe("SalesOrdersClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/sales-orders/lines/remote-field-classes") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.salesOrders.linesRemoteFieldClassesList({ + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + isCommonModelField: true, + isCustom: true, + pageSize: 1, + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -658,21 +651,7 @@ describe("SalesOrdersClient", () => { fieldChoices: ["field_choices"], }, ], - }; - const page = await client.accounting.salesOrders.linesRemoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1, }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("metaPostRetrieve", async () => { @@ -1122,14 +1101,23 @@ describe("SalesOrdersClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/sales-orders/remote-field-classes") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.salesOrders.remoteFieldClassesList({ + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + isCommonModelField: true, + isCustom: true, + pageSize: 1, + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -1146,20 +1134,6 @@ describe("SalesOrdersClient", () => { fieldChoices: ["field_choices"], }, ], - }; - const page = await client.accounting.salesOrders.remoteFieldClassesList({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - isCommonModelField: true, - isCustom: true, - pageSize: 1, }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); }); diff --git a/tests/wire/Accounting/syncStatus.test.ts b/tests/wire/Accounting/syncStatus.test.ts index d8b1bd05d..6af1e3c70 100644 --- a/tests/wire/Accounting/syncStatus.test.ts +++ b/tests/wire/Accounting/syncStatus.test.ts @@ -31,14 +31,18 @@ describe("SyncStatusClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/sync-status") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.syncStatus.list({ + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + pageSize: 1, + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -54,15 +58,6 @@ describe("SyncStatusClient", () => { selectiveSyncConfigurationsUsage: "IN_NEXT_SYNC", }, ], - }; - const page = await client.accounting.syncStatus.list({ - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - pageSize: 1, }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); }); diff --git a/tests/wire/Accounting/taxRates.test.ts b/tests/wire/Accounting/taxRates.test.ts index 3047964a4..0e147e3c7 100644 --- a/tests/wire/Accounting/taxRates.test.ts +++ b/tests/wire/Accounting/taxRates.test.ts @@ -19,7 +19,7 @@ describe("TaxRatesClient", () => { results: [ { id: "b82302de-852e-4e60-b050-edf9da3b7c02", - remote_id: "remote_id", + remote_id: "039111", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", company: "company", @@ -33,7 +33,7 @@ describe("TaxRatesClient", () => { tax_components: [ { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remote_id: "remote_id", + remote_id: "039111", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", name: "Drink Tax Component", @@ -52,20 +52,34 @@ describe("TaxRatesClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/tax-rates") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.taxRates.list({ + companyId: "company_id", + createdAfter: new Date("2024-01-15T09:30:00.000Z"), + createdBefore: new Date("2024-01-15T09:30:00.000Z"), + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), + modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), + name: "name", + pageSize: 1, + remoteId: "remote_id", + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ { id: "b82302de-852e-4e60-b050-edf9da3b7c02", - remoteId: "remote_id", + remoteId: "039111", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), company: "company", @@ -79,7 +93,7 @@ describe("TaxRatesClient", () => { taxComponents: [ { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remoteId: "remote_id", + remoteId: "039111", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), name: "Drink Tax Component", @@ -105,26 +119,7 @@ describe("TaxRatesClient", () => { ], }, ], - }; - const page = await client.accounting.taxRates.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - name: "name", - pageSize: 1, - remoteId: "remote_id", }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("retrieve", async () => { @@ -138,7 +133,7 @@ describe("TaxRatesClient", () => { const rawResponseBody = { id: "b82302de-852e-4e60-b050-edf9da3b7c02", - remote_id: "remote_id", + remote_id: "039111", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", company: "company", @@ -152,7 +147,7 @@ describe("TaxRatesClient", () => { tax_components: [ { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remote_id: "remote_id", + remote_id: "039111", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", name: "Drink Tax Component", @@ -183,7 +178,7 @@ describe("TaxRatesClient", () => { }); expect(response).toEqual({ id: "b82302de-852e-4e60-b050-edf9da3b7c02", - remoteId: "remote_id", + remoteId: "039111", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), company: "company", @@ -197,7 +192,7 @@ describe("TaxRatesClient", () => { taxComponents: [ { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remoteId: "remote_id", + remoteId: "039111", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), name: "Drink Tax Component", diff --git a/tests/wire/Accounting/trackingCategories.test.ts b/tests/wire/Accounting/trackingCategories.test.ts index da31ecbc6..4603bce31 100644 --- a/tests/wire/Accounting/trackingCategories.test.ts +++ b/tests/wire/Accounting/trackingCategories.test.ts @@ -36,14 +36,32 @@ describe("TrackingCategoriesClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/tracking-categories") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.trackingCategories.list({ + categoryType: "", + companyId: "company_id", + createdAfter: new Date("2024-01-15T09:30:00.000Z"), + createdBefore: new Date("2024-01-15T09:30:00.000Z"), + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), + modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), + name: "name", + pageSize: 1, + remoteFields: "status", + remoteId: "remote_id", + showEnumOrigins: "status", + status: "", + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -68,30 +86,7 @@ describe("TrackingCategoriesClient", () => { }, }, ], - }; - const page = await client.accounting.trackingCategories.list({ - categoryType: "", - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - name: "name", - pageSize: 1, - remoteFields: "status", - remoteId: "remote_id", - showEnumOrigins: "status", - status: "", }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("retrieve", async () => { diff --git a/tests/wire/Accounting/transactions.test.ts b/tests/wire/Accounting/transactions.test.ts index cfd814644..8ab178166 100644 --- a/tests/wire/Accounting/transactions.test.ts +++ b/tests/wire/Accounting/transactions.test.ts @@ -92,14 +92,29 @@ describe("TransactionsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/transactions") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.transactions.list({ + companyId: "company_id", + createdAfter: new Date("2024-01-15T09:30:00.000Z"), + createdBefore: new Date("2024-01-15T09:30:00.000Z"), + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), + modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), + pageSize: 1, + remoteId: "remote_id", + transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), + transactionDateBefore: new Date("2024-01-15T09:30:00.000Z"), + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ @@ -185,27 +200,7 @@ describe("TransactionsClient", () => { ], }, ], - }; - const page = await client.accounting.transactions.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id", - transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), - transactionDateBefore: new Date("2024-01-15T09:30:00.000Z"), }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("retrieve", async () => { diff --git a/tests/wire/Accounting/vendorCredits.test.ts b/tests/wire/Accounting/vendorCredits.test.ts index 711892214..2ccbe79f0 100644 --- a/tests/wire/Accounting/vendorCredits.test.ts +++ b/tests/wire/Accounting/vendorCredits.test.ts @@ -19,7 +19,7 @@ describe("VendorCreditsClient", () => { results: [ { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remote_id: "remote_id", + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", number: "6", @@ -76,6 +76,7 @@ describe("VendorCreditsClient", () => { ], applied_to_lines: [ { + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", invoice: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -94,20 +95,35 @@ describe("VendorCreditsClient", () => { ], }; server - .mockEndpoint({ once: false }) + .mockEndpoint() .get("/accounting/v1/vendor-credits") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const expected = { + const response = await client.accounting.vendorCredits.list({ + companyId: "company_id", + createdAfter: new Date("2024-01-15T09:30:00.000Z"), + createdBefore: new Date("2024-01-15T09:30:00.000Z"), + cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", + includeDeletedData: true, + includeRemoteData: true, + includeShellData: true, + modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), + modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), + pageSize: 1, + remoteId: "remote_id", + transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), + transactionDateBefore: new Date("2024-01-15T09:30:00.000Z"), + }); + expect(response).toEqual({ next: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", previous: "cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ", results: [ { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remoteId: "remote_id", + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), number: "6", @@ -164,6 +180,7 @@ describe("VendorCreditsClient", () => { ], appliedToLines: [ { + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), invoice: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -189,27 +206,7 @@ describe("VendorCreditsClient", () => { ], }, ], - }; - const page = await client.accounting.vendorCredits.list({ - companyId: "company_id", - createdAfter: new Date("2024-01-15T09:30:00.000Z"), - createdBefore: new Date("2024-01-15T09:30:00.000Z"), - cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw", - includeDeletedData: true, - includeRemoteData: true, - includeShellData: true, - modifiedAfter: new Date("2024-01-15T09:30:00.000Z"), - modifiedBefore: new Date("2024-01-15T09:30:00.000Z"), - pageSize: 1, - remoteId: "remote_id", - transactionDateAfter: new Date("2024-01-15T09:30:00.000Z"), - transactionDateBefore: new Date("2024-01-15T09:30:00.000Z"), }); - - expect(expected.results).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.results).toEqual(nextPage.data); }); test("create", async () => { @@ -224,7 +221,7 @@ describe("VendorCreditsClient", () => { const rawResponseBody = { model: { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remote_id: "remote_id", + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", number: "6", @@ -281,6 +278,7 @@ describe("VendorCreditsClient", () => { ], applied_to_lines: [ { + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", invoice: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -303,6 +301,8 @@ describe("VendorCreditsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -312,6 +312,8 @@ describe("VendorCreditsClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -343,7 +345,7 @@ describe("VendorCreditsClient", () => { expect(response).toEqual({ model: { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remoteId: "remote_id", + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), number: "6", @@ -400,6 +402,7 @@ describe("VendorCreditsClient", () => { ], appliedToLines: [ { + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), invoice: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -433,6 +436,8 @@ describe("VendorCreditsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -444,6 +449,8 @@ describe("VendorCreditsClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ @@ -471,7 +478,7 @@ describe("VendorCreditsClient", () => { const rawResponseBody = { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remote_id: "remote_id", + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", number: "6", @@ -531,7 +538,7 @@ describe("VendorCreditsClient", () => { ], applied_to_lines: [ { - remote_id: "remote_id", + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", invoice: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -562,7 +569,7 @@ describe("VendorCreditsClient", () => { }); expect(response).toEqual({ id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remoteId: "remote_id", + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), number: "6", @@ -622,7 +629,7 @@ describe("VendorCreditsClient", () => { ], appliedToLines: [ { - remoteId: "remote_id", + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), invoice: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -662,7 +669,7 @@ describe("VendorCreditsClient", () => { const rawResponseBody = { model: { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remote_id: "remote_id", + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", number: "6", @@ -719,6 +726,7 @@ describe("VendorCreditsClient", () => { ], applied_to_lines: [ { + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", invoice: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -741,6 +749,8 @@ describe("VendorCreditsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -750,6 +760,8 @@ describe("VendorCreditsClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -781,7 +793,7 @@ describe("VendorCreditsClient", () => { expect(response).toEqual({ model: { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remoteId: "remote_id", + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), number: "6", @@ -838,6 +850,7 @@ describe("VendorCreditsClient", () => { ], appliedToLines: [ { + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), invoice: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -871,6 +884,8 @@ describe("VendorCreditsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -882,6 +897,8 @@ describe("VendorCreditsClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [ @@ -910,7 +927,7 @@ describe("VendorCreditsClient", () => { const rawResponseBody = { model: { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remote_id: "remote_id", + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", number: "6", @@ -967,6 +984,7 @@ describe("VendorCreditsClient", () => { ], applied_to_lines: [ { + remote_id: "088899", created_at: "2021-09-15T00:00:00Z", modified_at: "2021-10-16T00:00:00Z", invoice: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -989,6 +1007,8 @@ describe("VendorCreditsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problem_type: "UNRECOGNIZED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], errors: [ @@ -998,6 +1018,8 @@ describe("VendorCreditsClient", () => { detail: "custom_fields is a required field on model.", problem_type: "MISSING_REQUIRED_FIELD", block_merge_link: true, + raw_error: "raw_error", + error_code: 1, }, ], logs: [ @@ -1030,7 +1052,7 @@ describe("VendorCreditsClient", () => { expect(response).toEqual({ model: { id: "ecbe05ac-62a3-46c5-ab31-4b478b37d1b4", - remoteId: "remote_id", + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), number: "6", @@ -1087,6 +1109,7 @@ describe("VendorCreditsClient", () => { ], appliedToLines: [ { + remoteId: "088899", createdAt: new Date("2021-09-15T00:00:00.000Z"), modifiedAt: new Date("2021-10-16T00:00:00.000Z"), invoice: "5b3c1341-a20f-4e51-b72c-f3830a16c97b", @@ -1120,6 +1143,8 @@ describe("VendorCreditsClient", () => { detail: "An unrecognized field, age, was passed in with request data.", problemType: "UNRECOGNIZED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], errors: [ @@ -1131,6 +1156,8 @@ describe("VendorCreditsClient", () => { detail: "custom_fields is a required field on model.", problemType: "MISSING_REQUIRED_FIELD", blockMergeLink: true, + rawError: "raw_error", + errorCode: 1, }, ], logs: [