From e56e2b50e4999ea7d344a66844eb19790445cf73 Mon Sep 17 00:00:00 2001 From: seanpertet Date: Fri, 26 May 2023 16:26:59 +0300 Subject: [PATCH 1/9] S48-1760: Add header overrides --- src/management/v3/index.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/management/v3/index.ts b/src/management/v3/index.ts index 825f328..243014d 100644 --- a/src/management/v3/index.ts +++ b/src/management/v3/index.ts @@ -25,6 +25,7 @@ export type ResponseData = export type Config = Omit & { readonly storeHash: string readonly accessToken: string + readonly customHeaders?: Record }; export class Client { @@ -37,7 +38,7 @@ export class Client { typeof configOrTransport === 'function' ? configOrTransport : fetchTransport({ - headers: { "X-Auth-Token": configOrTransport.accessToken }, + headers: { "X-Auth-Token": configOrTransport.accessToken, ...(configOrTransport.customHeaders || {}) }, baseUrl: `https://api.bigcommerce.com/stores/${configOrTransport.storeHash}/v3`, agent: configOrTransport.agent, }); From b200d8a6b831878c055c38e4320beab393ee318a Mon Sep 17 00:00:00 2001 From: seanpertet Date: Fri, 26 May 2023 16:45:49 +0300 Subject: [PATCH 2/9] S48-1760 npm run prepare --- lib/index.js | 6 +++++- lib/internal/reference/index.js | 6 +++++- lib/management/index.js | 6 +++++- lib/management/v2/index.d.ts | 2 +- lib/management/v3/index.d.ts | 3 ++- lib/management/v3/index.js | 2 +- lib/storefront/index.d.ts | 4 +--- 7 files changed, 20 insertions(+), 9 deletions(-) diff --git a/lib/index.js b/lib/index.js index 654722f..0d2343b 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,7 +1,11 @@ "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; diff --git a/lib/internal/reference/index.js b/lib/internal/reference/index.js index 36265a6..9aff76e 100644 --- a/lib/internal/reference/index.js +++ b/lib/internal/reference/index.js @@ -1,7 +1,11 @@ "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; diff --git a/lib/management/index.js b/lib/management/index.js index f557587..830b8ec 100644 --- a/lib/management/index.js +++ b/lib/management/index.js @@ -1,7 +1,11 @@ "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; diff --git a/lib/management/v2/index.d.ts b/lib/management/v2/index.d.ts index 67d4e77..7415232 100644 --- a/lib/management/v2/index.d.ts +++ b/lib/management/v2/index.d.ts @@ -6,7 +6,7 @@ export declare type Operations = reference.Operation; export declare type RequestLine = keyof Operations; export declare type NoParamsRequestLine = keyof OperationIndex.FilterOptionalParams; export declare type InferResponse = NarrowResponse, Operations[ReqLine]['response']>; -export declare type ResponseData = Response.Success> extends { +export declare type ResponseData = Response.Success> extends { readonly body: infer Data; } ? Data : never; export declare type Config = Omit & { diff --git a/lib/management/v3/index.d.ts b/lib/management/v3/index.d.ts index 520d83d..c13f108 100644 --- a/lib/management/v3/index.d.ts +++ b/lib/management/v3/index.d.ts @@ -6,7 +6,7 @@ import { RemoveStart } from "../../internal/type-utils"; export declare type Operations = reference.Operation; export declare type RequestLine = keyof Operations; export declare type NoParamsRequestLine = keyof OperationIndex.FilterOptionalParams; -export declare type InferResponse = NarrowResponse, Operations[ReqLine]['response']>; +export declare type InferResponse = NarrowResponse, Operations[ReqLine]['response']>; export declare type ResponseData = Response.Success> extends { readonly body: { readonly data?: infer Data; @@ -15,6 +15,7 @@ export declare type ResponseData export declare type Config = Omit & { readonly storeHash: string; readonly accessToken: string; + readonly customHeaders?: Record; }; export declare class Client { constructor(config: Config); diff --git a/lib/management/v3/index.js b/lib/management/v3/index.js index facff66..14c9b99 100644 --- a/lib/management/v3/index.js +++ b/lib/management/v3/index.js @@ -8,7 +8,7 @@ class Client { typeof configOrTransport === 'function' ? configOrTransport : (0, operation_1.fetchTransport)({ - headers: { "X-Auth-Token": configOrTransport.accessToken }, + headers: { "X-Auth-Token": configOrTransport.accessToken, ...(configOrTransport.customHeaders || {}) }, baseUrl: `https://api.bigcommerce.com/stores/${configOrTransport.storeHash}/v3`, agent: configOrTransport.agent, }); diff --git a/lib/storefront/index.d.ts b/lib/storefront/index.d.ts index a0688be..ff0250e 100644 --- a/lib/storefront/index.d.ts +++ b/lib/storefront/index.d.ts @@ -5,20 +5,18 @@ import { Const } from "../internal/type-utils"; export declare type Operations = reference.Operation; export declare type RequestLine = keyof Operations; export declare type NoParamsRequestLine = keyof OperationIndex.FilterOptionalParams; -export declare type InferResponse = NarrowResponse, Operations[ReqLine]['response']>; +export declare type InferResponse = NarrowResponse, Operations[ReqLine]['response']>; export declare type ResponseData = Response.Success> extends { readonly body: infer Data; } ? Data : never; export interface Client { send(requestLine: ReqLine): Promise>; send>(requestLine: ReqLine, params: Const>): Promise>; - delete>(requestLine: Path): Promise | null>; delete, Params extends Operation.MinimalInput>(path: Path, params: Const>): Promise | null>; get>(requestLine: Path): Promise | null>; get, Params extends Operation.MinimalInput>(path: Path, params: Const>): Promise | null>; post>(requestLine: Path): Promise>; post, Params extends Operation.MinimalInput>(path: Path, params: Const>): Promise>; - put>(requestLine: Path): Promise>; put, Params extends Operation.MinimalInput>(path: Path, params: Const>): Promise>; } declare type ResolveResponse = unknown extends Params ? Operations[ReqLine]['response'] : Params extends Parameters ? InferResponse : never; From 2b4b88e215eba7af9fefdced177687a1a7a6c5eb Mon Sep 17 00:00:00 2001 From: seanpertet Date: Fri, 26 May 2023 16:55:07 +0300 Subject: [PATCH 3/9] S48-1760 Re add typescript fix --- lib/management/v2/index.d.ts | 2 +- src/management/v2/index.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/management/v2/index.d.ts b/lib/management/v2/index.d.ts index 7415232..67d4e77 100644 --- a/lib/management/v2/index.d.ts +++ b/lib/management/v2/index.d.ts @@ -6,7 +6,7 @@ export declare type Operations = reference.Operation; export declare type RequestLine = keyof Operations; export declare type NoParamsRequestLine = keyof OperationIndex.FilterOptionalParams; export declare type InferResponse = NarrowResponse, Operations[ReqLine]['response']>; -export declare type ResponseData = Response.Success> extends { +export declare type ResponseData = Response.Success> extends { readonly body: infer Data; } ? Data : never; export declare type Config = Omit & { diff --git a/src/management/v2/index.ts b/src/management/v2/index.ts index d0247fe..74f2d3a 100644 --- a/src/management/v2/index.ts +++ b/src/management/v2/index.ts @@ -16,7 +16,7 @@ export type InferResponse; -export type ResponseData = +export type ResponseData = Response.Success> extends { readonly body: infer Data } ? Data : never; From 9c421a8001638fffe2378c54cc40383276baba32 Mon Sep 17 00:00:00 2001 From: seanpertet Date: Fri, 26 May 2023 17:06:18 +0300 Subject: [PATCH 4/9] 0.3.3-alpha --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index b79119f..b0ee52d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@space48/bigcommerce-api", - "version": "0.3.2", + "version": "0.3.3-alpha", "lockfileVersion": 3, "requires": true, "packages": { diff --git a/package.json b/package.json index ad9f4dd..eb8a8c8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@space48/bigcommerce-api", - "version": "0.3.2", + "version": "0.3.3-alpha", "description": "", "main": "lib/index.js", "types": "lib/index.d.ts", From eb25fa041047dafd91449b3fbf1a211fcbc1f8ed Mon Sep 17 00:00:00 2001 From: seanpertet Date: Thu, 8 Jun 2023 19:24:41 +0300 Subject: [PATCH 5/9] S48-1760 Add custom headers to the rest of the client versions --- lib/management/index.d.ts | 1 + lib/management/v2/index.d.ts | 1 + src/management/index.ts | 3 ++- src/management/v2/index.ts | 3 ++- 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/management/index.d.ts b/lib/management/index.d.ts index a177963..cbd566a 100644 --- a/lib/management/index.d.ts +++ b/lib/management/index.d.ts @@ -8,6 +8,7 @@ export declare type Config = { readonly storeHash: string; readonly accessToken: string; readonly agent?: Agent; + readonly customHeaders?: Record; }; /** * If you need to use a path which is not part if the spec, you can pass it diff --git a/lib/management/v2/index.d.ts b/lib/management/v2/index.d.ts index 67d4e77..9e54117 100644 --- a/lib/management/v2/index.d.ts +++ b/lib/management/v2/index.d.ts @@ -12,6 +12,7 @@ export declare type ResponseData & { readonly storeHash: string; readonly accessToken: string; + readonly customHeaders?: Record; }; export declare class Client { constructor(config: Config); diff --git a/src/management/index.ts b/src/management/index.ts index 8fa2eaa..d74fb38 100644 --- a/src/management/index.ts +++ b/src/management/index.ts @@ -8,7 +8,8 @@ export * as V3 from "./v3"; export type Config = { readonly storeHash: string; readonly accessToken: string; - readonly agent?: Agent + readonly agent?: Agent, + readonly customHeaders?: Record }; /** diff --git a/src/management/v2/index.ts b/src/management/v2/index.ts index 74f2d3a..c3a7305 100644 --- a/src/management/v2/index.ts +++ b/src/management/v2/index.ts @@ -23,7 +23,8 @@ export type ResponseData export type Config = Omit & { readonly storeHash: string - readonly accessToken: string + readonly accessToken: string, + readonly customHeaders?: Record }; export class Client { From 98d8803cbb04402907da30f9eae16512b00c6972 Mon Sep 17 00:00:00 2001 From: seanpertet Date: Thu, 8 Jun 2023 19:26:00 +0300 Subject: [PATCH 6/9] 0.3.3-alpha2 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index b0ee52d..e8da917 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@space48/bigcommerce-api", - "version": "0.3.3-alpha", + "version": "0.3.3-alpha2", "lockfileVersion": 3, "requires": true, "packages": { diff --git a/package.json b/package.json index eb8a8c8..277be7d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@space48/bigcommerce-api", - "version": "0.3.3-alpha", + "version": "0.3.3-alpha2", "description": "", "main": "lib/index.js", "types": "lib/index.d.ts", From a36ec0a1e92d2ac7a767f8202190116402e1fd70 Mon Sep 17 00:00:00 2001 From: seanpertet Date: Thu, 8 Jun 2023 19:36:15 +0300 Subject: [PATCH 7/9] S48-1760 Add custom headers in v2 --- src/management/v2/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/management/v2/index.ts b/src/management/v2/index.ts index c3a7305..256f8e0 100644 --- a/src/management/v2/index.ts +++ b/src/management/v2/index.ts @@ -39,7 +39,7 @@ export class Client { : fetchTransport({ agent: configOrTransport.agent, baseUrl: `https://api.bigcommerce.com/stores/${configOrTransport.storeHash}/v2`, - headers: { "X-Auth-Token": configOrTransport.accessToken }, + headers: { "X-Auth-Token": configOrTransport.accessToken, ...(configOrTransport.customHeaders || {}) }, }); } From 2d5a8b1948ba99633d2120cfe9b3e33680002888 Mon Sep 17 00:00:00 2001 From: seanpertet Date: Thu, 8 Jun 2023 19:36:49 +0300 Subject: [PATCH 8/9] Lib changes --- lib/management/v2/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/management/v2/index.js b/lib/management/v2/index.js index 2ecf553..f2aa1d9 100644 --- a/lib/management/v2/index.js +++ b/lib/management/v2/index.js @@ -10,7 +10,7 @@ class Client { : (0, operation_1.fetchTransport)({ agent: configOrTransport.agent, baseUrl: `https://api.bigcommerce.com/stores/${configOrTransport.storeHash}/v2`, - headers: { "X-Auth-Token": configOrTransport.accessToken }, + headers: { "X-Auth-Token": configOrTransport.accessToken, ...(configOrTransport.customHeaders || {}) }, }); } async send(requestLine, params) { From 0ca42860adef3e43bf2f2ce275efc744f007d9a2 Mon Sep 17 00:00:00 2001 From: seanpertet Date: Thu, 8 Jun 2023 19:37:22 +0300 Subject: [PATCH 9/9] 0.3.3-alpha3 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index e8da917..0a02ab7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@space48/bigcommerce-api", - "version": "0.3.3-alpha2", + "version": "0.3.3-alpha3", "lockfileVersion": 3, "requires": true, "packages": { diff --git a/package.json b/package.json index 277be7d..140bd2a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@space48/bigcommerce-api", - "version": "0.3.3-alpha2", + "version": "0.3.3-alpha3", "description": "", "main": "lib/index.js", "types": "lib/index.d.ts",