Skip to content

Commit

Permalink
feat(api): OpenAPI spec update via Stainless API (#27)
Browse files Browse the repository at this point in the history
  • Loading branch information
stainless-app[bot] authored and stainless-bot committed Jun 25, 2024
1 parent 9abd642 commit 6b45733
Show file tree
Hide file tree
Showing 8 changed files with 4 additions and 150 deletions.
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
configured_endpoints: 11
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/terminal%2Fterminal-32fe9b4bbdb9e8b459c5b553e9975596f610339a9c8b28a256c3eb107959c66d.yml
configured_endpoints: 7
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/terminal%2Fterminal-abfee3a6a37fef91c3d02258502bc01d577066ce931dbe31f1dfa243fc4e523d.yml
8 changes: 0 additions & 8 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,26 +47,18 @@ Methods:

Types:

- <code><a href="./src/resources/card.ts">CardCreateResponse</a></code>
- <code><a href="./src/resources/card.ts">CardListResponse</a></code>

Methods:

- <code title="post /card">client.card.<a href="./src/resources/card.ts">create</a>({ ...params }) -> CardCreateResponse</code>
- <code title="get /card">client.card.<a href="./src/resources/card.ts">list</a>() -> CardListResponse</code>

# Cart

Types:

- <code><a href="./src/resources/cart.ts">CartListResponse</a></code>
- <code><a href="./src/resources/cart.ts">CartSetCardResponse</a></code>
- <code><a href="./src/resources/cart.ts">CartSetItemResponse</a></code>
- <code><a href="./src/resources/cart.ts">CartSetShippingResponse</a></code>

Methods:

- <code title="get /cart">client.cart.<a href="./src/resources/cart.ts">list</a>() -> CartListResponse</code>
- <code title="put /cart/card">client.cart.<a href="./src/resources/cart.ts">setCard</a>({ ...params }) -> CartSetCardResponse</code>
- <code title="put /cart/item">client.cart.<a href="./src/resources/cart.ts">setItem</a>({ ...params }) -> CartSetItemResponse</code>
- <code title="put /cart/shipping">client.cart.<a href="./src/resources/cart.ts">setShipping</a>({ ...params }) -> CartSetShippingResponse</code>
8 changes: 0 additions & 8 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -211,18 +211,10 @@ export namespace Terminal {
export import UserMeResponse = API.UserMeResponse;

export import Card = API.Card;
export import CardCreateResponse = API.CardCreateResponse;
export import CardListResponse = API.CardListResponse;
export import CardCreateParams = API.CardCreateParams;

export import Cart = API.Cart;
export import CartListResponse = API.CartListResponse;
export import CartSetCardResponse = API.CartSetCardResponse;
export import CartSetItemResponse = API.CartSetItemResponse;
export import CartSetShippingResponse = API.CartSetShippingResponse;
export import CartSetCardParams = API.CartSetCardParams;
export import CartSetItemParams = API.CartSetItemParams;
export import CartSetShippingParams = API.CartSetShippingParams;

export import Address = API.Address;
export import Card = API.Card;
Expand Down
14 changes: 0 additions & 14 deletions src/resources/card.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,15 @@ import * as CardAPI from '@terminal/sdk/resources/card';
import * as Shared from '@terminal/sdk/resources/shared';

export class Card extends APIResource {
create(body: CardCreateParams, options?: Core.RequestOptions): Core.APIPromise<CardCreateResponse> {
return this._client.post('/card', { body, ...options });
}

list(options?: Core.RequestOptions): Core.APIPromise<CardListResponse> {
return this._client.get('/card', options);
}
}

export interface CardCreateResponse {
result: string;
}

export interface CardListResponse {
result: Array<Shared.Card>;
}

export interface CardCreateParams {
token: string;
}

export namespace Card {
export import CardCreateResponse = CardAPI.CardCreateResponse;
export import CardListResponse = CardAPI.CardListResponse;
export import CardCreateParams = CardAPI.CardCreateParams;
}
47 changes: 0 additions & 47 deletions src/resources/cart.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,59 +9,12 @@ export class Cart extends APIResource {
list(options?: Core.RequestOptions): Core.APIPromise<CartListResponse> {
return this._client.get('/cart', options);
}

setCard(body: CartSetCardParams, options?: Core.RequestOptions): Core.APIPromise<CartSetCardResponse> {
return this._client.put('/cart/card', { body, ...options });
}

setItem(body: CartSetItemParams, options?: Core.RequestOptions): Core.APIPromise<CartSetItemResponse> {
return this._client.put('/cart/item', { body, ...options });
}

setShipping(
body: CartSetShippingParams,
options?: Core.RequestOptions,
): Core.APIPromise<CartSetShippingResponse> {
return this._client.put('/cart/shipping', { body, ...options });
}
}

export interface CartListResponse {
result: Shared.Cart;
}

export interface CartSetCardResponse {
result: 'ok';
}

export interface CartSetItemResponse {
result: Shared.Cart;
}

export interface CartSetShippingResponse {
result: 'ok';
}

export interface CartSetCardParams {
cardID: string;
}

export interface CartSetItemParams {
productVariantID: string;

quantity: number;
}

export interface CartSetShippingParams {
shippingID: string;
}

export namespace Cart {
export import CartListResponse = CartAPI.CartListResponse;
export import CartSetCardResponse = CartAPI.CartSetCardResponse;
export import CartSetItemResponse = CartAPI.CartSetItemResponse;
export import CartSetShippingResponse = CartAPI.CartSetShippingResponse;
export import CartSetCardParams = CartAPI.CartSetCardParams;
export import CartSetItemParams = CartAPI.CartSetItemParams;
export import CartSetShippingParams = CartAPI.CartSetShippingParams;
}
13 changes: 2 additions & 11 deletions src/resources/index.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,7 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

export * from './shared';
export { CardCreateResponse, CardListResponse, CardCreateParams, Card } from './card';
export {
CartListResponse,
CartSetCardResponse,
CartSetItemResponse,
CartSetShippingResponse,
CartSetCardParams,
CartSetItemParams,
CartSetShippingParams,
Cart,
} from './cart';
export { CardListResponse, Card } from './card';
export { CartListResponse, Cart } from './cart';
export { ProductListResponse, Product } from './product';
export { UserMeResponse, User } from './user/user';
15 changes: 0 additions & 15 deletions tests/api-resources/card.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,6 @@ const terminal = new Terminal({
});

describe('resource card', () => {
test('create: only required params', async () => {
const responsePromise = terminal.card.create({ token: 'string' });
const rawResponse = await responsePromise.asResponse();
expect(rawResponse).toBeInstanceOf(Response);
const response = await responsePromise;
expect(response).not.toBeInstanceOf(Response);
const dataAndResponse = await responsePromise.withResponse();
expect(dataAndResponse.data).toBe(response);
expect(dataAndResponse.response).toBe(rawResponse);
});

test('create: required and optional params', async () => {
const response = await terminal.card.create({ token: 'string' });
});

test('list', async () => {
const responsePromise = terminal.card.list();
const rawResponse = await responsePromise.asResponse();
Expand Down
45 changes: 0 additions & 45 deletions tests/api-resources/cart.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,49 +26,4 @@ describe('resource cart', () => {
Terminal.NotFoundError,
);
});

test('setCard: only required params', async () => {
const responsePromise = terminal.cart.setCard({ cardID: 'string' });
const rawResponse = await responsePromise.asResponse();
expect(rawResponse).toBeInstanceOf(Response);
const response = await responsePromise;
expect(response).not.toBeInstanceOf(Response);
const dataAndResponse = await responsePromise.withResponse();
expect(dataAndResponse.data).toBe(response);
expect(dataAndResponse.response).toBe(rawResponse);
});

test('setCard: required and optional params', async () => {
const response = await terminal.cart.setCard({ cardID: 'string' });
});

test('setItem: only required params', async () => {
const responsePromise = terminal.cart.setItem({ productVariantID: 'string', quantity: 0 });
const rawResponse = await responsePromise.asResponse();
expect(rawResponse).toBeInstanceOf(Response);
const response = await responsePromise;
expect(response).not.toBeInstanceOf(Response);
const dataAndResponse = await responsePromise.withResponse();
expect(dataAndResponse.data).toBe(response);
expect(dataAndResponse.response).toBe(rawResponse);
});

test('setItem: required and optional params', async () => {
const response = await terminal.cart.setItem({ productVariantID: 'string', quantity: 0 });
});

test('setShipping: only required params', async () => {
const responsePromise = terminal.cart.setShipping({ shippingID: 'string' });
const rawResponse = await responsePromise.asResponse();
expect(rawResponse).toBeInstanceOf(Response);
const response = await responsePromise;
expect(response).not.toBeInstanceOf(Response);
const dataAndResponse = await responsePromise.withResponse();
expect(dataAndResponse.data).toBe(response);
expect(dataAndResponse.response).toBe(rawResponse);
});

test('setShipping: required and optional params', async () => {
const response = await terminal.cart.setShipping({ shippingID: 'string' });
});
});

0 comments on commit 6b45733

Please sign in to comment.