Skip to content

Commit 0e2e168

Browse files
authored
Ensure foreignId is updated across all resources (#77)
* Ensure foreignId is updated across all resources * Bump version
1 parent 9279791 commit 0e2e168

16 files changed

+171
-20
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@withabound/node-sdk",
3-
"version": "1.3.1",
3+
"version": "1.4.0",
44
"description": "The Abound Node library provides convenient access to the Abound API from applications written in server-side JavaScript.",
55
"author": "Abound <[email protected]>",
66
"license": "MIT",

src/AboundClient.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { AxiosInstance } from "axios";
22
import {
3+
AccessTokens,
34
Documents,
45
Expenses,
56
Incomes,
@@ -11,7 +12,6 @@ import {
1112
PaymentMethods,
1213
Users,
1314
} from "./resources";
14-
import AccessTokens from "./resources/AccessTokens";
1515
import { initAxios } from "./util/http";
1616

1717
export enum Environment {

src/abound.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ export * from "./AboundClient";
22
export { AboundClient as default } from "./AboundClient";
33

44
// resources
5+
export * from "./resources/AccessTokens";
56
export * from "./resources/Documents";
67
export * from "./resources/Expenses";
78
export * from "./resources/Incomes";

src/resources/Mileages.ts

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { EmptyObject } from "./base/AboundResource";
1+
import { EmptyObject, Pagination } from "./base/AboundResource";
22
import { AboundBulkResponse, AboundResponse } from "./base/AboundResponse";
33
import { AboundUserScopedResource } from "./base/AboundUserScopedResource";
44

@@ -7,6 +7,13 @@ export interface MileageRequest {
77
distance: number; // float
88
date: string; // YYYY-MM-DD
99
description?: string;
10+
foreignId?: string;
11+
}
12+
13+
// query params
14+
export interface MileageParameters extends Pagination {
15+
foreignId?: string;
16+
year?: string;
1017
}
1118

1219
// response body
@@ -23,8 +30,11 @@ export default class Mileages extends AboundUserScopedResource<
2330
> {
2431
path = "/mileage";
2532

26-
public async list(userId: string): Promise<AboundBulkResponse<Mileage>> {
27-
return super.listForUser(userId);
33+
public async list(
34+
userId: string,
35+
parameters?: MileageParameters
36+
): Promise<AboundBulkResponse<Mileage>> {
37+
return super.listForUser(userId, parameters);
2838
}
2939

3040
public async create(

src/resources/PaymentMethods.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@ export interface PaymentMethodRequest {
99
accountType: AccountType;
1010
accountClass: AccountClass;
1111
notes?: Record<string, unknown>;
12+
foreignId?: string;
13+
}
14+
15+
// query params
16+
export interface PaymentMethodParameters extends Pagination {
17+
foreignId?: string;
1218
}
1319

1420
// response body
@@ -47,7 +53,7 @@ export default class PaymentMethods extends AboundUserScopedResource<
4753

4854
public async list(
4955
userId: string,
50-
parameters?: Pagination
56+
parameters?: PaymentMethodParameters
5157
): Promise<AboundBulkResponse<PaymentMethod>> {
5258
return super.listForUser(userId, parameters);
5359
}

src/resources/TaxPayments.ts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Notes } from "./base/AboundResource";
1+
import { Notes, Pagination } from "./base/AboundResource";
22
import { AboundBulkResponse, AboundResponse } from "./base/AboundResponse";
33
import { AboundUserScopedResource } from "./base/AboundUserScopedResource";
44

@@ -10,6 +10,7 @@ export interface TaxPaymentRequest {
1010
entity: TaxPaymentEntity;
1111
paymentMethodId: string;
1212
notes?: Notes;
13+
foreignId?: string;
1314
}
1415

1516
export enum TaxPeriod {
@@ -62,6 +63,11 @@ export enum TaxPaymentEntity {
6263
WV = "WV",
6364
}
6465

66+
// query params
67+
export interface TaxPaymentParameters extends Pagination {
68+
foreignId?: string;
69+
}
70+
6571
// response body
6672
export interface TaxPayment extends TaxPaymentRequest {
6773
taxPaymentId: Readonly<string>;
@@ -97,8 +103,11 @@ export default class TaxPayments extends AboundUserScopedResource<
97103
return super.createForUser(userId, { taxPayment });
98104
}
99105

100-
public async list(userId: string): Promise<AboundBulkResponse<TaxPayment>> {
101-
return super.listForUser(userId);
106+
public async list(
107+
userId: string,
108+
parameters?: TaxPaymentParameters
109+
): Promise<AboundBulkResponse<TaxPayment>> {
110+
return super.listForUser(userId, parameters);
102111
}
103112

104113
public async retrieve(userId: string, taxPaymentId: string) {

src/resources/index.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
export { default as Users } from "./Users";
2-
export { default as PaymentMethods } from "./PaymentMethods";
3-
export { default as TaxPayments } from "./TaxPayments";
1+
export { default as AccessTokens } from "./AccessTokens";
2+
export { default as Documents } from "./Documents";
3+
export { default as Expenses } from "./Expenses";
44
export { default as Incomes } from "./Incomes";
55
export { default as Mileages } from "./Mileages";
6-
export { default as Expenses } from "./Expenses";
7-
export { default as Documents } from "./Documents";
8-
export { default as Taxes } from "./Taxes";
9-
export { default as TaxCategories } from "./TaxCategories";
106
export { default as Payers } from "./Payers";
7+
export { default as PaymentMethods } from "./PaymentMethods";
8+
export { default as TaxCategories } from "./TaxCategories";
9+
export { default as Taxes } from "./Taxes";
10+
export { default as TaxPayments } from "./TaxPayments";
11+
export { default as Users } from "./Users";

src/util/version.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
// Generated by genversion.
2-
export const version = "1.3.1";
2+
export const version = "1.4.0";

tests/resources/Documents.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,7 @@ describe("Abound Documents", () => {
380380
});
381381
});
382382

383-
// TODO restore this test after the API properly returns a 200 response
383+
// FIXME: restore this test after the API properly returns a 200 response
384384
describe.skip("retrieve", () => {
385385
it("returns a promise that resolves to an object that includes a single Document on success", async () => {
386386
const document: AboundResponse<Document> =

0 commit comments

Comments
 (0)