@innvoid/getmarket-sdk 0.2.6 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-5S2JP7PR.js → chunk-4KD6646F.js} +12 -1
- package/dist/chunk-4KD6646F.js.map +1 -0
- package/dist/{chunk-7KD7EQ2O.js → chunk-PBN2JCRX.js} +205 -31
- package/dist/chunk-PBN2JCRX.js.map +1 -0
- package/dist/clients/index.cjs +203 -29
- package/dist/clients/index.cjs.map +1 -1
- package/dist/clients/index.d.cts +39 -22
- package/dist/clients/index.d.ts +39 -22
- package/dist/clients/index.js +2 -2
- package/dist/core/index.cjs +14 -2
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +6 -2
- package/dist/core/index.d.ts +6 -2
- package/dist/core/index.js +5 -3
- package/dist/index.cjs +217 -31
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/chunk-5S2JP7PR.js.map +0 -1
- package/dist/chunk-7KD7EQ2O.js.map +0 -1
package/dist/core/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/index.ts","../../src/core/errors.ts","../../src/core/http.ts","../../src/core/internalHttp.ts"],"sourcesContent":["// sdk/src/core/index.ts\n\nexport * from \"./errors\";\nexport * from \"./http\";\nexport * from \"./internalHttp\";\n","export type ClientErrorCode =\n | \"UPSTREAM_TIMEOUT\"\n | \"UPSTREAM_UNAVAILABLE\"\n | \"UPSTREAM_BAD_RESPONSE\"\n | \"UPSTREAM_NOT_FOUND\"\n | \"UPSTREAM_UNAUTHORIZED\"\n | \"UPSTREAM_FORBIDDEN\"\n | \"UPSTREAM_UNKNOWN\";\n\nexport class UpstreamError extends Error {\n public code: ClientErrorCode;\n public status?: number;\n public details?: any;\n\n constructor(message: string, code: ClientErrorCode, status?: number, details?: any) {\n super(message);\n this.name = \"UpstreamError\";\n this.code = code;\n this.status = status;\n this.details = details;\n }\n}\n\nexport function mapAxiosToUpstreamError(err: any, svc: string): UpstreamError {\n const status = err?.response?.status;\n const data = err?.response?.data;\n const isTimeout = err?.code === \"ECONNABORTED\" || String(err?.message || \"\").includes(\"timeout\");\n\n if (isTimeout) {\n return new UpstreamError(`[${svc}] timeout`, \"UPSTREAM_TIMEOUT\", 504, {cause: err?.message});\n }\n if (!err?.response) {\n return new UpstreamError(`[${svc}] unavailable`, \"UPSTREAM_UNAVAILABLE\", 503, {cause: err?.message});\n }\n if (status === 404) return new UpstreamError(`[${svc}] not found`, \"UPSTREAM_NOT_FOUND\", 404, data);\n if (status === 401) return new UpstreamError(`[${svc}] unauthorized`, \"UPSTREAM_UNAUTHORIZED\", 401, data);\n if (status === 403) return new UpstreamError(`[${svc}] forbidden`, \"UPSTREAM_FORBIDDEN\", 403, data);\n if (status >= 400 && status < 600) {\n return new UpstreamError(`[${svc}] bad response`, \"UPSTREAM_BAD_RESPONSE\", status, data);\n }\n return new UpstreamError(`[${svc}] unknown error`, \"UPSTREAM_UNKNOWN\", status, data);\n}\n","// sdk/src/core/http.ts\nimport axios, {AxiosInstance, AxiosRequestConfig} from \"axios\";\n\nexport type HttpClient = AxiosInstance;\n\nexport type HttpClientOpts = {\n baseURL: string;\n timeoutMs?: number;\n headers?: Record<string, string>;\n};\n\nexport function createHttpClient(opts: HttpClientOpts): HttpClient {\n return axios.create({\n baseURL: opts.baseURL.replace(/\\/+$/, \"\"),\n timeout: opts.timeoutMs ?? 8000,\n headers: opts.headers ?? {},\n } satisfies AxiosRequestConfig);\n}\n","// clients/internalHttp.ts\n\ntype RetryPolicy = {\n retries: number;\n baseDelayMs: number;\n retryOnStatuses: number[];\n retryOnNetworkErrors: boolean;\n};\n\ntype InternalHttpOptions = {\n baseUrl: string;\n apiKey?: string; // x-internal-api-key\n timeoutMs?: number;\n retry?: Partial<RetryPolicy>;\n};\n\nconst DEFAULT_RETRY: RetryPolicy = {\n retries: 1,\n baseDelayMs: 150,\n retryOnStatuses: [429, 502, 503, 504],\n retryOnNetworkErrors: true,\n};\n\nfunction sleep(ms: number) {\n return new Promise((r) => setTimeout(r, ms));\n}\n\nfunction safeJsonStringify(v: any) {\n try {\n return JSON.stringify(v);\n } catch {\n return String(v);\n }\n}\n\nfunction toHeaders(init?: HeadersInit): Headers {\n return new Headers(init || {});\n}\n\nfunction isJsonContentType(contentType: string | null): boolean {\n if (!contentType) return false;\n const ct = contentType.toLowerCase();\n return ct.includes(\"application/json\") || ct.includes(\"+json\");\n}\n\nfunction isAbortError(e: any): boolean {\n return e?.name === \"AbortError\";\n}\n\nfunction withJitter(ms: number): number {\n // jitter +-20%\n const jitter = ms * 0.2;\n const delta = (Math.random() * 2 - 1) * jitter;\n return Math.max(0, Math.floor(ms + delta));\n}\n\nexport class InternalHttp {\n private readonly baseUrl: string;\n private readonly apiKey: string | undefined;\n private readonly timeoutMs: number;\n private retry: RetryPolicy;\n\n constructor(opts: InternalHttpOptions) {\n this.baseUrl = opts.baseUrl.replace(/\\/+$/, \"\");\n this.apiKey = opts.apiKey;\n\n // ✅ Default más seguro para internas (evita cascadas)\n this.timeoutMs = opts.timeoutMs ?? 4000;\n\n this.retry = {...DEFAULT_RETRY, ...(opts.retry || {})};\n }\n\n async request<T>(\n path: string,\n init: RequestInit & {\n requestId?: string;\n idempotencyKey?: string;\n headers?: HeadersInit;\n } = {}\n ): Promise<T> {\n const url = `${this.baseUrl}${path.startsWith(\"/\") ? \"\" : \"/\"}${path}`;\n\n const baseHeaders = toHeaders(init.headers);\n\n if (!baseHeaders.has(\"Content-Type\")) baseHeaders.set(\"Content-Type\", \"application/json\");\n if (this.apiKey) baseHeaders.set(\"x-internal-api-key\", this.apiKey);\n\n if (init.requestId) baseHeaders.set(\"x-request-id\", init.requestId);\n if (init.idempotencyKey) baseHeaders.set(\"Idempotency-Key\", init.idempotencyKey);\n\n const {headers: _ignored, ...restInit} = init;\n\n const doFetchOnce = async () => {\n const controller = new AbortController();\n const timeout = setTimeout(() => controller.abort(), this.timeoutMs);\n\n try {\n const res = await fetch(url, {\n ...restInit,\n headers: baseHeaders,\n signal: controller.signal,\n });\n\n if (!res.ok) {\n const text = await res.text().catch(() => \"\");\n const err: any = new Error(\n `HTTP ${res.status} ${res.statusText}${text ? ` - ${text}` : \"\"}`\n );\n err.status = res.status;\n err.body = text;\n throw err;\n }\n\n if (res.status === 204) return undefined as unknown as T;\n\n const contentType = res.headers.get(\"content-type\");\n if (isJsonContentType(contentType)) {\n return (await res.json()) as T;\n }\n\n const text = await res.text().catch(() => \"\");\n return text as unknown as T;\n } finally {\n clearTimeout(timeout);\n }\n };\n\n let attempt = 0;\n\n while (true) {\n try {\n return await doFetchOnce();\n } catch (e: any) {\n attempt++;\n\n const status = e?.status;\n const retryableStatus = !!status && this.retry.retryOnStatuses.includes(status);\n\n const retryableNetwork =\n this.retry.retryOnNetworkErrors &&\n (isAbortError(e) || !status); // sin status suele ser red/dns/timeout\n\n const isRetryable = retryableStatus || retryableNetwork;\n\n if (!isRetryable || attempt > this.retry.retries) {\n console.error(\n `[InternalHttp] request failed: ${url} attempt=${attempt} status=${status ?? \"n/a\"} err=${e?.message\n } body=${safeJsonStringify(e?.body)}`\n );\n throw e;\n }\n\n const backoff = withJitter(this.retry.baseDelayMs * attempt);\n await sleep(backoff);\n }\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACSO,IAAM,gBAAN,cAA4B,MAAM;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EAEP,YAAY,SAAiB,MAAuB,QAAiB,SAAe;AAChF,UAAM,OAAO;AACb,SAAK,OAAO;AACZ,SAAK,OAAO;AACZ,SAAK,SAAS;AACd,SAAK,UAAU;AAAA,EACnB;AACJ;AAEO,SAAS,wBAAwB,KAAU,KAA4B;AAC1E,QAAM,SAAS,KAAK,UAAU;AAC9B,QAAM,OAAO,KAAK,UAAU;AAC5B,QAAM,YAAY,KAAK,SAAS,kBAAkB,OAAO,KAAK,WAAW,EAAE,EAAE,SAAS,SAAS;AAE/F,MAAI,WAAW;AACX,WAAO,IAAI,cAAc,IAAI,GAAG,aAAa,oBAAoB,KAAK,EAAC,OAAO,KAAK,QAAO,CAAC;AAAA,EAC/F;AACA,MAAI,CAAC,KAAK,UAAU;AAChB,WAAO,IAAI,cAAc,IAAI,GAAG,iBAAiB,wBAAwB,KAAK,EAAC,OAAO,KAAK,QAAO,CAAC;AAAA,EACvG;AACA,MAAI,WAAW,IAAK,QAAO,IAAI,cAAc,IAAI,GAAG,eAAe,sBAAsB,KAAK,IAAI;AAClG,MAAI,WAAW,IAAK,QAAO,IAAI,cAAc,IAAI,GAAG,kBAAkB,yBAAyB,KAAK,IAAI;AACxG,MAAI,WAAW,IAAK,QAAO,IAAI,cAAc,IAAI,GAAG,eAAe,sBAAsB,KAAK,IAAI;AAClG,MAAI,UAAU,OAAO,SAAS,KAAK;AAC/B,WAAO,IAAI,cAAc,IAAI,GAAG,kBAAkB,yBAAyB,QAAQ,IAAI;AAAA,EAC3F;AACA,SAAO,IAAI,cAAc,IAAI,GAAG,mBAAmB,oBAAoB,QAAQ,IAAI;AACvF;;;ACxCA,mBAAuD;AAUhD,SAAS,iBAAiB,MAAkC;AACjE,SAAO,aAAAA,QAAM,OAAO;AAAA,IAClB,SAAS,KAAK,QAAQ,QAAQ,QAAQ,EAAE;AAAA,IACxC,SAAS,KAAK,aAAa;AAAA,IAC3B,SAAS,KAAK,WAAW,CAAC;AAAA,EAC5B,CAA8B;AAChC;;;ACDA,IAAM,gBAA6B;AAAA,EAC/B,SAAS;AAAA,EACT,aAAa;AAAA,EACb,iBAAiB,CAAC,KAAK,KAAK,KAAK,GAAG;AAAA,EACpC,sBAAsB;AAC1B;AAEA,SAAS,MAAM,IAAY;AACvB,SAAO,IAAI,QAAQ,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC;AAC/C;AAEA,SAAS,kBAAkB,GAAQ;AAC/B,MAAI;AACA,WAAO,KAAK,UAAU,CAAC;AAAA,EAC3B,QAAQ;AACJ,WAAO,OAAO,CAAC;AAAA,EACnB;AACJ;AAEA,SAAS,UAAU,MAA6B;AAC5C,SAAO,IAAI,QAAQ,QAAQ,CAAC,CAAC;AACjC;AAEA,SAAS,kBAAkB,aAAqC;AAC5D,MAAI,CAAC,YAAa,QAAO;AACzB,QAAM,KAAK,YAAY,YAAY;AACnC,SAAO,GAAG,SAAS,kBAAkB,KAAK,GAAG,SAAS,OAAO;AACjE;AAEA,SAAS,aAAa,GAAiB;AACnC,SAAO,GAAG,SAAS;AACvB;AAEA,SAAS,WAAW,IAAoB;AAEpC,QAAM,SAAS,KAAK;AACpB,QAAM,SAAS,KAAK,OAAO,IAAI,IAAI,KAAK;AACxC,SAAO,KAAK,IAAI,GAAG,KAAK,MAAM,KAAK,KAAK,CAAC;AAC7C;AAEO,IAAM,eAAN,MAAmB;AAAA,EACL;AAAA,EACA;AAAA,EACA;AAAA,EACT;AAAA,EAER,YAAY,MAA2B;AACnC,SAAK,UAAU,KAAK,QAAQ,QAAQ,QAAQ,EAAE;AAC9C,SAAK,SAAS,KAAK;AAGnB,SAAK,YAAY,KAAK,aAAa;AAEnC,SAAK,QAAQ,EAAC,GAAG,eAAe,GAAI,KAAK,SAAS,CAAC,EAAE;AAAA,EACzD;AAAA,EAEA,MAAM,QACF,MACA,OAII,CAAC,GACK;AACV,UAAM,MAAM,GAAG,KAAK,OAAO,GAAG,KAAK,WAAW,GAAG,IAAI,KAAK,GAAG,GAAG,IAAI;AAEpE,UAAM,cAAc,UAAU,KAAK,OAAO;AAE1C,QAAI,CAAC,YAAY,IAAI,cAAc,EAAG,aAAY,IAAI,gBAAgB,kBAAkB;AACxF,QAAI,KAAK,OAAQ,aAAY,IAAI,sBAAsB,KAAK,MAAM;AAElE,QAAI,KAAK,UAAW,aAAY,IAAI,gBAAgB,KAAK,SAAS;AAClE,QAAI,KAAK,eAAgB,aAAY,IAAI,mBAAmB,KAAK,cAAc;AAE/E,UAAM,EAAC,SAAS,UAAU,GAAG,SAAQ,IAAI;AAEzC,UAAM,cAAc,YAAY;AAC5B,YAAM,aAAa,IAAI,gBAAgB;AACvC,YAAM,UAAU,WAAW,MAAM,WAAW,MAAM,GAAG,KAAK,SAAS;AAEnE,UAAI;AACA,cAAM,MAAM,MAAM,MAAM,KAAK;AAAA,UACzB,GAAG;AAAA,UACH,SAAS;AAAA,UACT,QAAQ,WAAW;AAAA,QACvB,CAAC;AAED,YAAI,CAAC,IAAI,IAAI;AACT,gBAAMC,QAAO,MAAM,IAAI,KAAK,EAAE,MAAM,MAAM,EAAE;AAC5C,gBAAM,MAAW,IAAI;AAAA,YACjB,QAAQ,IAAI,MAAM,IAAI,IAAI,UAAU,GAAGA,QAAO,MAAMA,KAAI,KAAK,EAAE;AAAA,UACnE;AACA,cAAI,SAAS,IAAI;AACjB,cAAI,OAAOA;AACX,gBAAM;AAAA,QACV;AAEA,YAAI,IAAI,WAAW,IAAK,QAAO;AAE/B,cAAM,cAAc,IAAI,QAAQ,IAAI,cAAc;AAClD,YAAI,kBAAkB,WAAW,GAAG;AAChC,iBAAQ,MAAM,IAAI,KAAK;AAAA,QAC3B;AAEA,cAAM,OAAO,MAAM,IAAI,KAAK,EAAE,MAAM,MAAM,EAAE;AAC5C,eAAO;AAAA,MACX,UAAE;AACE,qBAAa,OAAO;AAAA,MACxB;AAAA,IACJ;AAEA,QAAI,UAAU;AAEd,WAAO,MAAM;AACT,UAAI;AACA,eAAO,MAAM,YAAY;AAAA,MAC7B,SAAS,GAAQ;AACb;AAEA,cAAM,SAAS,GAAG;AAClB,cAAM,kBAAkB,CAAC,CAAC,UAAU,KAAK,MAAM,gBAAgB,SAAS,MAAM;AAE9E,cAAM,mBACF,KAAK,MAAM,yBACV,aAAa,CAAC,KAAK,CAAC;AAEzB,cAAM,cAAc,mBAAmB;AAEvC,YAAI,CAAC,eAAe,UAAU,KAAK,MAAM,SAAS;AAC9C,kBAAQ;AAAA,YACJ,kCAAkC,GAAG,YAAY,OAAO,WAAW,UAAU,KAAK,QAAQ,GAAG,OAC7F,SAAS,kBAAkB,GAAG,IAAI,CAAC;AAAA,UACvC;AACA,gBAAM;AAAA,QACV;AAEA,cAAM,UAAU,WAAW,KAAK,MAAM,cAAc,OAAO;AAC3D,cAAM,MAAM,OAAO;AAAA,MACvB;AAAA,IACJ;AAAA,EACJ;AACJ;","names":["axios","text"]}
|
|
1
|
+
{"version":3,"sources":["../../src/core/index.ts","../../src/core/errors.ts","../../src/core/http.ts","../../src/core/internalHttp.ts"],"sourcesContent":["// sdk/src/core/index.ts\n\nexport * from \"./errors\";\nexport * from \"./http\";\nexport * from \"./internalHttp\";\n","export type ClientErrorCode =\n | \"UPSTREAM_TIMEOUT\"\n | \"UPSTREAM_UNAVAILABLE\"\n | \"UPSTREAM_BAD_RESPONSE\"\n | \"UPSTREAM_NOT_FOUND\"\n | \"UPSTREAM_UNAUTHORIZED\"\n | \"UPSTREAM_FORBIDDEN\"\n | \"UPSTREAM_UNKNOWN\";\n\nexport class UpstreamError extends Error {\n public code: ClientErrorCode;\n public status?: number;\n public details?: any;\n\n constructor(message: string, code: ClientErrorCode, status?: number, details?: any) {\n super(message);\n this.name = \"UpstreamError\";\n this.code = code;\n this.status = status;\n this.details = details;\n }\n}\n\nexport function mapAxiosToUpstreamError(err: any, svc: string): UpstreamError {\n const status = err?.response?.status;\n const data = err?.response?.data;\n const isTimeout = err?.code === \"ECONNABORTED\" || String(err?.message || \"\").includes(\"timeout\");\n\n if (isTimeout) {\n return new UpstreamError(`[${svc}] timeout`, \"UPSTREAM_TIMEOUT\", 504, {cause: err?.message});\n }\n if (!err?.response) {\n return new UpstreamError(`[${svc}] unavailable`, \"UPSTREAM_UNAVAILABLE\", 503, {cause: err?.message});\n }\n if (status === 404) return new UpstreamError(`[${svc}] not found`, \"UPSTREAM_NOT_FOUND\", 404, data);\n if (status === 401) return new UpstreamError(`[${svc}] unauthorized`, \"UPSTREAM_UNAUTHORIZED\", 401, data);\n if (status === 403) return new UpstreamError(`[${svc}] forbidden`, \"UPSTREAM_FORBIDDEN\", 403, data);\n if (status >= 400 && status < 600) {\n return new UpstreamError(`[${svc}] bad response`, \"UPSTREAM_BAD_RESPONSE\", status, data);\n }\n return new UpstreamError(`[${svc}] unknown error`, \"UPSTREAM_UNKNOWN\", status, data);\n}\n","import axios, {AxiosInstance, AxiosRequestConfig} from \"axios\";\n\nexport type HttpClient = AxiosInstance;\n\nexport type HttpClientOpts = {\n baseURL: string;\n timeoutMs?: number;\n headers?: Record<string, string>;\n};\n\nexport function createHttpClient(opts: HttpClientOpts): HttpClient {\n return axios.create({\n baseURL: opts.baseURL.replace(/\\/+$/, \"\"),\n timeout: opts.timeoutMs ?? 8000,\n headers: opts.headers ?? {},\n } satisfies AxiosRequestConfig);\n}\n\n/**\n * Injects x-request-id into an Axios config while preserving existing headers.\n */\nexport function withRequestIdConfig<T extends AxiosRequestConfig = AxiosRequestConfig>(\n config: T = {} as T,\n requestId?: string\n): T {\n if (!requestId) return config;\n\n return {\n ...config,\n headers: {\n ...(config.headers ?? {}),\n \"x-request-id\": requestId,\n },\n } as T;\n}\n","// clients/internalHttp.ts\n\ntype RetryPolicy = {\n retries: number;\n baseDelayMs: number;\n retryOnStatuses: number[];\n retryOnNetworkErrors: boolean;\n};\n\ntype InternalHttpOptions = {\n baseUrl: string;\n apiKey?: string; // x-internal-api-key\n timeoutMs?: number;\n retry?: Partial<RetryPolicy>;\n};\n\nconst DEFAULT_RETRY: RetryPolicy = {\n retries: 1,\n baseDelayMs: 150,\n retryOnStatuses: [429, 502, 503, 504],\n retryOnNetworkErrors: true,\n};\n\nfunction sleep(ms: number) {\n return new Promise((r) => setTimeout(r, ms));\n}\n\nfunction safeJsonStringify(v: any) {\n try {\n return JSON.stringify(v);\n } catch {\n return String(v);\n }\n}\n\nfunction toHeaders(init?: HeadersInit): Headers {\n return new Headers(init || {});\n}\n\nfunction isJsonContentType(contentType: string | null): boolean {\n if (!contentType) return false;\n const ct = contentType.toLowerCase();\n return ct.includes(\"application/json\") || ct.includes(\"+json\");\n}\n\nfunction isAbortError(e: any): boolean {\n return e?.name === \"AbortError\";\n}\n\nfunction withJitter(ms: number): number {\n // jitter +-20%\n const jitter = ms * 0.2;\n const delta = (Math.random() * 2 - 1) * jitter;\n return Math.max(0, Math.floor(ms + delta));\n}\n\nexport class InternalHttp {\n private readonly baseUrl: string;\n private readonly apiKey: string | undefined;\n private readonly timeoutMs: number;\n private retry: RetryPolicy;\n\n constructor(opts: InternalHttpOptions) {\n this.baseUrl = opts.baseUrl.replace(/\\/+$/, \"\");\n this.apiKey = opts.apiKey;\n\n // ✅ Default más seguro para internas (evita cascadas)\n this.timeoutMs = opts.timeoutMs ?? 4000;\n\n this.retry = {...DEFAULT_RETRY, ...(opts.retry || {})};\n }\n\n async request<T>(\n path: string,\n init: RequestInit & {\n requestId?: string;\n idempotencyKey?: string;\n headers?: HeadersInit;\n } = {}\n ): Promise<T> {\n const url = `${this.baseUrl}${path.startsWith(\"/\") ? \"\" : \"/\"}${path}`;\n\n const baseHeaders = toHeaders(init.headers);\n\n if (!baseHeaders.has(\"Content-Type\")) baseHeaders.set(\"Content-Type\", \"application/json\");\n if (this.apiKey) baseHeaders.set(\"x-internal-api-key\", this.apiKey);\n\n if (init.requestId) baseHeaders.set(\"x-request-id\", init.requestId);\n if (init.idempotencyKey) baseHeaders.set(\"Idempotency-Key\", init.idempotencyKey);\n\n const {headers: _ignored, ...restInit} = init;\n\n const doFetchOnce = async () => {\n const controller = new AbortController();\n const timeout = setTimeout(() => controller.abort(), this.timeoutMs);\n\n try {\n const res = await fetch(url, {\n ...restInit,\n headers: baseHeaders,\n signal: controller.signal,\n });\n\n if (!res.ok) {\n const text = await res.text().catch(() => \"\");\n const err: any = new Error(\n `HTTP ${res.status} ${res.statusText}${text ? ` - ${text}` : \"\"}`\n );\n err.status = res.status;\n err.body = text;\n throw err;\n }\n\n if (res.status === 204) return undefined as unknown as T;\n\n const contentType = res.headers.get(\"content-type\");\n if (isJsonContentType(contentType)) {\n return (await res.json()) as T;\n }\n\n const text = await res.text().catch(() => \"\");\n return text as unknown as T;\n } finally {\n clearTimeout(timeout);\n }\n };\n\n let attempt = 0;\n\n while (true) {\n try {\n return await doFetchOnce();\n } catch (e: any) {\n attempt++;\n\n const status = e?.status;\n const retryableStatus = !!status && this.retry.retryOnStatuses.includes(status);\n\n const retryableNetwork =\n this.retry.retryOnNetworkErrors &&\n (isAbortError(e) || !status); // sin status suele ser red/dns/timeout\n\n const isRetryable = retryableStatus || retryableNetwork;\n\n if (!isRetryable || attempt > this.retry.retries) {\n console.error(\n `[InternalHttp] request failed: ${url} attempt=${attempt} status=${status ?? \"n/a\"} err=${e?.message\n } body=${safeJsonStringify(e?.body)}`\n );\n throw e;\n }\n\n const backoff = withJitter(this.retry.baseDelayMs * attempt);\n await sleep(backoff);\n }\n }\n }\n}\n"],"mappings":"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","names":["axios","text"]}
|
package/dist/core/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AxiosInstance } from 'axios';
|
|
1
|
+
import { AxiosInstance, AxiosRequestConfig } from 'axios';
|
|
2
2
|
|
|
3
3
|
type ClientErrorCode = "UPSTREAM_TIMEOUT" | "UPSTREAM_UNAVAILABLE" | "UPSTREAM_BAD_RESPONSE" | "UPSTREAM_NOT_FOUND" | "UPSTREAM_UNAUTHORIZED" | "UPSTREAM_FORBIDDEN" | "UPSTREAM_UNKNOWN";
|
|
4
4
|
declare class UpstreamError extends Error {
|
|
@@ -16,6 +16,10 @@ type HttpClientOpts = {
|
|
|
16
16
|
headers?: Record<string, string>;
|
|
17
17
|
};
|
|
18
18
|
declare function createHttpClient(opts: HttpClientOpts): HttpClient;
|
|
19
|
+
/**
|
|
20
|
+
* Injects x-request-id into an Axios config while preserving existing headers.
|
|
21
|
+
*/
|
|
22
|
+
declare function withRequestIdConfig<T extends AxiosRequestConfig = AxiosRequestConfig>(config?: T, requestId?: string): T;
|
|
19
23
|
|
|
20
24
|
type RetryPolicy = {
|
|
21
25
|
retries: number;
|
|
@@ -42,4 +46,4 @@ declare class InternalHttp {
|
|
|
42
46
|
}): Promise<T>;
|
|
43
47
|
}
|
|
44
48
|
|
|
45
|
-
export { type ClientErrorCode, type HttpClient, type HttpClientOpts, InternalHttp, UpstreamError, createHttpClient, mapAxiosToUpstreamError };
|
|
49
|
+
export { type ClientErrorCode, type HttpClient, type HttpClientOpts, InternalHttp, UpstreamError, createHttpClient, mapAxiosToUpstreamError, withRequestIdConfig };
|
package/dist/core/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AxiosInstance } from 'axios';
|
|
1
|
+
import { AxiosInstance, AxiosRequestConfig } from 'axios';
|
|
2
2
|
|
|
3
3
|
type ClientErrorCode = "UPSTREAM_TIMEOUT" | "UPSTREAM_UNAVAILABLE" | "UPSTREAM_BAD_RESPONSE" | "UPSTREAM_NOT_FOUND" | "UPSTREAM_UNAUTHORIZED" | "UPSTREAM_FORBIDDEN" | "UPSTREAM_UNKNOWN";
|
|
4
4
|
declare class UpstreamError extends Error {
|
|
@@ -16,6 +16,10 @@ type HttpClientOpts = {
|
|
|
16
16
|
headers?: Record<string, string>;
|
|
17
17
|
};
|
|
18
18
|
declare function createHttpClient(opts: HttpClientOpts): HttpClient;
|
|
19
|
+
/**
|
|
20
|
+
* Injects x-request-id into an Axios config while preserving existing headers.
|
|
21
|
+
*/
|
|
22
|
+
declare function withRequestIdConfig<T extends AxiosRequestConfig = AxiosRequestConfig>(config?: T, requestId?: string): T;
|
|
19
23
|
|
|
20
24
|
type RetryPolicy = {
|
|
21
25
|
retries: number;
|
|
@@ -42,4 +46,4 @@ declare class InternalHttp {
|
|
|
42
46
|
}): Promise<T>;
|
|
43
47
|
}
|
|
44
48
|
|
|
45
|
-
export { type ClientErrorCode, type HttpClient, type HttpClientOpts, InternalHttp, UpstreamError, createHttpClient, mapAxiosToUpstreamError };
|
|
49
|
+
export { type ClientErrorCode, type HttpClient, type HttpClientOpts, InternalHttp, UpstreamError, createHttpClient, mapAxiosToUpstreamError, withRequestIdConfig };
|
package/dist/core/index.js
CHANGED
|
@@ -2,12 +2,14 @@ import {
|
|
|
2
2
|
InternalHttp,
|
|
3
3
|
UpstreamError,
|
|
4
4
|
createHttpClient,
|
|
5
|
-
mapAxiosToUpstreamError
|
|
6
|
-
|
|
5
|
+
mapAxiosToUpstreamError,
|
|
6
|
+
withRequestIdConfig
|
|
7
|
+
} from "../chunk-4KD6646F.js";
|
|
7
8
|
export {
|
|
8
9
|
InternalHttp,
|
|
9
10
|
UpstreamError,
|
|
10
11
|
createHttpClient,
|
|
11
|
-
mapAxiosToUpstreamError
|
|
12
|
+
mapAxiosToUpstreamError,
|
|
13
|
+
withRequestIdConfig
|
|
12
14
|
};
|
|
13
15
|
//# sourceMappingURL=index.js.map
|
package/dist/index.cjs
CHANGED
|
@@ -82,7 +82,8 @@ __export(src_exports, {
|
|
|
82
82
|
requireRolesOrAnyPermission: () => requireRolesOrAnyPermission,
|
|
83
83
|
sendError: () => sendError,
|
|
84
84
|
sendOk: () => sendOk,
|
|
85
|
-
verifyBackendJwtRS256: () => verifyBackendJwtRS256
|
|
85
|
+
verifyBackendJwtRS256: () => verifyBackendJwtRS256,
|
|
86
|
+
withRequestIdConfig: () => withRequestIdConfig
|
|
86
87
|
});
|
|
87
88
|
module.exports = __toCommonJS(src_exports);
|
|
88
89
|
|
|
@@ -414,6 +415,16 @@ function createHttpClient(opts) {
|
|
|
414
415
|
headers: opts.headers ?? {}
|
|
415
416
|
});
|
|
416
417
|
}
|
|
418
|
+
function withRequestIdConfig(config = {}, requestId2) {
|
|
419
|
+
if (!requestId2) return config;
|
|
420
|
+
return {
|
|
421
|
+
...config,
|
|
422
|
+
headers: {
|
|
423
|
+
...config.headers ?? {},
|
|
424
|
+
"x-request-id": requestId2
|
|
425
|
+
}
|
|
426
|
+
};
|
|
427
|
+
}
|
|
417
428
|
|
|
418
429
|
// src/core/internalHttp.ts
|
|
419
430
|
var DEFAULT_RETRY = {
|
|
@@ -1481,8 +1492,43 @@ function createResClient() {
|
|
|
1481
1492
|
apiPrefix: env.apiPrefix,
|
|
1482
1493
|
path: "/refs/varieties"
|
|
1483
1494
|
});
|
|
1495
|
+
const resources = createBulkRefsClient({
|
|
1496
|
+
namespace: "res:resource",
|
|
1497
|
+
baseURL: env.baseURL,
|
|
1498
|
+
apiPrefix: env.apiPrefix,
|
|
1499
|
+
path: "/refs/resources"
|
|
1500
|
+
});
|
|
1501
|
+
const categories = createBulkRefsClient({
|
|
1502
|
+
namespace: "res:category",
|
|
1503
|
+
baseURL: env.baseURL,
|
|
1504
|
+
apiPrefix: env.apiPrefix,
|
|
1505
|
+
path: "/refs/categories"
|
|
1506
|
+
});
|
|
1507
|
+
const attributes = createBulkRefsClient({
|
|
1508
|
+
namespace: "res:attribute",
|
|
1509
|
+
baseURL: env.baseURL,
|
|
1510
|
+
apiPrefix: env.apiPrefix,
|
|
1511
|
+
path: "/refs/attributes"
|
|
1512
|
+
});
|
|
1513
|
+
const attributeOptions = createBulkRefsClient({
|
|
1514
|
+
namespace: "res:attribute_option",
|
|
1515
|
+
baseURL: env.baseURL,
|
|
1516
|
+
apiPrefix: env.apiPrefix,
|
|
1517
|
+
path: "/refs/attribute-options"
|
|
1518
|
+
});
|
|
1519
|
+
const attributeValues = createBulkRefsClient({
|
|
1520
|
+
namespace: "res:attribute_value",
|
|
1521
|
+
baseURL: env.baseURL,
|
|
1522
|
+
apiPrefix: env.apiPrefix,
|
|
1523
|
+
path: "/refs/attribute-values"
|
|
1524
|
+
});
|
|
1484
1525
|
return {
|
|
1485
|
-
varietiesRefs: (uids, opts) => varieties.bulkRefs(uids, opts)
|
|
1526
|
+
varietiesRefs: (uids, opts) => varieties.bulkRefs(uids, opts),
|
|
1527
|
+
resourcesRefs: (uids, opts) => resources.bulkRefs(uids, opts),
|
|
1528
|
+
categoriesRefs: (uids, opts) => categories.bulkRefs(uids, opts),
|
|
1529
|
+
attributesRefs: (uids, opts) => attributes.bulkRefs(uids, opts),
|
|
1530
|
+
attributeOptionsRefs: (uids, opts) => attributeOptions.bulkRefs(uids, opts),
|
|
1531
|
+
attributeValuesRefs: (uids, opts) => attributeValues.bulkRefs(uids, opts)
|
|
1486
1532
|
};
|
|
1487
1533
|
}
|
|
1488
1534
|
|
|
@@ -1507,10 +1553,31 @@ function createMdClient() {
|
|
|
1507
1553
|
apiPrefix: env.apiPrefix,
|
|
1508
1554
|
path: "/refs/countries"
|
|
1509
1555
|
});
|
|
1556
|
+
const currencies = createBulkRefsClient({
|
|
1557
|
+
namespace: "md:currency",
|
|
1558
|
+
baseURL: env.baseURL,
|
|
1559
|
+
apiPrefix: env.apiPrefix,
|
|
1560
|
+
path: "/refs/currencies"
|
|
1561
|
+
});
|
|
1562
|
+
const regions = createBulkRefsClient({
|
|
1563
|
+
namespace: "md:region",
|
|
1564
|
+
baseURL: env.baseURL,
|
|
1565
|
+
apiPrefix: env.apiPrefix,
|
|
1566
|
+
path: "/refs/regions"
|
|
1567
|
+
});
|
|
1568
|
+
const communes = createBulkRefsClient({
|
|
1569
|
+
namespace: "md:commune",
|
|
1570
|
+
baseURL: env.baseURL,
|
|
1571
|
+
apiPrefix: env.apiPrefix,
|
|
1572
|
+
path: "/refs/communes"
|
|
1573
|
+
});
|
|
1510
1574
|
return {
|
|
1511
1575
|
measuresRefs: (uids, opts) => measures.bulkRefs(uids, opts),
|
|
1512
1576
|
measureTypesRefs: (uids, opts) => measureTypes.bulkRefs(uids, opts),
|
|
1513
|
-
countriesRefs: (uids, opts) => countries.bulkRefs(uids, opts)
|
|
1577
|
+
countriesRefs: (uids, opts) => countries.bulkRefs(uids, opts),
|
|
1578
|
+
currenciesRefs: (uids, opts) => currencies.bulkRefs(uids, opts),
|
|
1579
|
+
regionsRefs: (uids, opts) => regions.bulkRefs(uids, opts),
|
|
1580
|
+
communesRefs: (uids, opts) => communes.bulkRefs(uids, opts)
|
|
1514
1581
|
};
|
|
1515
1582
|
}
|
|
1516
1583
|
|
|
@@ -1521,11 +1588,11 @@ function createFisClient() {
|
|
|
1521
1588
|
baseURL: `${env.baseURL}${env.apiPrefix}`,
|
|
1522
1589
|
timeoutMs: 8e3
|
|
1523
1590
|
});
|
|
1524
|
-
const
|
|
1525
|
-
namespace: "fis:
|
|
1591
|
+
const profiles = createBulkRefsClient({
|
|
1592
|
+
namespace: "fis:profile",
|
|
1526
1593
|
baseURL: env.baseURL,
|
|
1527
1594
|
apiPrefix: env.apiPrefix,
|
|
1528
|
-
path: "/refs/
|
|
1595
|
+
path: "/refs/profiles"
|
|
1529
1596
|
});
|
|
1530
1597
|
const documents = createBulkRefsClient({
|
|
1531
1598
|
namespace: "fis:document",
|
|
@@ -1533,77 +1600,113 @@ function createFisClient() {
|
|
|
1533
1600
|
apiPrefix: env.apiPrefix,
|
|
1534
1601
|
path: "/refs/documents"
|
|
1535
1602
|
});
|
|
1603
|
+
const snapshots = createBulkRefsClient({
|
|
1604
|
+
namespace: "fis:snapshot",
|
|
1605
|
+
baseURL: env.baseURL,
|
|
1606
|
+
apiPrefix: env.apiPrefix,
|
|
1607
|
+
path: "/refs/snapshots"
|
|
1608
|
+
});
|
|
1536
1609
|
const submissions = createBulkRefsClient({
|
|
1537
1610
|
namespace: "fis:submission",
|
|
1538
1611
|
baseURL: env.baseURL,
|
|
1539
1612
|
apiPrefix: env.apiPrefix,
|
|
1540
1613
|
path: "/refs/submissions"
|
|
1541
1614
|
});
|
|
1615
|
+
const folioPools = createBulkRefsClient({
|
|
1616
|
+
namespace: "fis:folio_pool",
|
|
1617
|
+
baseURL: env.baseURL,
|
|
1618
|
+
apiPrefix: env.apiPrefix,
|
|
1619
|
+
path: "/refs/folio-pools"
|
|
1620
|
+
});
|
|
1621
|
+
const taxRules = createBulkRefsClient({
|
|
1622
|
+
namespace: "fis:tax_rule",
|
|
1623
|
+
baseURL: env.baseURL,
|
|
1624
|
+
apiPrefix: env.apiPrefix,
|
|
1625
|
+
path: "/refs/tax-rules"
|
|
1626
|
+
});
|
|
1542
1627
|
return {
|
|
1543
1628
|
// -----------------------------------------------------------------------
|
|
1544
1629
|
// Bulk refs
|
|
1545
1630
|
// -----------------------------------------------------------------------
|
|
1546
|
-
|
|
1631
|
+
profilesRefs: (uids, opts) => profiles.bulkRefs(uids, opts),
|
|
1547
1632
|
documentsRefs: (uids, opts) => documents.bulkRefs(uids, opts),
|
|
1633
|
+
snapshotsRefs: (uids, opts) => snapshots.bulkRefs(uids, opts),
|
|
1548
1634
|
submissionsRefs: (uids, opts) => submissions.bulkRefs(uids, opts),
|
|
1635
|
+
folioPoolsRefs: (uids, opts) => folioPools.bulkRefs(uids, opts),
|
|
1636
|
+
taxRulesRefs: (uids, opts) => taxRules.bulkRefs(uids, opts),
|
|
1549
1637
|
// -----------------------------------------------------------------------
|
|
1550
1638
|
// Fiscal calculation / build / lifecycle
|
|
1551
1639
|
// -----------------------------------------------------------------------
|
|
1552
|
-
|
|
1640
|
+
async calculate(body) {
|
|
1553
1641
|
const { data } = await http.post("/calculate", body);
|
|
1554
1642
|
return data;
|
|
1555
1643
|
},
|
|
1556
|
-
|
|
1557
|
-
const { data } = await http.post("/
|
|
1644
|
+
async calculateTaxes(body) {
|
|
1645
|
+
const { data } = await http.post("/tax/calculate", body);
|
|
1558
1646
|
return data;
|
|
1559
1647
|
},
|
|
1560
|
-
|
|
1561
|
-
const { data } = await http.post("/documents
|
|
1648
|
+
async buildDocument(body) {
|
|
1649
|
+
const { data } = await http.post("/documents", body);
|
|
1562
1650
|
return data;
|
|
1563
1651
|
},
|
|
1564
|
-
|
|
1565
|
-
const { data } = await http.post(
|
|
1652
|
+
async signDocument(body) {
|
|
1653
|
+
const { data } = await http.post(
|
|
1654
|
+
`/documents/${body.document_uid}/sign`,
|
|
1655
|
+
body
|
|
1656
|
+
);
|
|
1566
1657
|
return data;
|
|
1567
1658
|
},
|
|
1568
|
-
|
|
1569
|
-
const { data } = await http.post(
|
|
1659
|
+
async submitDocument(body) {
|
|
1660
|
+
const { data } = await http.post(
|
|
1661
|
+
`/documents/${body.document_uid}/submit`,
|
|
1662
|
+
body
|
|
1663
|
+
);
|
|
1664
|
+
return data;
|
|
1665
|
+
},
|
|
1666
|
+
async cancelDocument(body) {
|
|
1667
|
+
const { data } = await http.post(
|
|
1668
|
+
`/documents/${body.document_uid}/cancel`,
|
|
1669
|
+
body
|
|
1670
|
+
);
|
|
1570
1671
|
return data;
|
|
1571
1672
|
},
|
|
1572
1673
|
// -----------------------------------------------------------------------
|
|
1573
1674
|
// Folios / series
|
|
1574
1675
|
// -----------------------------------------------------------------------
|
|
1575
|
-
|
|
1676
|
+
async reserveFolio(body) {
|
|
1576
1677
|
const { data } = await http.post("/folios/reserve", body);
|
|
1577
1678
|
return data;
|
|
1578
1679
|
},
|
|
1579
|
-
|
|
1680
|
+
async consumeFolio(body) {
|
|
1580
1681
|
const { data } = await http.post("/folios/consume", body);
|
|
1581
1682
|
return data;
|
|
1582
1683
|
},
|
|
1583
1684
|
// -----------------------------------------------------------------------
|
|
1584
1685
|
// Queries / detail
|
|
1585
1686
|
// -----------------------------------------------------------------------
|
|
1586
|
-
|
|
1587
|
-
const { data } = await http.
|
|
1687
|
+
async queryDocuments(body) {
|
|
1688
|
+
const { data } = await http.post("/documents/query", body);
|
|
1588
1689
|
return data;
|
|
1589
1690
|
},
|
|
1590
|
-
|
|
1691
|
+
async getDocumentByUid(uid) {
|
|
1591
1692
|
const { data } = await http.get(`/documents/${uid}`);
|
|
1592
1693
|
return data;
|
|
1593
1694
|
},
|
|
1594
|
-
|
|
1695
|
+
async getSnapshotByUid(uid) {
|
|
1595
1696
|
const { data } = await http.get(`/snapshots/${uid}`);
|
|
1596
1697
|
return data;
|
|
1597
1698
|
},
|
|
1598
|
-
|
|
1699
|
+
async getSubmissionByUid(uid) {
|
|
1599
1700
|
const { data } = await http.get(`/submissions/${uid}`);
|
|
1600
1701
|
return data;
|
|
1601
1702
|
},
|
|
1602
|
-
|
|
1603
|
-
const { data } = await http.get(
|
|
1703
|
+
async getStatusEventsByDocumentUid(documentUid) {
|
|
1704
|
+
const { data } = await http.get(
|
|
1705
|
+
`/documents/${documentUid}/status-events`
|
|
1706
|
+
);
|
|
1604
1707
|
return data;
|
|
1605
1708
|
},
|
|
1606
|
-
|
|
1709
|
+
async retrySubmission(body) {
|
|
1607
1710
|
const { data } = await http.post("/submissions/retry", body);
|
|
1608
1711
|
return data;
|
|
1609
1712
|
}
|
|
@@ -1659,25 +1762,107 @@ function createPayClient() {
|
|
|
1659
1762
|
baseURL: `${env.baseURL}${env.apiPrefix}`,
|
|
1660
1763
|
timeoutMs: 8e3
|
|
1661
1764
|
});
|
|
1765
|
+
const intents = createBulkRefsClient({
|
|
1766
|
+
namespace: "pay:intent",
|
|
1767
|
+
baseURL: env.baseURL,
|
|
1768
|
+
apiPrefix: env.apiPrefix,
|
|
1769
|
+
path: "/refs/intents"
|
|
1770
|
+
});
|
|
1771
|
+
const attempts = createBulkRefsClient({
|
|
1772
|
+
namespace: "pay:attempt",
|
|
1773
|
+
baseURL: env.baseURL,
|
|
1774
|
+
apiPrefix: env.apiPrefix,
|
|
1775
|
+
path: "/refs/attempts"
|
|
1776
|
+
});
|
|
1777
|
+
const transactions = createBulkRefsClient({
|
|
1778
|
+
namespace: "pay:transaction",
|
|
1779
|
+
baseURL: env.baseURL,
|
|
1780
|
+
apiPrefix: env.apiPrefix,
|
|
1781
|
+
path: "/refs/transactions"
|
|
1782
|
+
});
|
|
1783
|
+
const refunds = createBulkRefsClient({
|
|
1784
|
+
namespace: "pay:refund",
|
|
1785
|
+
baseURL: env.baseURL,
|
|
1786
|
+
apiPrefix: env.apiPrefix,
|
|
1787
|
+
path: "/refs/refunds"
|
|
1788
|
+
});
|
|
1789
|
+
const allocations = createBulkRefsClient({
|
|
1790
|
+
namespace: "pay:allocation",
|
|
1791
|
+
baseURL: env.baseURL,
|
|
1792
|
+
apiPrefix: env.apiPrefix,
|
|
1793
|
+
path: "/refs/allocations"
|
|
1794
|
+
});
|
|
1795
|
+
const providerAccounts = createBulkRefsClient({
|
|
1796
|
+
namespace: "pay:provider_account",
|
|
1797
|
+
baseURL: env.baseURL,
|
|
1798
|
+
apiPrefix: env.apiPrefix,
|
|
1799
|
+
path: "/refs/provider-accounts"
|
|
1800
|
+
});
|
|
1801
|
+
const paymentMethods = createBulkRefsClient({
|
|
1802
|
+
namespace: "pay:payment_method",
|
|
1803
|
+
baseURL: env.baseURL,
|
|
1804
|
+
apiPrefix: env.apiPrefix,
|
|
1805
|
+
path: "/refs/payment-methods"
|
|
1806
|
+
});
|
|
1662
1807
|
return {
|
|
1808
|
+
// -----------------------------------------------------------------------
|
|
1809
|
+
// Payment intents
|
|
1810
|
+
// -----------------------------------------------------------------------
|
|
1663
1811
|
async createIntent(body) {
|
|
1664
|
-
const { data } = await http.post("/intents", body);
|
|
1812
|
+
const { data } = await http.post("/payment-intents", body);
|
|
1665
1813
|
return data;
|
|
1666
1814
|
},
|
|
1815
|
+
async getIntentByUid(uid) {
|
|
1816
|
+
const { data } = await http.get(`/payment-intents/${uid}`);
|
|
1817
|
+
return data;
|
|
1818
|
+
},
|
|
1819
|
+
async confirmIntent(body) {
|
|
1820
|
+
const { data } = await http.post(
|
|
1821
|
+
`/payment-intents/${body.intent_uid}/confirm`,
|
|
1822
|
+
body
|
|
1823
|
+
);
|
|
1824
|
+
return data;
|
|
1825
|
+
},
|
|
1826
|
+
// -----------------------------------------------------------------------
|
|
1827
|
+
// Attempts
|
|
1828
|
+
// -----------------------------------------------------------------------
|
|
1667
1829
|
async startAttempt(body) {
|
|
1668
1830
|
const { data } = await http.post("/attempts", body);
|
|
1669
1831
|
return data;
|
|
1670
1832
|
},
|
|
1833
|
+
// -----------------------------------------------------------------------
|
|
1834
|
+
// Methods / availability
|
|
1835
|
+
// -----------------------------------------------------------------------
|
|
1671
1836
|
async getAvailableMethods(params) {
|
|
1672
1837
|
const { data } = await http.get("/methods/available", {
|
|
1673
1838
|
params
|
|
1674
1839
|
});
|
|
1675
1840
|
return data;
|
|
1676
1841
|
},
|
|
1677
|
-
|
|
1678
|
-
|
|
1842
|
+
// -----------------------------------------------------------------------
|
|
1843
|
+
// Queries / allocations
|
|
1844
|
+
// -----------------------------------------------------------------------
|
|
1845
|
+
async queryPayments(body) {
|
|
1846
|
+
const { data } = await http.post("/payments/query", body);
|
|
1679
1847
|
return data;
|
|
1680
|
-
}
|
|
1848
|
+
},
|
|
1849
|
+
async getAllocationsByTarget(body) {
|
|
1850
|
+
const { data } = await http.post(
|
|
1851
|
+
"/allocations/by-target",
|
|
1852
|
+
body
|
|
1853
|
+
);
|
|
1854
|
+
return data;
|
|
1855
|
+
},
|
|
1856
|
+
// -----------------------------------------------------------------------
|
|
1857
|
+
// Bulk refs
|
|
1858
|
+
// -----------------------------------------------------------------------
|
|
1859
|
+
intentsRefs: (uids, opts) => intents.bulkRefs(uids, opts),
|
|
1860
|
+
attemptsRefs: (uids, opts) => attempts.bulkRefs(uids, opts),
|
|
1861
|
+
transactionsRefs: (uids, opts) => transactions.bulkRefs(uids, opts),
|
|
1862
|
+
refundsRefs: (uids, opts) => refunds.bulkRefs(uids, opts),
|
|
1863
|
+
allocationsRefs: (uids, opts) => allocations.bulkRefs(uids, opts),
|
|
1864
|
+
providerAccountsRefs: (uids, opts) => providerAccounts.bulkRefs(uids, opts),
|
|
1865
|
+
paymentMethodsRefs: (uids, opts) => paymentMethods.bulkRefs(uids, opts)
|
|
1681
1866
|
};
|
|
1682
1867
|
}
|
|
1683
1868
|
|
|
@@ -1746,6 +1931,7 @@ function isUid(value) {
|
|
|
1746
1931
|
requireRolesOrAnyPermission,
|
|
1747
1932
|
sendError,
|
|
1748
1933
|
sendOk,
|
|
1749
|
-
verifyBackendJwtRS256
|
|
1934
|
+
verifyBackendJwtRS256,
|
|
1935
|
+
withRequestIdConfig
|
|
1750
1936
|
});
|
|
1751
1937
|
//# sourceMappingURL=index.cjs.map
|