|
| 1 | +import { AbstractApi } from "../../../AbstractApi"; |
| 2 | +import { VtexHttpResponse } from "../../../../utils/VtexHttpResponse"; |
| 3 | +import { ListAllGiftCardProvidersResponseItem } from "./responses/ListAllGiftCardProvidersResponseItem"; |
| 4 | +import { CreateOrUpdateGiftCardProviderByIdRequest } from "./requests/CreateOrUpdateGiftCardProviderByIdRequest"; |
| 5 | + |
| 6 | +export class Provider extends AbstractApi { |
| 7 | + private static readonly BASE_PATH: string = "/api/giftcardproviders"; |
| 8 | + |
| 9 | + /** |
| 10 | + * Returns a collection of giftcard providers from a store. |
| 11 | + * @param {number} from |
| 12 | + * @param {number} to |
| 13 | + * @param {object} additionalHeaders |
| 14 | + */ |
| 15 | + listAllGiftCardProviders( |
| 16 | + from?: number, |
| 17 | + to?: number, |
| 18 | + additionalHeaders?: object |
| 19 | + ): Promise<VtexHttpResponse<Array<ListAllGiftCardProvidersResponseItem>>> { |
| 20 | + let headers: any = {}; |
| 21 | + if (from && to) { |
| 22 | + headers["REST-Range"] = `${from}-${to}`; |
| 23 | + } |
| 24 | + if (additionalHeaders) { |
| 25 | + headers = { ...headers, ...additionalHeaders }; |
| 26 | + } |
| 27 | + return this.vtexHttpClient.performRequest( |
| 28 | + Provider.BASE_PATH, |
| 29 | + this.HTTP_METHODS.GET, |
| 30 | + null, |
| 31 | + headers |
| 32 | + ); |
| 33 | + } |
| 34 | + |
| 35 | + /** |
| 36 | + * Returns a giftcard provider from a store. |
| 37 | + * @param {string} giftCardProviderId |
| 38 | + * @param {object} additionalHeaders |
| 39 | + */ |
| 40 | + getGiftCardProviderById( |
| 41 | + giftCardProviderId: string, |
| 42 | + additionalHeaders?: object |
| 43 | + ): Promise<VtexHttpResponse<ListAllGiftCardProvidersResponseItem>> { |
| 44 | + const path = `${Provider.BASE_PATH}/${giftCardProviderId}`; |
| 45 | + return this.vtexHttpClient.performRequest( |
| 46 | + path, |
| 47 | + this.HTTP_METHODS.GET, |
| 48 | + null, |
| 49 | + additionalHeaders |
| 50 | + ); |
| 51 | + } |
| 52 | + |
| 53 | + /** |
| 54 | + * Create or update a giftcard provider from a store. |
| 55 | + * @param {string} giftCardProviderId |
| 56 | + * @param {CreateOrUpdateGiftCardProviderByIdRequest} data |
| 57 | + * @param {object} additionalHeaders |
| 58 | + */ |
| 59 | + createOrUpdateGiftCardProviderById( |
| 60 | + giftCardProviderId: string, |
| 61 | + data: CreateOrUpdateGiftCardProviderByIdRequest, |
| 62 | + additionalHeaders?: object |
| 63 | + ): Promise<VtexHttpResponse<ListAllGiftCardProvidersResponseItem>> { |
| 64 | + const path = `${Provider.BASE_PATH}/${giftCardProviderId}`; |
| 65 | + return this.vtexHttpClient.performRequest( |
| 66 | + path, |
| 67 | + this.HTTP_METHODS.PUT, |
| 68 | + data, |
| 69 | + additionalHeaders |
| 70 | + ); |
| 71 | + } |
| 72 | + |
| 73 | + /** |
| 74 | + * Delete a giftcard provider from a store. |
| 75 | + * @param {string} giftCardProviderId |
| 76 | + * @param {object} additionalHeaders |
| 77 | + */ |
| 78 | + deleteGiftCardProviderById( |
| 79 | + giftCardProviderId: string, |
| 80 | + additionalHeaders?: object |
| 81 | + ): Promise<VtexHttpResponse<ListAllGiftCardProvidersResponseItem>> { |
| 82 | + const path = `${Provider.BASE_PATH}/${giftCardProviderId}`; |
| 83 | + return this.vtexHttpClient.performRequest( |
| 84 | + path, |
| 85 | + this.HTTP_METHODS.DELETE, |
| 86 | + null, |
| 87 | + additionalHeaders |
| 88 | + ); |
| 89 | + } |
| 90 | +} |
0 commit comments