@vrplatform/api 1.3.1-stage.2287 → 1.3.1-stage.2295
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/build/main/{services/api/client.js → client.js} +27 -44
- package/build/main/client.js.map +1 -0
- package/build/main/error.d.ts +22 -0
- package/build/main/{services/api/error.js → error.js} +8 -12
- package/build/main/error.js.map +1 -0
- package/build/main/generated/openapi-fetch.d.ts +224 -0
- package/build/main/generated/openapi-fetch.js +14 -0
- package/build/main/generated/openapi-fetch.js.map +1 -0
- package/build/{module/services/api → main}/generated/v1.d.ts +185 -1168
- package/build/main/{services/api/generated → generated}/v1.js.map +1 -1
- package/build/main/index.d.ts +6 -14
- package/build/main/index.js +3 -19
- package/build/main/index.js.map +1 -1
- package/build/main/tsconfig.main.tsbuildinfo +1 -1
- package/build/main/types.d.ts +61 -0
- package/build/main/types.js.map +1 -0
- package/build/module/client.js +66 -0
- package/build/module/client.js.map +1 -0
- package/build/module/error.d.ts +22 -0
- package/build/module/{services/api/error.js → error.js} +8 -12
- package/build/module/error.js.map +1 -0
- package/build/module/generated/openapi-fetch.d.ts +224 -0
- package/build/module/generated/openapi-fetch.js +2 -0
- package/build/module/generated/openapi-fetch.js.map +1 -0
- package/build/{main/services/api → module}/generated/v1.d.ts +185 -1168
- package/build/module/{services/api/generated → generated}/v1.js.map +1 -1
- package/build/module/index.d.ts +6 -14
- package/build/module/index.js +3 -6
- package/build/module/index.js.map +1 -1
- package/build/module/tsconfig.esm.tsbuildinfo +1 -1
- package/build/module/types.d.ts +61 -0
- package/build/module/types.js.map +1 -0
- package/package.json +7 -39
- package/src/client.ts +99 -0
- package/src/error.ts +71 -0
- package/src/generated/openapi-fetch.ts +433 -0
- package/src/{services/api/generated → generated}/v1.ts +185 -1168
- package/src/index.ts +7 -49
- package/src/types.ts +98 -0
- package/build/main/analytics/client.d.ts +0 -16
- package/build/main/analytics/client.js +0 -81
- package/build/main/analytics/client.js.map +0 -1
- package/build/main/analytics/index.d.ts +0 -2
- package/build/main/analytics/index.js +0 -19
- package/build/main/analytics/index.js.map +0 -1
- package/build/main/analytics/types.d.ts +0 -77
- package/build/main/analytics/types.js.map +0 -1
- package/build/main/service-client.d.ts +0 -15
- package/build/main/service-client.js +0 -90
- package/build/main/service-client.js.map +0 -1
- package/build/main/services/analytics/client.d.ts +0 -16
- package/build/main/services/analytics/client.js +0 -33
- package/build/main/services/analytics/client.js.map +0 -1
- package/build/main/services/analytics/generated/v1.d.ts +0 -359
- package/build/main/services/analytics/generated/v1.js.map +0 -1
- package/build/main/services/api/client.js.map +0 -1
- package/build/main/services/api/error.d.ts +0 -22
- package/build/main/services/api/error.js.map +0 -1
- package/build/main/services/api/generated/v1.js +0 -7
- package/build/main/services/api/index.d.ts +0 -6
- package/build/main/services/api/index.js +0 -20
- package/build/main/services/api/index.js.map +0 -1
- package/build/main/services/api/types.d.ts +0 -128
- package/build/main/services/api/types.js +0 -3
- package/build/main/services/api/types.js.map +0 -1
- package/build/main/services/cache/client.d.ts +0 -16
- package/build/main/services/cache/client.js +0 -33
- package/build/main/services/cache/client.js.map +0 -1
- package/build/main/services/cache/generated/v1.d.ts +0 -1009
- package/build/main/services/cache/generated/v1.js +0 -7
- package/build/main/services/cache/generated/v1.js.map +0 -1
- package/build/main/services/cache/index.d.ts +0 -2
- package/build/main/services/cache/index.js +0 -18
- package/build/main/services/cache/index.js.map +0 -1
- package/build/main/services/control-plane/client.d.ts +0 -17
- package/build/main/services/control-plane/client.js +0 -33
- package/build/main/services/control-plane/client.js.map +0 -1
- package/build/main/services/control-plane/generated/v1.d.ts +0 -2123
- package/build/main/services/control-plane/generated/v1.js +0 -7
- package/build/main/services/control-plane/generated/v1.js.map +0 -1
- package/build/main/services/control-plane/index.d.ts +0 -2
- package/build/main/services/control-plane/index.js +0 -18
- package/build/main/services/control-plane/index.js.map +0 -1
- package/build/main/services/ingest/client.d.ts +0 -16
- package/build/main/services/ingest/client.js +0 -33
- package/build/main/services/ingest/client.js.map +0 -1
- package/build/main/services/ingest/generated/v1.d.ts +0 -1920
- package/build/main/services/ingest/generated/v1.js +0 -7
- package/build/main/services/ingest/generated/v1.js.map +0 -1
- package/build/main/services/ingest/index.d.ts +0 -2
- package/build/main/services/ingest/index.js +0 -18
- package/build/main/services/ingest/index.js.map +0 -1
- package/build/module/analytics/client.d.ts +0 -16
- package/build/module/analytics/client.js +0 -39
- package/build/module/analytics/client.js.map +0 -1
- package/build/module/analytics/index.d.ts +0 -2
- package/build/module/analytics/index.js +0 -3
- package/build/module/analytics/index.js.map +0 -1
- package/build/module/analytics/types.d.ts +0 -77
- package/build/module/analytics/types.js.map +0 -1
- package/build/module/service-client.d.ts +0 -15
- package/build/module/service-client.js +0 -51
- package/build/module/service-client.js.map +0 -1
- package/build/module/services/analytics/client.d.ts +0 -16
- package/build/module/services/analytics/client.js +0 -24
- package/build/module/services/analytics/client.js.map +0 -1
- package/build/module/services/analytics/generated/v1.d.ts +0 -359
- package/build/module/services/analytics/generated/v1.js.map +0 -1
- package/build/module/services/api/client.js +0 -83
- package/build/module/services/api/client.js.map +0 -1
- package/build/module/services/api/error.d.ts +0 -22
- package/build/module/services/api/error.js.map +0 -1
- package/build/module/services/api/generated/v1.js +0 -6
- package/build/module/services/api/index.d.ts +0 -6
- package/build/module/services/api/index.js +0 -4
- package/build/module/services/api/index.js.map +0 -1
- package/build/module/services/api/types.d.ts +0 -128
- package/build/module/services/api/types.js +0 -2
- package/build/module/services/api/types.js.map +0 -1
- package/build/module/services/cache/client.d.ts +0 -16
- package/build/module/services/cache/client.js +0 -24
- package/build/module/services/cache/client.js.map +0 -1
- package/build/module/services/cache/generated/v1.d.ts +0 -1009
- package/build/module/services/cache/generated/v1.js +0 -6
- package/build/module/services/cache/generated/v1.js.map +0 -1
- package/build/module/services/cache/index.d.ts +0 -2
- package/build/module/services/cache/index.js +0 -2
- package/build/module/services/cache/index.js.map +0 -1
- package/build/module/services/control-plane/client.d.ts +0 -17
- package/build/module/services/control-plane/client.js +0 -24
- package/build/module/services/control-plane/client.js.map +0 -1
- package/build/module/services/control-plane/generated/v1.d.ts +0 -2123
- package/build/module/services/control-plane/generated/v1.js +0 -6
- package/build/module/services/control-plane/generated/v1.js.map +0 -1
- package/build/module/services/control-plane/index.d.ts +0 -2
- package/build/module/services/control-plane/index.js +0 -2
- package/build/module/services/control-plane/index.js.map +0 -1
- package/build/module/services/ingest/client.d.ts +0 -16
- package/build/module/services/ingest/client.js +0 -24
- package/build/module/services/ingest/client.js.map +0 -1
- package/build/module/services/ingest/generated/v1.d.ts +0 -1920
- package/build/module/services/ingest/generated/v1.js +0 -6
- package/build/module/services/ingest/generated/v1.js.map +0 -1
- package/build/module/services/ingest/index.d.ts +0 -2
- package/build/module/services/ingest/index.js +0 -2
- package/build/module/services/ingest/index.js.map +0 -1
- package/src/analytics/client.ts +0 -81
- package/src/analytics/index.ts +0 -2
- package/src/analytics/types.ts +0 -83
- package/src/service-client.ts +0 -80
- package/src/services/analytics/client.ts +0 -44
- package/src/services/analytics/generated/v1.ts +0 -360
- package/src/services/api/client.ts +0 -146
- package/src/services/api/error.ts +0 -82
- package/src/services/api/index.ts +0 -8
- package/src/services/api/types.ts +0 -212
- package/src/services/cache/client.ts +0 -44
- package/src/services/cache/generated/v1.ts +0 -1010
- package/src/services/cache/index.ts +0 -2
- package/src/services/control-plane/client.ts +0 -46
- package/src/services/control-plane/generated/v1.ts +0 -2124
- package/src/services/control-plane/index.ts +0 -2
- package/src/services/ingest/client.ts +0 -44
- package/src/services/ingest/generated/v1.ts +0 -1921
- package/src/services/ingest/index.ts +0 -2
- /package/build/main/{services/api/client.d.ts → client.d.ts} +0 -0
- /package/build/main/{services/analytics/generated → generated}/v1.js +0 -0
- /package/build/main/{analytics/types.js → types.js} +0 -0
- /package/build/module/{services/api/client.d.ts → client.d.ts} +0 -0
- /package/build/module/{services/analytics/generated → generated}/v1.js +0 -0
- /package/build/module/{analytics/types.js → types.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"v1.js","sourceRoot":"src/","sources":["services/ingest/generated/v1.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/**\n * This file was auto-generated by openapi-typescript.\n * Do not make direct changes to the file.\n */\n\nexport interface paths {\n \"/health\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** @description Health endpoint for ingest worker. */\n get: operations[\"getHealth\"];\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/v1/connections/query\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** @description Read multiple ingest connection runtime records and decrypted credential payloads. */\n post: operations[\"postV1ConnectionsQuery\"];\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/v1/connections/{connectionId}\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** @description Read an ingest connection runtime record and decrypted credential payload. */\n get: operations[\"getV1ConnectionsByConnectionId\"];\n /** @description Upsert an ingest connection runtime record and encrypted credential payload. */\n put: operations[\"putV1ConnectionsByConnectionId\"];\n post?: never;\n /** @description Delete an ingest connection runtime and credential record. */\n delete: operations[\"deleteV1ConnectionsByConnectionId\"];\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/v1/ingest/bank-accounts\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** @description Submit bank account payloads for ingest apply orchestration. */\n post: operations[\"postV1IngestBankAccounts\"];\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/v1/ingest/bank-records\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** @description Submit bank record payloads for ingest apply orchestration. */\n post: operations[\"postV1IngestBankRecords\"];\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/v1/ingest/contacts\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** @description Submit contact payloads for ingest apply orchestration. */\n post: operations[\"postV1IngestContacts\"];\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/v1/ingest/listings\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** @description Submit listing payloads for ingest apply orchestration. */\n post: operations[\"postV1IngestListings\"];\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/v1/ingest/payments\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** @description Submit payment payloads for ingest apply orchestration. */\n post: operations[\"postV1IngestPayments\"];\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/v1/ingest/reservations\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** @description Submit reservation payloads for ingest apply orchestration. */\n post: operations[\"postV1IngestReservations\"];\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/v1/ingest/transactions\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** @description Submit transaction payloads for ingest apply orchestration. */\n post: operations[\"postV1IngestTransactions\"];\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/v1/runs/{runId}\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** @description Read ingest run summary by id. */\n get: operations[\"getV1RunsByRunId\"];\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n}\nexport type webhooks = Record<string, never>;\nexport interface components {\n schemas: never;\n responses: never;\n parameters: never;\n requestBodies: never;\n headers: never;\n pathItems: never;\n}\nexport type $defs = Record<string, never>;\nexport interface operations {\n getHealth: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Service health */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n ok: boolean;\n /** @constant */\n service: \"ingest\";\n };\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Unauthorized */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n };\n };\n postV1ConnectionsQuery: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n \"application/json\": {\n connectionIds: string[];\n /** @default false */\n includeCredentials?: boolean;\n };\n };\n };\n responses: {\n /** @description Ingest connection list */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** Format: uuid */\n connectionId: string;\n /** Format: uuid */\n tenantId: string;\n appId: string;\n status: string;\n fetchStatus: string;\n lastFetchAt?: string | null;\n nextFetchAt?: string | null;\n errorCode?: string | null;\n errorMessage?: string | null;\n /** Format: date-time */\n updatedAt: string;\n credentials?: {\n [key: string]: unknown;\n };\n }[];\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Unauthorized */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n };\n };\n getV1ConnectionsByConnectionId: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n connectionId: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Ingest connection */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** Format: uuid */\n connectionId: string;\n /** Format: uuid */\n tenantId: string;\n appId: string;\n status: string;\n fetchStatus: string;\n lastFetchAt?: string | null;\n nextFetchAt?: string | null;\n errorCode?: string | null;\n errorMessage?: string | null;\n /** Format: date-time */\n updatedAt: string;\n credentials?: {\n [key: string]: unknown;\n };\n };\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Unauthorized */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n };\n };\n putV1ConnectionsByConnectionId: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n connectionId: string;\n };\n cookie?: never;\n };\n requestBody: {\n content: {\n \"application/json\": {\n /** Format: uuid */\n tenantId: string;\n appId: string;\n status: string;\n fetchStatus: string;\n lastFetchAt?: string | null;\n nextFetchAt?: string | null;\n errorCode?: string | null;\n errorMessage?: string | null;\n credentials?: {\n [key: string]: unknown;\n };\n };\n };\n };\n responses: {\n /** @description Stored ingest connection */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** Format: uuid */\n connectionId: string;\n };\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Unauthorized */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n };\n };\n deleteV1ConnectionsByConnectionId: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n connectionId: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Delete result */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n deleted: boolean;\n };\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Unauthorized */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n };\n };\n postV1IngestBankAccounts: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n \"application/json\": {\n /** Format: uuid */\n tenantId: string;\n /** Format: uuid */\n connectionId: string;\n /** @enum {string} */\n triggerType: \"manual\" | \"schedule\" | \"webhook\" | \"initial\";\n requestedScope?: {\n [key: string]: unknown;\n };\n bootstrapFromLegacySource?: boolean;\n writeLegacySource?: boolean;\n items: {\n remoteId: string;\n payload: {\n id?: string | null;\n /** @enum {string} */\n type: \"deposit\" | \"creditCard\";\n /** @enum {string} */\n category: \"trust\" | \"operating\" | \"external\";\n name: string;\n uniqueRef?: string | null;\n sourceId?: string | null;\n currency?: string | null;\n lastDigits?: string | null;\n status?: (\"active\" | \"inactive\") | null;\n accountId?: string | null;\n startDate?: string | null;\n };\n /** Format: date-time */\n sourceLastWebhookAt?: string;\n description?: string;\n status?: string;\n date?: string;\n /** Format: uuid */\n reservationId?: string;\n }[];\n };\n };\n };\n responses: {\n /** @description Submitted raw ingest run */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** Format: uuid */\n runId: string;\n /** @enum {string} */\n targetRealm: \"vrtrust\" | \"vrintegration\";\n /** @enum {string} */\n dataRegion: \"us\" | \"eu\" | \"ap\";\n submitted: number;\n deduped: number;\n enqueued: number;\n skippedJobs: number;\n rawSubmitted: number;\n rawDeduped: number;\n legacyBootstrapMatched: number;\n rawSkippedByWebhook: number;\n rawUploaded: number;\n rawNoop: number;\n legacySourceSubmitted: number;\n legacySourceDeduped: number;\n legacySourceUpserted: number;\n /** @constant */\n status: \"completed\";\n };\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Unauthorized */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n };\n };\n postV1IngestBankRecords: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n \"application/json\": {\n /** Format: uuid */\n tenantId: string;\n /** Format: uuid */\n connectionId: string;\n /** @enum {string} */\n triggerType: \"manual\" | \"schedule\" | \"webhook\" | \"initial\";\n requestedScope?: {\n [key: string]: unknown;\n };\n bootstrapFromLegacySource?: boolean;\n writeLegacySource?: boolean;\n items: {\n remoteId: string;\n payload: {\n uniqueRef?: string | null;\n date: string;\n /** @enum {string} */\n status?: \"active\" | \"inactive\";\n description?: string | null;\n accountId?: string | null;\n /** @enum {string} */\n type?: \"transaction\" | \"balance\";\n amount?: number;\n balance?: number | null;\n reconciliation?: {\n status?: (\"unpaid\" | \"underpaid\" | \"overpaid\" | \"paid\") | null;\n transactions?: {\n id: string;\n date: string;\n description?: string | null;\n type: string;\n amount: number;\n }[] | null;\n };\n id?: string | null;\n bankAccountRef?: string | null;\n sourceId?: string | null;\n };\n /** Format: date-time */\n sourceLastWebhookAt?: string;\n description?: string;\n status?: string;\n date?: string;\n /** Format: uuid */\n reservationId?: string;\n }[];\n };\n };\n };\n responses: {\n /** @description Submitted raw ingest run */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** Format: uuid */\n runId: string;\n /** @enum {string} */\n targetRealm: \"vrtrust\" | \"vrintegration\";\n /** @enum {string} */\n dataRegion: \"us\" | \"eu\" | \"ap\";\n submitted: number;\n deduped: number;\n enqueued: number;\n skippedJobs: number;\n rawSubmitted: number;\n rawDeduped: number;\n legacyBootstrapMatched: number;\n rawSkippedByWebhook: number;\n rawUploaded: number;\n rawNoop: number;\n legacySourceSubmitted: number;\n legacySourceDeduped: number;\n legacySourceUpserted: number;\n /** @constant */\n status: \"completed\";\n };\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Unauthorized */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n };\n };\n postV1IngestContacts: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n \"application/json\": {\n /** Format: uuid */\n tenantId: string;\n /** Format: uuid */\n connectionId: string;\n /** @enum {string} */\n triggerType: \"manual\" | \"schedule\" | \"webhook\" | \"initial\";\n requestedScope?: {\n [key: string]: unknown;\n };\n bootstrapFromLegacySource?: boolean;\n writeLegacySource?: boolean;\n items: {\n remoteId: string;\n payload: {\n address?: {\n full?: string | null;\n line1?: string | null;\n line2?: string | null;\n city?: string | null;\n /** @description Deprecated, use stateCode instead */\n state?: string | null;\n postalCode?: string | null;\n stateCode?: string | null;\n countryCode?: string | null;\n } | null;\n /** @enum {string} */\n type: \"owner\" | \"vendor\";\n firstName?: string | null;\n name?: string | null;\n phone?: string | null;\n connectionId?: string | null;\n companyType?: (\"c_corporation\" | \"limited_liability_company\" | \"partnership\" | \"s_corporation\" | \"trust_estate\") | null;\n taxIdentifier?: string | null;\n sourceId?: string | null;\n uniqueRef?: string | null;\n status?: (\"active\" | \"inactive\") | null;\n payoutAccountId?: string | null;\n id?: string | null;\n email?: string | null;\n };\n /** Format: date-time */\n sourceLastWebhookAt?: string;\n description?: string;\n status?: string;\n date?: string;\n /** Format: uuid */\n reservationId?: string;\n }[];\n };\n };\n };\n responses: {\n /** @description Submitted raw ingest run */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** Format: uuid */\n runId: string;\n /** @enum {string} */\n targetRealm: \"vrtrust\" | \"vrintegration\";\n /** @enum {string} */\n dataRegion: \"us\" | \"eu\" | \"ap\";\n submitted: number;\n deduped: number;\n enqueued: number;\n skippedJobs: number;\n rawSubmitted: number;\n rawDeduped: number;\n legacyBootstrapMatched: number;\n rawSkippedByWebhook: number;\n rawUploaded: number;\n rawNoop: number;\n legacySourceSubmitted: number;\n legacySourceDeduped: number;\n legacySourceUpserted: number;\n /** @constant */\n status: \"completed\";\n };\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Unauthorized */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n };\n };\n postV1IngestListings: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n \"application/json\": {\n /** Format: uuid */\n tenantId: string;\n /** Format: uuid */\n connectionId: string;\n /** @enum {string} */\n triggerType: \"manual\" | \"schedule\" | \"webhook\" | \"initial\";\n requestedScope?: {\n [key: string]: unknown;\n };\n bootstrapFromLegacySource?: boolean;\n writeLegacySource?: boolean;\n items: {\n remoteId: string;\n payload: {\n id?: string | null;\n uniqueRef?: string | null;\n name: string;\n sourceId?: string | null;\n status?: (\"active\" | \"inactive\") | null;\n address?: {\n full?: string | null;\n line1?: string | null;\n line2?: string | null;\n city?: string | null;\n /** @description Deprecated, use stateCode instead */\n state?: string | null;\n postalCode?: string | null;\n stateCode?: string | null;\n countryCode?: string | null;\n } | null;\n };\n /** Format: date-time */\n sourceLastWebhookAt?: string;\n description?: string;\n status?: string;\n date?: string;\n /** Format: uuid */\n reservationId?: string;\n }[];\n };\n };\n };\n responses: {\n /** @description Submitted raw ingest run */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** Format: uuid */\n runId: string;\n /** @enum {string} */\n targetRealm: \"vrtrust\" | \"vrintegration\";\n /** @enum {string} */\n dataRegion: \"us\" | \"eu\" | \"ap\";\n submitted: number;\n deduped: number;\n enqueued: number;\n skippedJobs: number;\n rawSubmitted: number;\n rawDeduped: number;\n legacyBootstrapMatched: number;\n rawSkippedByWebhook: number;\n rawUploaded: number;\n rawNoop: number;\n legacySourceSubmitted: number;\n legacySourceDeduped: number;\n legacySourceUpserted: number;\n /** @constant */\n status: \"completed\";\n };\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Unauthorized */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n };\n };\n postV1IngestPayments: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n \"application/json\": {\n /** Format: uuid */\n tenantId: string;\n /** Format: uuid */\n connectionId: string;\n /** @enum {string} */\n triggerType: \"manual\" | \"schedule\" | \"webhook\" | \"initial\";\n requestedScope?: {\n [key: string]: unknown;\n };\n bootstrapFromLegacySource?: boolean;\n writeLegacySource?: boolean;\n items: {\n remoteId: string;\n payload: {\n id?: string | null;\n uniqueRef?: string | null;\n etaAt?: string | null;\n paidAt?: string | null;\n /** @description Currency in ISO 4217 format, will be converted to lowercase */\n currency: string;\n description?: string | null;\n metadata?: {\n [key: string]: unknown;\n } | null;\n userdata?: {\n [key: string]: unknown;\n } | null;\n sourceId?: string | null;\n lines: {\n id?: string | null;\n uniqueRef?: string | null;\n type: string;\n description?: string | null;\n reservationId?: string | null;\n reservationRef?: string | null;\n /** @description Value in cents (100 = 1€) */\n amount: number;\n accountId?: string | null;\n accountRef?: string | null;\n connectionId?: string | null;\n metadata?: {\n [key: string]: unknown;\n } | null;\n generalLedgerPostingAt?: string | null;\n }[];\n bankAccountRef?: string | null;\n };\n /** Format: date-time */\n sourceLastWebhookAt?: string;\n description?: string;\n status?: string;\n date?: string;\n /** Format: uuid */\n reservationId?: string;\n }[];\n };\n };\n };\n responses: {\n /** @description Submitted raw ingest run */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** Format: uuid */\n runId: string;\n /** @enum {string} */\n targetRealm: \"vrtrust\" | \"vrintegration\";\n /** @enum {string} */\n dataRegion: \"us\" | \"eu\" | \"ap\";\n submitted: number;\n deduped: number;\n enqueued: number;\n skippedJobs: number;\n rawSubmitted: number;\n rawDeduped: number;\n legacyBootstrapMatched: number;\n rawSkippedByWebhook: number;\n rawUploaded: number;\n rawNoop: number;\n legacySourceSubmitted: number;\n legacySourceDeduped: number;\n legacySourceUpserted: number;\n /** @constant */\n status: \"completed\";\n };\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Unauthorized */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n };\n };\n postV1IngestReservations: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n \"application/json\": {\n /** Format: uuid */\n tenantId: string;\n /** Format: uuid */\n connectionId: string;\n /** @enum {string} */\n triggerType: \"manual\" | \"schedule\" | \"webhook\" | \"initial\";\n requestedScope?: {\n [key: string]: unknown;\n };\n bootstrapFromLegacySource?: boolean;\n writeLegacySource?: boolean;\n items: {\n remoteId: string;\n payload: {\n currency?: string | null;\n uniqueRef?: string | null;\n guestName?: string | null;\n bookerName?: string | null;\n checkIn?: string | null;\n checkOut?: string | null;\n generalLedgerPostingAt?: string | null;\n listingId?: string | null;\n status?: (\"booked\" | \"cancelled\" | \"canceled\" | \"inquiry\" | \"inactive\") | null;\n bookedAt?: string | null;\n cancelledAt?: string | null;\n bookingPlatform?: string | null;\n confirmationCode?: string | null;\n pmsReferenceCode?: string | null;\n guests?: number | null;\n userdata?: {\n [key: string]: unknown;\n } | null;\n metadata?: {\n [key: string]: unknown;\n } | null;\n sourceId?: string | null;\n source?: {\n type: string;\n uniqueRef?: string | null;\n data: {\n [key: string]: unknown;\n };\n lastWebhookAt?: string | null;\n } | null;\n lines?: {\n id?: string | null;\n uniqueRef?: string | null;\n type: string;\n description?: string | null;\n reservationRef?: string | null;\n /** @description Value in cents (100 = 1€) */\n amount: number;\n accountId?: string | null;\n accountRef?: string | null;\n connectionId?: string | null;\n metadata?: {\n [key: string]: unknown;\n } | null;\n generalLedgerPostingAt?: string | null;\n }[];\n id?: string | null;\n /** @description Total lines amounts, for insert validation purposes */\n lineTotalAmount?: number | null;\n changeId?: string | null;\n };\n /** Format: date-time */\n sourceLastWebhookAt?: string;\n description?: string;\n status?: string;\n date?: string;\n /** Format: uuid */\n reservationId?: string;\n }[];\n };\n };\n };\n responses: {\n /** @description Submitted raw ingest run */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** Format: uuid */\n runId: string;\n /** @enum {string} */\n targetRealm: \"vrtrust\" | \"vrintegration\";\n /** @enum {string} */\n dataRegion: \"us\" | \"eu\" | \"ap\";\n submitted: number;\n deduped: number;\n enqueued: number;\n skippedJobs: number;\n rawSubmitted: number;\n rawDeduped: number;\n legacyBootstrapMatched: number;\n rawSkippedByWebhook: number;\n rawUploaded: number;\n rawNoop: number;\n legacySourceSubmitted: number;\n legacySourceDeduped: number;\n legacySourceUpserted: number;\n /** @constant */\n status: \"completed\";\n };\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Unauthorized */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n };\n };\n postV1IngestTransactions: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n \"application/json\": {\n /** Format: uuid */\n tenantId: string;\n /** Format: uuid */\n connectionId: string;\n /** @enum {string} */\n triggerType: \"manual\" | \"schedule\" | \"webhook\" | \"initial\";\n requestedScope?: {\n [key: string]: unknown;\n };\n bootstrapFromLegacySource?: boolean;\n writeLegacySource?: boolean;\n items: {\n remoteId: string;\n payload: {\n description: string;\n status?: (\"active\" | \"inactive\") | null;\n accountId?: string | null;\n contactId?: string | null;\n uniqueRef?: string | null;\n isOpeningBalance?: boolean;\n /** @enum {string} */\n type: \"deposit\" | \"expense\" | \"transfer\" | \"payout\";\n date: string;\n currency?: string | null;\n lines: {\n recurringTemplateId?: string | null;\n uniqueRef?: string | null;\n description: string;\n accountId?: string | null;\n assignment?: (\"accountsPayable\" | \"accountsReceivable\" | \"cancellationRevenue\" | \"deferredRevenue\" | \"deposit_channelFee\" | \"deposit_coHostPayout\" | \"deposit_merchantFee\" | \"openingBalance\" | \"deposit_reserve\" | \"deposit_vat\" | \"dueToFromTrust\" | \"expense_markup\" | \"expense_reimbursement\" | \"expense_salesTax\" | \"payout_bankAccount\" | \"payout_distribution\") | null;\n /** @description Value in cents (100 = 1€) */\n amount: number;\n appliedAmount?: {\n taxRateId?: string | null;\n taxBehavior?: (\"excluded\" | \"included\") | null;\n } | null;\n markup?: {\n amount?: number | null;\n taxRateId?: string | null;\n taxBehavior?: (\"excluded\" | \"included\") | null;\n } | null;\n listingId?: string | null;\n reservationId?: string | null;\n ownerStatementId?: string | null;\n party?: (\"owners\" | \"manager\") | null;\n contactId?: string | null;\n matchReservationConfirmationCode?: string | null;\n matchReservationStripeGuestRef?: string | null;\n matchLineTypeClassification?: string | null;\n }[];\n attachmentIds?: string[] | null;\n payment?: {\n bankRecordIds?: string[];\n /** @enum {string} */\n status?: \"unpaid\" | \"underpaid\" | \"overpaid\" | \"paid\";\n date?: string | null;\n lock?: {\n /** @enum {string} */\n status: \"locked\" | \"unlocked\";\n booksClosed?: {\n date: string;\n } | null;\n ownerStatement?: {\n ids: string[];\n } | null;\n reconciled?: {\n bankRecordIds: string[];\n } | null;\n statementPeriod?: {\n hits: {\n /** Format: uuid */\n listingId: string;\n txnAt: string;\n openFrom: string;\n }[];\n } | null;\n } | null;\n } | null;\n sourceId?: string | null;\n recurringTemplateId?: string | null;\n matchBankAccountLast4?: string | null;\n id?: string;\n };\n /** Format: date-time */\n sourceLastWebhookAt?: string;\n description?: string;\n status?: string;\n date?: string;\n /** Format: uuid */\n reservationId?: string;\n }[];\n };\n };\n };\n responses: {\n /** @description Submitted raw ingest run */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** Format: uuid */\n runId: string;\n /** @enum {string} */\n targetRealm: \"vrtrust\" | \"vrintegration\";\n /** @enum {string} */\n dataRegion: \"us\" | \"eu\" | \"ap\";\n submitted: number;\n deduped: number;\n enqueued: number;\n skippedJobs: number;\n rawSubmitted: number;\n rawDeduped: number;\n legacyBootstrapMatched: number;\n rawSkippedByWebhook: number;\n rawUploaded: number;\n rawNoop: number;\n legacySourceSubmitted: number;\n legacySourceDeduped: number;\n legacySourceUpserted: number;\n /** @constant */\n status: \"completed\";\n };\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Unauthorized */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n };\n };\n getV1RunsByRunId: {\n parameters: {\n query: {\n tenantId: string;\n };\n header?: never;\n path: {\n runId: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Ingest run summary */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** Format: uuid */\n id: string;\n /** Format: uuid */\n tenantId: string;\n /** Format: uuid */\n connectionId: string;\n /** @enum {string} */\n triggerType: \"manual\" | \"schedule\" | \"webhook\" | \"initial\";\n /** @enum {string} */\n status: \"started\" | \"completed\" | \"failed\";\n /** Format: date-time */\n startedAt: string;\n finishedAt: string | null;\n totalItems: number;\n failedItems: number;\n /** @enum {string} */\n dataRegion: \"us\" | \"eu\" | \"ap\";\n };\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Unauthorized */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n };\n };\n}\n"]}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./client"), exports);
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"src/","sources":["services/ingest/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB","sourcesContent":["export * from './client';\nexport type * from './generated/v1';\n"]}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { type RetryableFetchParams } from '@vrplatform/utils';
|
|
2
|
-
import { type ServiceFetchResponse } from '../service-client';
|
|
3
|
-
import type { AnalyticsClient, AnalyticsClientAuth } from './types';
|
|
4
|
-
export declare class AnalyticsApiClientError extends Error {
|
|
5
|
-
constructor(message: string);
|
|
6
|
-
}
|
|
7
|
-
export declare function throwIfAnalyticsError<T extends ServiceFetchResponse>(responsePromise: Promise<T> | T): Promise<{
|
|
8
|
-
data: NonNullable<T['data']>;
|
|
9
|
-
headers: Headers;
|
|
10
|
-
}>;
|
|
11
|
-
export declare function useAnalyticsClient({ baseUrl, auth, headers: h, ...retryableFetchParams }: {
|
|
12
|
-
attempts?: number;
|
|
13
|
-
auth?: AnalyticsClientAuth | (() => AnalyticsClientAuth);
|
|
14
|
-
baseUrl?: string;
|
|
15
|
-
headers?: Record<string, string> | (() => Record<string, string>);
|
|
16
|
-
} & RetryableFetchParams): AnalyticsClient;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import * as Sentry from '@sentry/core';
|
|
2
|
-
import { useRetryableFetch, } from '@vrplatform/utils';
|
|
3
|
-
import createClient from 'openapi-fetch';
|
|
4
|
-
import { applySentryTraceHeaders, throwIfServiceError, } from '../service-client';
|
|
5
|
-
export class AnalyticsApiClientError extends Error {
|
|
6
|
-
constructor(message) {
|
|
7
|
-
super(message);
|
|
8
|
-
this.name = 'AnalyticsApiClientError';
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export async function throwIfAnalyticsError(responsePromise) {
|
|
12
|
-
return throwIfServiceError(responsePromise, (message) => new AnalyticsApiClientError(message), 'Analytics request failed');
|
|
13
|
-
}
|
|
14
|
-
export function useAnalyticsClient({ baseUrl, auth, headers: h, ...retryableFetchParams }) {
|
|
15
|
-
const retryableFetch = useRetryableFetch(retryableFetchParams);
|
|
16
|
-
const trace = Sentry.getTraceData();
|
|
17
|
-
const client = createClient({
|
|
18
|
-
baseUrl: baseUrl ?? 'https://analytics.edge.vrplatform.app',
|
|
19
|
-
fetch(req) {
|
|
20
|
-
return retryableFetch(async () => {
|
|
21
|
-
const clone = new Request(req);
|
|
22
|
-
const resolvedAuth = typeof auth === 'function' ? auth() : auth;
|
|
23
|
-
if (resolvedAuth?.accessToken) {
|
|
24
|
-
clone.headers.set('Authorization', resolvedAuth.accessToken.startsWith('Bearer ')
|
|
25
|
-
? resolvedAuth.accessToken
|
|
26
|
-
: `Bearer ${resolvedAuth.accessToken}`);
|
|
27
|
-
}
|
|
28
|
-
const additionalHeaders = h ? (typeof h === 'function' ? h() : h) : {};
|
|
29
|
-
for (const key in additionalHeaders) {
|
|
30
|
-
clone.headers.set(key, additionalHeaders[key]);
|
|
31
|
-
}
|
|
32
|
-
applySentryTraceHeaders(clone.headers, trace);
|
|
33
|
-
return clone;
|
|
34
|
-
});
|
|
35
|
-
},
|
|
36
|
-
});
|
|
37
|
-
return client;
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"src/","sources":["analytics/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,EAEL,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,uBAAuB,EAEvB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAO3B,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD,YAAY,OAAe,EAAE;QAC3B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IAAA,CACvC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,eAA+B,EAI9B;IACD,OAAO,mBAAmB,CACxB,eAAe,EACf,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,uBAAuB,CAAC,OAAO,CAAC,EACjD,0BAA0B,CAC3B,CAAC;AAAA,CACH;AAED,MAAM,UAAU,kBAAkB,CAAC,EACjC,OAAO,EACP,IAAI,EACJ,OAAO,EAAE,CAAC,EACV,GAAG,oBAAoB,EAMD,EAAmB;IACzC,MAAM,cAAc,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IAEpC,MAAM,MAAM,GAAG,YAAY,CAAiB;QAC1C,OAAO,EAAE,OAAO,IAAI,uCAAuC;QAC3D,KAAK,CAAC,GAAG,EAAE;YACT,OAAO,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC/B,MAAM,YAAY,GAAG,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAEhE,IAAI,YAAY,EAAE,WAAW,EAAE,CAAC;oBAC9B,KAAK,CAAC,OAAO,CAAC,GAAG,CACf,eAAe,EACf,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC;wBAC5C,CAAC,CAAC,YAAY,CAAC,WAAW;wBAC1B,CAAC,CAAC,UAAU,YAAY,CAAC,WAAW,EAAE,CACzC,CAAC;gBACJ,CAAC;gBAED,MAAM,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;oBACpC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjD,CAAC;gBAED,uBAAuB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAE9C,OAAO,KAAK,CAAC;YAAA,CACd,CAAC,CAAC;QAAA,CACJ;KACF,CAAC,CAAC;IAEH,OAAO,MAAyB,CAAC;AAAA,CAClC","sourcesContent":["import * as Sentry from '@sentry/core';\nimport {\n type RetryableFetchParams,\n useRetryableFetch,\n} from '@vrplatform/utils';\nimport createClient from 'openapi-fetch';\nimport {\n applySentryTraceHeaders,\n type ServiceFetchResponse,\n throwIfServiceError,\n} from '../service-client';\nimport type {\n AnalyticsClient,\n AnalyticsClientAuth,\n AnalyticsPaths,\n} from './types';\n\nexport class AnalyticsApiClientError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'AnalyticsApiClientError';\n }\n}\n\nexport async function throwIfAnalyticsError<T extends ServiceFetchResponse>(\n responsePromise: Promise<T> | T\n): Promise<{\n data: NonNullable<T['data']>;\n headers: Headers;\n}> {\n return throwIfServiceError(\n responsePromise,\n (message) => new AnalyticsApiClientError(message),\n 'Analytics request failed'\n );\n}\n\nexport function useAnalyticsClient({\n baseUrl,\n auth,\n headers: h,\n ...retryableFetchParams\n}: {\n attempts?: number;\n auth?: AnalyticsClientAuth | (() => AnalyticsClientAuth);\n baseUrl?: string;\n headers?: Record<string, string> | (() => Record<string, string>);\n} & RetryableFetchParams): AnalyticsClient {\n const retryableFetch = useRetryableFetch(retryableFetchParams);\n const trace = Sentry.getTraceData();\n\n const client = createClient<AnalyticsPaths>({\n baseUrl: baseUrl ?? 'https://analytics.edge.vrplatform.app',\n fetch(req) {\n return retryableFetch(async () => {\n const clone = new Request(req);\n const resolvedAuth = typeof auth === 'function' ? auth() : auth;\n\n if (resolvedAuth?.accessToken) {\n clone.headers.set(\n 'Authorization',\n resolvedAuth.accessToken.startsWith('Bearer ')\n ? resolvedAuth.accessToken\n : `Bearer ${resolvedAuth.accessToken}`\n );\n }\n\n const additionalHeaders = h ? (typeof h === 'function' ? h() : h) : {};\n for (const key in additionalHeaders) {\n clone.headers.set(key, additionalHeaders[key]);\n }\n\n applySentryTraceHeaders(clone.headers, trace);\n\n return clone;\n });\n },\n });\n\n return client as AnalyticsClient;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"src/","sources":["analytics/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC","sourcesContent":["export * from './client';\nexport * from './types';\n"]}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import type createClient from 'openapi-fetch';
|
|
2
|
-
type OpenApiHeaders = {
|
|
3
|
-
[name: string]: unknown;
|
|
4
|
-
};
|
|
5
|
-
type OpenApiNoParameters = {
|
|
6
|
-
query?: never;
|
|
7
|
-
header?: never;
|
|
8
|
-
path?: never;
|
|
9
|
-
cookie?: never;
|
|
10
|
-
};
|
|
11
|
-
type OpenApiJsonResponse<T> = {
|
|
12
|
-
headers: OpenApiHeaders;
|
|
13
|
-
content: {
|
|
14
|
-
'application/json': T;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
export type UiAnalyticsEventInput = {
|
|
18
|
-
anonymousId?: string | null;
|
|
19
|
-
event: string;
|
|
20
|
-
properties?: Record<string, unknown> | null;
|
|
21
|
-
};
|
|
22
|
-
export interface AnalyticsPaths {
|
|
23
|
-
'/analytics/events': {
|
|
24
|
-
parameters: OpenApiNoParameters;
|
|
25
|
-
get?: never;
|
|
26
|
-
put?: never;
|
|
27
|
-
post: {
|
|
28
|
-
parameters: OpenApiNoParameters;
|
|
29
|
-
requestBody: {
|
|
30
|
-
content: {
|
|
31
|
-
'application/json': UiAnalyticsEventInput;
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
responses: {
|
|
35
|
-
200: OpenApiJsonResponse<{
|
|
36
|
-
id: string;
|
|
37
|
-
}>;
|
|
38
|
-
};
|
|
39
|
-
};
|
|
40
|
-
delete?: never;
|
|
41
|
-
options?: never;
|
|
42
|
-
head?: never;
|
|
43
|
-
patch?: never;
|
|
44
|
-
trace?: never;
|
|
45
|
-
};
|
|
46
|
-
'/analytics/events/batch': {
|
|
47
|
-
parameters: OpenApiNoParameters;
|
|
48
|
-
get?: never;
|
|
49
|
-
put?: never;
|
|
50
|
-
post: {
|
|
51
|
-
parameters: OpenApiNoParameters;
|
|
52
|
-
requestBody: {
|
|
53
|
-
content: {
|
|
54
|
-
'application/json': {
|
|
55
|
-
events: UiAnalyticsEventInput[];
|
|
56
|
-
};
|
|
57
|
-
};
|
|
58
|
-
};
|
|
59
|
-
responses: {
|
|
60
|
-
200: OpenApiJsonResponse<{
|
|
61
|
-
ids: string[];
|
|
62
|
-
total: number;
|
|
63
|
-
}>;
|
|
64
|
-
};
|
|
65
|
-
};
|
|
66
|
-
delete?: never;
|
|
67
|
-
options?: never;
|
|
68
|
-
head?: never;
|
|
69
|
-
patch?: never;
|
|
70
|
-
trace?: never;
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
export type AnalyticsClientAuth = {
|
|
74
|
-
accessToken?: string;
|
|
75
|
-
};
|
|
76
|
-
export type AnalyticsClient = ReturnType<typeof createClient<AnalyticsPaths>>;
|
|
77
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"src/","sources":["analytics/types.ts"],"names":[],"mappings":"","sourcesContent":["import type createClient from 'openapi-fetch';\n\ntype OpenApiHeaders = {\n [name: string]: unknown;\n};\n\ntype OpenApiNoParameters = {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n};\n\ntype OpenApiJsonResponse<T> = {\n headers: OpenApiHeaders;\n content: {\n 'application/json': T;\n };\n};\n\nexport type UiAnalyticsEventInput = {\n anonymousId?: string | null;\n event: string;\n properties?: Record<string, unknown> | null;\n};\n\nexport interface AnalyticsPaths {\n '/analytics/events': {\n parameters: OpenApiNoParameters;\n get?: never;\n put?: never;\n post: {\n parameters: OpenApiNoParameters;\n requestBody: {\n content: {\n 'application/json': UiAnalyticsEventInput;\n };\n };\n responses: {\n 200: OpenApiJsonResponse<{\n id: string;\n }>;\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n '/analytics/events/batch': {\n parameters: OpenApiNoParameters;\n get?: never;\n put?: never;\n post: {\n parameters: OpenApiNoParameters;\n requestBody: {\n content: {\n 'application/json': {\n events: UiAnalyticsEventInput[];\n };\n };\n };\n responses: {\n 200: OpenApiJsonResponse<{\n ids: string[];\n total: number;\n }>;\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n}\n\nexport type AnalyticsClientAuth = {\n accessToken?: string;\n};\n\nexport type AnalyticsClient = ReturnType<typeof createClient<AnalyticsPaths>>;\n"]}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import * as Sentry from '@sentry/core';
|
|
2
|
-
export type ServiceFetchResponse<TData = unknown, TError = unknown> = {
|
|
3
|
-
data?: TData;
|
|
4
|
-
error?: TError;
|
|
5
|
-
response: Response;
|
|
6
|
-
};
|
|
7
|
-
export declare function createTraceparentHeader(sentryTrace: string | undefined): string | null;
|
|
8
|
-
export declare function applySentryTraceHeaders(headers: Headers, trace: ReturnType<typeof Sentry.getTraceData>): void;
|
|
9
|
-
export declare function withSentryTrace(request: Request): Request<unknown, CfProperties<unknown>>;
|
|
10
|
-
export declare function throwIfServiceError<T extends ServiceFetchResponse>(responsePromise: Promise<T> | T, createError: (message: string) => Error, defaultMessage: string, options?: {
|
|
11
|
-
serviceUnavailableMessage?: string;
|
|
12
|
-
}): Promise<{
|
|
13
|
-
data: NonNullable<T['data']>;
|
|
14
|
-
headers: Headers;
|
|
15
|
-
}>;
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import * as Sentry from '@sentry/core';
|
|
2
|
-
export function createTraceparentHeader(sentryTrace) {
|
|
3
|
-
if (!sentryTrace) {
|
|
4
|
-
return null;
|
|
5
|
-
}
|
|
6
|
-
const [traceId, spanId, sampled] = sentryTrace.split('-');
|
|
7
|
-
if (!traceId ||
|
|
8
|
-
!spanId ||
|
|
9
|
-
traceId.length !== 32 ||
|
|
10
|
-
spanId.length !== 16 ||
|
|
11
|
-
!/^[0-9a-f]+$/i.test(traceId) ||
|
|
12
|
-
!/^[0-9a-f]+$/i.test(spanId)) {
|
|
13
|
-
return null;
|
|
14
|
-
}
|
|
15
|
-
return `00-${traceId}-${spanId}-${sampled === '1' ? '01' : '00'}`;
|
|
16
|
-
}
|
|
17
|
-
export function applySentryTraceHeaders(headers, trace) {
|
|
18
|
-
if (trace['sentry-trace']) {
|
|
19
|
-
headers.set('sentry-trace', trace['sentry-trace']);
|
|
20
|
-
const traceparent = createTraceparentHeader(trace['sentry-trace']);
|
|
21
|
-
if (traceparent) {
|
|
22
|
-
headers.set('traceparent', traceparent);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
headers.delete('traceparent');
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
if (trace.baggage) {
|
|
29
|
-
headers.set('baggage', trace.baggage);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
export function withSentryTrace(request) {
|
|
33
|
-
applySentryTraceHeaders(request.headers, Sentry.getTraceData());
|
|
34
|
-
return request;
|
|
35
|
-
}
|
|
36
|
-
export async function throwIfServiceError(responsePromise, createError, defaultMessage, options) {
|
|
37
|
-
const response = await responsePromise;
|
|
38
|
-
if (response.response.status === 503 &&
|
|
39
|
-
options?.serviceUnavailableMessage !== undefined) {
|
|
40
|
-
throw createError(options.serviceUnavailableMessage);
|
|
41
|
-
}
|
|
42
|
-
const error = response.error;
|
|
43
|
-
if (error) {
|
|
44
|
-
throw createError(error.message ?? defaultMessage);
|
|
45
|
-
}
|
|
46
|
-
return {
|
|
47
|
-
data: response.data,
|
|
48
|
-
headers: response.response.headers,
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=service-client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service-client.js","sourceRoot":"src/","sources":["service-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAQvC,MAAM,UAAU,uBAAuB,CAAC,WAA+B,EAAE;IACvE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1D,IACE,CAAC,OAAO;QACR,CAAC,MAAM;QACP,OAAO,CAAC,MAAM,KAAK,EAAE;QACrB,MAAM,CAAC,MAAM,KAAK,EAAE;QACpB,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7B,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAC5B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,MAAM,OAAO,IAAI,MAAM,IAAI,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAAA,CACnE;AAED,MAAM,UAAU,uBAAuB,CACrC,OAAgB,EAChB,KAA6C,EAC7C;IACA,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,uBAAuB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;QACnE,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;AAAA,CACF;AAED,MAAM,UAAU,eAAe,CAAC,OAAgB,EAAE;IAChD,uBAAuB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAEhE,OAAO,OAAO,CAAC;AAAA,CAChB;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,eAA+B,EAC/B,WAAuC,EACvC,cAAsB,EACtB,OAEC,EAC4D;IAC7D,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;IAEvC,IACE,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG;QAChC,OAAO,EAAE,yBAAyB,KAAK,SAAS,EAChD,CAAC;QACD,MAAM,WAAW,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAyC,CAAC;IACjE,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,WAAW,CAAC,KAAK,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC;IACrD,CAAC;IAED,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,IAA8B;QAC7C,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO;KACnC,CAAC;AAAA,CACH","sourcesContent":["import * as Sentry from '@sentry/core';\n\nexport type ServiceFetchResponse<TData = unknown, TError = unknown> = {\n data?: TData;\n error?: TError;\n response: Response;\n};\n\nexport function createTraceparentHeader(sentryTrace: string | undefined) {\n if (!sentryTrace) {\n return null;\n }\n\n const [traceId, spanId, sampled] = sentryTrace.split('-');\n if (\n !traceId ||\n !spanId ||\n traceId.length !== 32 ||\n spanId.length !== 16 ||\n !/^[0-9a-f]+$/i.test(traceId) ||\n !/^[0-9a-f]+$/i.test(spanId)\n ) {\n return null;\n }\n\n return `00-${traceId}-${spanId}-${sampled === '1' ? '01' : '00'}`;\n}\n\nexport function applySentryTraceHeaders(\n headers: Headers,\n trace: ReturnType<typeof Sentry.getTraceData>\n) {\n if (trace['sentry-trace']) {\n headers.set('sentry-trace', trace['sentry-trace']);\n const traceparent = createTraceparentHeader(trace['sentry-trace']);\n if (traceparent) {\n headers.set('traceparent', traceparent);\n } else {\n headers.delete('traceparent');\n }\n }\n\n if (trace.baggage) {\n headers.set('baggage', trace.baggage);\n }\n}\n\nexport function withSentryTrace(request: Request) {\n applySentryTraceHeaders(request.headers, Sentry.getTraceData());\n\n return request;\n}\n\nexport async function throwIfServiceError<T extends ServiceFetchResponse>(\n responsePromise: Promise<T> | T,\n createError: (message: string) => Error,\n defaultMessage: string,\n options?: {\n serviceUnavailableMessage?: string;\n }\n): Promise<{ data: NonNullable<T['data']>; headers: Headers }> {\n const response = await responsePromise;\n\n if (\n response.response.status === 503 &&\n options?.serviceUnavailableMessage !== undefined\n ) {\n throw createError(options.serviceUnavailableMessage);\n }\n\n const error = response.error as { message?: string } | undefined;\n if (error) {\n throw createError(error.message ?? defaultMessage);\n }\n\n return {\n data: response.data as NonNullable<T['data']>,\n headers: response.response.headers,\n };\n}\n"]}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import createClient from 'openapi-fetch';
|
|
2
|
-
import { type ServiceFetchResponse } from '../../service-client';
|
|
3
|
-
import type { paths } from './generated/v1';
|
|
4
|
-
export declare class AnalyticsApiError extends Error {
|
|
5
|
-
constructor(message: string);
|
|
6
|
-
}
|
|
7
|
-
export type AnalyticsApiClient = ReturnType<typeof createClient<paths>>;
|
|
8
|
-
export declare function throwIfError<T extends ServiceFetchResponse>(responsePromise: Promise<T> | T): Promise<{
|
|
9
|
-
data: NonNullable<T['data']>;
|
|
10
|
-
headers: Headers;
|
|
11
|
-
}>;
|
|
12
|
-
export declare function useAnalyticsApiClient(args: {
|
|
13
|
-
env: {
|
|
14
|
-
ANALYTICS?: Fetcher;
|
|
15
|
-
};
|
|
16
|
-
}): AnalyticsApiClient;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import createClient from 'openapi-fetch';
|
|
2
|
-
import { throwIfServiceError, withSentryTrace, } from '../../service-client';
|
|
3
|
-
export class AnalyticsApiError extends Error {
|
|
4
|
-
constructor(message) {
|
|
5
|
-
super(message);
|
|
6
|
-
this.name = 'AnalyticsApiError';
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export async function throwIfError(responsePromise) {
|
|
10
|
-
return throwIfServiceError(responsePromise, (message) => new AnalyticsApiError(message), 'Analytics request failed');
|
|
11
|
-
}
|
|
12
|
-
export function useAnalyticsApiClient(args) {
|
|
13
|
-
const binding = args.env.ANALYTICS;
|
|
14
|
-
if (!binding) {
|
|
15
|
-
throw new AnalyticsApiError('Analytics worker not found');
|
|
16
|
-
}
|
|
17
|
-
return createClient({
|
|
18
|
-
baseUrl: 'http://stub.local',
|
|
19
|
-
fetch(request) {
|
|
20
|
-
return binding.fetch(withSentryTrace(request));
|
|
21
|
-
},
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"src/","sources":["services/analytics/client.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAEL,mBAAmB,EACnB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAG9B,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,OAAe,EAAE;QAC3B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAAA,CACjC;CACF;AAID,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,eAA+B,EAC8B;IAC7D,OAAO,mBAAmB,CACxB,eAAe,EACf,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAC3C,0BAA0B,CAC3B,CAAC;AAAA,CACH;AAED,MAAM,UAAU,qBAAqB,CAAC,IAIrC,EAAsB;IACrB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,iBAAiB,CAAC,4BAA4B,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,YAAY,CAAQ;QACzB,OAAO,EAAE,mBAAmB;QAC5B,KAAK,CAAC,OAAO,EAAE;YACb,OAAO,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;QAAA,CAChD;KACF,CAAC,CAAC;AAAA,CACJ","sourcesContent":["import createClient from 'openapi-fetch';\nimport {\n type ServiceFetchResponse,\n throwIfServiceError,\n withSentryTrace,\n} from '../../service-client';\nimport type { paths } from './generated/v1';\n\nexport class AnalyticsApiError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'AnalyticsApiError';\n }\n}\n\nexport type AnalyticsApiClient = ReturnType<typeof createClient<paths>>;\n\nexport async function throwIfError<T extends ServiceFetchResponse>(\n responsePromise: Promise<T> | T\n): Promise<{ data: NonNullable<T['data']>; headers: Headers }> {\n return throwIfServiceError(\n responsePromise,\n (message) => new AnalyticsApiError(message),\n 'Analytics request failed'\n );\n}\n\nexport function useAnalyticsApiClient(args: {\n env: {\n ANALYTICS?: Fetcher;\n };\n}): AnalyticsApiClient {\n const binding = args.env.ANALYTICS;\n if (!binding) {\n throw new AnalyticsApiError('Analytics worker not found');\n }\n\n return createClient<paths>({\n baseUrl: 'http://stub.local',\n fetch(request) {\n return binding.fetch(withSentryTrace(request));\n },\n });\n}\n"]}
|