@itm-studio/partner-sdk 0.1.4 → 0.1.6
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/README.md +12 -0
- package/dist/index.d.mts +167 -0
- package/dist/index.d.ts +167 -0
- package/dist/index.js +284 -134
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +284 -134
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/schema/partner.graphql +110 -0
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/generated/runtime/error.ts","../src/generated/runtime/batcher.ts","../src/generated/runtime/fetcher.ts","../src/generated/runtime/generateGraphqlOperation.ts","../src/generated/runtime/createClient.ts","../src/generated/runtime/linkTypeMap.ts","../src/generated/types.ts","../src/generated/index.ts","../src/client.ts"],"names":["json","field","type","typeMap","k","typeName","createClient"],"mappings":"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","file":"index.mjs","sourcesContent":["// @ts-nocheck\nexport class GenqlError extends Error {\n errors: Array<GraphqlError> = []\n /**\n * Partial data returned by the server\n */\n data?: any\n constructor(errors: any[], data: any) {\n let message = Array.isArray(errors)\n ? errors.map((x) => x?.message || '').join('\\n')\n : ''\n if (!message) {\n message = 'GraphQL error'\n }\n super(message)\n this.errors = errors\n this.data = data\n }\n}\n\ninterface GraphqlError {\n message: string\n locations?: Array<{\n line: number\n column: number\n }>\n path?: string[]\n extensions?: Record<string, any>\n}\n","// @ts-nocheck\nimport type { GraphqlOperation } from './generateGraphqlOperation'\nimport { GenqlError } from './error'\n\ntype Variables = Record<string, any>\n\ntype QueryError = Error & {\n message: string\n\n locations?: Array<{\n line: number\n column: number\n }>\n path?: any\n rid: string\n details?: Record<string, any>\n}\ntype Result = {\n data: Record<string, any>\n errors: Array<QueryError>\n}\ntype Fetcher = (\n batchedQuery: GraphqlOperation | Array<GraphqlOperation>,\n) => Promise<Array<Result>>\ntype Options = {\n batchInterval?: number\n shouldBatch?: boolean\n maxBatchSize?: number\n}\ntype Queue = Array<{\n request: GraphqlOperation\n resolve: (...args: Array<any>) => any\n reject: (...args: Array<any>) => any\n}>\n\n/**\n * takes a list of requests (queue) and batches them into a single server request.\n * It will then resolve each individual requests promise with the appropriate data.\n * @private\n * @param {QueryBatcher} client - the client to use\n * @param {Queue} queue - the list of requests to batch\n */\nfunction dispatchQueueBatch(client: QueryBatcher, queue: Queue): void {\n let batchedQuery: any = queue.map((item) => item.request)\n\n if (batchedQuery.length === 1) {\n batchedQuery = batchedQuery[0]\n }\n (() => {\n try {\n return client.fetcher(batchedQuery);\n } catch(e) {\n return Promise.reject(e);\n }\n })().then((responses: any) => {\n if (queue.length === 1 && !Array.isArray(responses)) {\n if (responses.errors && responses.errors.length) {\n queue[0].reject(\n new GenqlError(responses.errors, responses.data),\n )\n return\n }\n\n queue[0].resolve(responses)\n return\n } else if (responses.length !== queue.length) {\n throw new Error('response length did not match query length')\n }\n\n for (let i = 0; i < queue.length; i++) {\n if (responses[i].errors && responses[i].errors.length) {\n queue[i].reject(\n new GenqlError(responses[i].errors, responses[i].data),\n )\n } else {\n queue[i].resolve(responses[i])\n }\n }\n })\n .catch((e) => {\n for (let i = 0; i < queue.length; i++) {\n queue[i].reject(e)\n }\n });\n}\n\n/**\n * creates a list of requests to batch according to max batch size.\n * @private\n * @param {QueryBatcher} client - the client to create list of requests from from\n * @param {Options} options - the options for the batch\n */\nfunction dispatchQueue(client: QueryBatcher, options: Options): void {\n const queue = client._queue\n const maxBatchSize = options.maxBatchSize || 0\n client._queue = []\n\n if (maxBatchSize > 0 && maxBatchSize < queue.length) {\n for (let i = 0; i < queue.length / maxBatchSize; i++) {\n dispatchQueueBatch(\n client,\n queue.slice(i * maxBatchSize, (i + 1) * maxBatchSize),\n )\n }\n } else {\n dispatchQueueBatch(client, queue)\n }\n}\n/**\n * Create a batcher client.\n * @param {Fetcher} fetcher - A function that can handle the network requests to graphql endpoint\n * @param {Options} options - the options to be used by client\n * @param {boolean} options.shouldBatch - should the client batch requests. (default true)\n * @param {integer} options.batchInterval - duration (in MS) of each batch window. (default 6)\n * @param {integer} options.maxBatchSize - max number of requests in a batch. (default 0)\n * @param {boolean} options.defaultHeaders - default headers to include with every request\n *\n * @example\n * const fetcher = batchedQuery => fetch('path/to/graphql', {\n * method: 'post',\n * headers: {\n * Accept: 'application/json',\n * 'Content-Type': 'application/json',\n * },\n * body: JSON.stringify(batchedQuery),\n * credentials: 'include',\n * })\n * .then(response => response.json())\n *\n * const client = new QueryBatcher(fetcher, { maxBatchSize: 10 })\n */\n\nexport class QueryBatcher {\n fetcher: Fetcher\n _options: Options\n _queue: Queue\n\n constructor(\n fetcher: Fetcher,\n {\n batchInterval = 6,\n shouldBatch = true,\n maxBatchSize = 0,\n }: Options = {},\n ) {\n this.fetcher = fetcher\n this._options = {\n batchInterval,\n shouldBatch,\n maxBatchSize,\n }\n this._queue = []\n }\n\n /**\n * Fetch will send a graphql request and return the parsed json.\n * @param {string} query - the graphql query.\n * @param {Variables} variables - any variables you wish to inject as key/value pairs.\n * @param {[string]} operationName - the graphql operationName.\n * @param {Options} overrides - the client options overrides.\n *\n * @return {promise} resolves to parsed json of server response\n *\n * @example\n * client.fetch(`\n * query getHuman($id: ID!) {\n * human(id: $id) {\n * name\n * height\n * }\n * }\n * `, { id: \"1001\" }, 'getHuman')\n * .then(human => {\n * // do something with human\n * console.log(human);\n * });\n */\n fetch(\n query: string,\n variables?: Variables,\n operationName?: string,\n overrides: Options = {},\n ): Promise<Result> {\n const request: GraphqlOperation = {\n query,\n }\n const options = Object.assign({}, this._options, overrides)\n\n if (variables) {\n request.variables = variables\n }\n\n if (operationName) {\n request.operationName = operationName\n }\n\n const promise = new Promise<Result>((resolve, reject) => {\n this._queue.push({\n request,\n resolve,\n reject,\n })\n\n if (this._queue.length === 1) {\n if (options.shouldBatch) {\n setTimeout(\n () => dispatchQueue(this, options),\n options.batchInterval,\n )\n } else {\n dispatchQueue(this, options)\n }\n }\n })\n return promise\n }\n\n /**\n * Fetch will send a graphql request and return the parsed json.\n * @param {string} query - the graphql query.\n * @param {Variables} variables - any variables you wish to inject as key/value pairs.\n * @param {[string]} operationName - the graphql operationName.\n * @param {Options} overrides - the client options overrides.\n *\n * @return {Promise<Array<Result>>} resolves to parsed json of server response\n *\n * @example\n * client.forceFetch(`\n * query getHuman($id: ID!) {\n * human(id: $id) {\n * name\n * height\n * }\n * }\n * `, { id: \"1001\" }, 'getHuman')\n * .then(human => {\n * // do something with human\n * console.log(human);\n * });\n */\n forceFetch(\n query: string,\n variables?: Variables,\n operationName?: string,\n overrides: Options = {},\n ): Promise<Result> {\n const request: GraphqlOperation = {\n query,\n }\n const options = Object.assign({}, this._options, overrides, {\n shouldBatch: false,\n })\n\n if (variables) {\n request.variables = variables\n }\n\n if (operationName) {\n request.operationName = operationName\n }\n\n const promise = new Promise<Result>((resolve, reject) => {\n const client = new QueryBatcher(this.fetcher, this._options)\n client._queue = [\n {\n request,\n resolve,\n reject,\n },\n ]\n dispatchQueue(client, options)\n })\n return promise\n }\n}\n","// @ts-nocheck\nimport { QueryBatcher } from './batcher'\n\nimport type { ClientOptions } from './createClient'\nimport type { GraphqlOperation } from './generateGraphqlOperation'\nimport { GenqlError } from './error'\n\nexport interface Fetcher {\n (gql: GraphqlOperation): Promise<any>\n}\n\nexport type BatchOptions = {\n batchInterval?: number // ms\n maxBatchSize?: number\n}\n\nconst DEFAULT_BATCH_OPTIONS = {\n maxBatchSize: 10,\n batchInterval: 40,\n}\n\nexport const createFetcher = ({\n url,\n headers = {},\n fetcher,\n fetch: _fetch,\n batch = false,\n ...rest\n}: ClientOptions): Fetcher => {\n if (!url && !fetcher) {\n throw new Error('url or fetcher is required')\n }\n\n fetcher = fetcher || (async (body) => {\n let headersObject =\n typeof headers == 'function' ? await headers() : headers\n headersObject = headersObject || {}\n if (typeof fetch === 'undefined' && !_fetch) {\n throw new Error(\n 'Global `fetch` function is not available, pass a fetch polyfill to Genql `createClient`',\n )\n }\n let fetchImpl = _fetch || fetch\n const res = await fetchImpl(url!, {\n headers: {\n 'Content-Type': 'application/json',\n ...headersObject,\n },\n method: 'POST',\n body: JSON.stringify(body),\n ...rest,\n })\n if (!res.ok) {\n throw new Error(`${res.statusText}: ${await res.text()}`)\n }\n const json = await res.json()\n return json\n })\n\n if (!batch) {\n return async (body) => {\n const json = await fetcher!(body)\n if (Array.isArray(json)) {\n return json.map((json) => {\n if (json?.errors?.length) {\n throw new GenqlError(json.errors || [], json.data)\n }\n return json.data\n })\n } else {\n if (json?.errors?.length) {\n throw new GenqlError(json.errors || [], json.data)\n }\n return json.data\n }\n }\n }\n\n const batcher = new QueryBatcher(\n async (batchedQuery) => {\n // console.log(batchedQuery) // [{ query: 'query{user{age}}', variables: {} }, ...]\n const json = await fetcher!(batchedQuery)\n return json as any\n },\n batch === true ? DEFAULT_BATCH_OPTIONS : batch,\n )\n\n return async ({ query, variables }) => {\n const json = await batcher.fetch(query, variables)\n if (json?.data) {\n return json.data\n }\n throw new Error(\n 'Genql batch fetcher returned unexpected result ' + JSON.stringify(json),\n )\n }\n}\n","// @ts-nocheck\nimport type { LinkedField, LinkedType } from './types'\n\nexport interface Args {\n [arg: string]: any | undefined\n}\n\nexport interface Fields {\n [field: string]: Request\n}\n\nexport type Request = boolean | number | Fields\n\nexport interface Variables {\n [name: string]: {\n value: any\n typing: [LinkedType, string]\n }\n}\n\nexport interface Context {\n root: LinkedType\n varCounter: number\n variables: Variables\n fragmentCounter: number\n fragments: string[]\n}\n\nexport interface GraphqlOperation {\n query: string\n variables?: { [name: string]: any }\n operationName?: string\n}\n\nconst parseRequest = (\n request: Request | undefined,\n ctx: Context,\n path: string[],\n): string => {\n if (typeof request === 'object' && '__args' in request) {\n const args: any = request.__args\n let fields: Request | undefined = { ...request }\n delete fields.__args\n const argNames = Object.keys(args)\n\n if (argNames.length === 0) {\n return parseRequest(fields, ctx, path)\n }\n\n const field = getFieldFromPath(ctx.root, path)\n\n const argStrings = argNames.map((argName) => {\n ctx.varCounter++\n const varName = `v${ctx.varCounter}`\n\n const typing = field.args && field.args[argName] // typeMap used here, .args\n\n if (!typing) {\n throw new Error(\n `no typing defined for argument \\`${argName}\\` in path \\`${path.join(\n '.',\n )}\\``,\n )\n }\n\n ctx.variables[varName] = {\n value: args[argName],\n typing,\n }\n\n return `${argName}:$${varName}`\n })\n return `(${argStrings})${parseRequest(fields, ctx, path)}`\n } else if (typeof request === 'object' && Object.keys(request).length > 0) {\n const fields = request\n const fieldNames = Object.keys(fields).filter((k) => Boolean(fields[k]))\n\n if (fieldNames.length === 0) {\n throw new Error(\n `field selection should not be empty: ${path.join('.')}`,\n )\n }\n\n const type =\n path.length > 0 ? getFieldFromPath(ctx.root, path).type : ctx.root\n const scalarFields = type.scalar\n\n let scalarFieldsFragment: string | undefined\n\n if (fieldNames.includes('__scalar')) {\n const falsyFieldNames = new Set(\n Object.keys(fields).filter((k) => !Boolean(fields[k])),\n )\n if (scalarFields?.length) {\n ctx.fragmentCounter++\n scalarFieldsFragment = `f${ctx.fragmentCounter}`\n\n ctx.fragments.push(\n `fragment ${scalarFieldsFragment} on ${\n type.name\n }{${scalarFields\n .filter((f) => !falsyFieldNames.has(f))\n .join(',')}}`,\n )\n }\n }\n\n const fieldsSelection = fieldNames\n .filter((f) => !['__scalar', '__name'].includes(f))\n .map((f) => {\n const parsed = parseRequest(fields[f], ctx, [...path, f])\n\n if (f.startsWith('on_')) {\n ctx.fragmentCounter++\n const implementationFragment = `f${ctx.fragmentCounter}`\n\n const typeMatch = f.match(/^on_(.+)/)\n\n if (!typeMatch || !typeMatch[1])\n throw new Error('match failed')\n\n ctx.fragments.push(\n `fragment ${implementationFragment} on ${typeMatch[1]}${parsed}`,\n )\n\n return `...${implementationFragment}`\n } else {\n return `${f}${parsed}`\n }\n })\n .concat(scalarFieldsFragment ? [`...${scalarFieldsFragment}`] : [])\n .join(',')\n\n return `{${fieldsSelection}}`\n } else {\n return ''\n }\n}\n\nexport const generateGraphqlOperation = (\n operation: 'query' | 'mutation' | 'subscription',\n root: LinkedType,\n fields?: Fields,\n): GraphqlOperation => {\n const ctx: Context = {\n root: root,\n varCounter: 0,\n variables: {},\n fragmentCounter: 0,\n fragments: [],\n }\n const result = parseRequest(fields, ctx, [])\n\n const varNames = Object.keys(ctx.variables)\n\n const varsString =\n varNames.length > 0\n ? `(${varNames.map((v) => {\n const variableType = ctx.variables[v].typing[1]\n return `$${v}:${variableType}`\n })})`\n : ''\n\n const operationName = fields?.__name || ''\n\n return {\n query: [\n `${operation} ${operationName}${varsString}${result}`,\n ...ctx.fragments,\n ].join(','),\n variables: Object.keys(ctx.variables).reduce<{ [name: string]: any }>(\n (r, v) => {\n r[v] = ctx.variables[v].value\n return r\n },\n {},\n ),\n ...(operationName ? { operationName: operationName.toString() } : {}),\n }\n}\n\nexport const getFieldFromPath = (\n root: LinkedType | undefined,\n path: string[],\n) => {\n let current: LinkedField | undefined\n\n if (!root) throw new Error('root type is not provided')\n\n if (path.length === 0) throw new Error(`path is empty`)\n\n path.forEach((f) => {\n const type = current ? current.type : root\n\n if (!type.fields)\n throw new Error(`type \\`${type.name}\\` does not have fields`)\n\n const possibleTypes = Object.keys(type.fields)\n .filter((i) => i.startsWith('on_'))\n .reduce(\n (types, fieldName) => {\n const field = type.fields && type.fields[fieldName]\n if (field) types.push(field.type)\n return types\n },\n [type],\n )\n\n let field: LinkedField | null = null\n\n possibleTypes.forEach((type) => {\n const found = type.fields && type.fields[f]\n if (found) field = found\n })\n\n if (!field)\n throw new Error(\n `type \\`${type.name}\\` does not have a field \\`${f}\\``,\n )\n\n current = field\n })\n\n return current as LinkedField\n}\n","// @ts-nocheck\n\nimport { type BatchOptions, createFetcher } from './fetcher'\nimport type { ExecutionResult, LinkedType } from './types'\nimport {\n generateGraphqlOperation,\n type GraphqlOperation,\n} from './generateGraphqlOperation'\n\nexport type Headers =\n | HeadersInit\n | (() => HeadersInit)\n | (() => Promise<HeadersInit>)\n\nexport type BaseFetcher = (\n operation: GraphqlOperation | GraphqlOperation[],\n) => Promise<ExecutionResult | ExecutionResult[]>\n\nexport type ClientOptions = Omit<RequestInit, 'body' | 'headers'> & {\n url?: string\n batch?: BatchOptions | boolean\n fetcher?: BaseFetcher\n fetch?: Function\n headers?: Headers\n}\n\nexport const createClient = ({\n queryRoot,\n mutationRoot,\n subscriptionRoot,\n ...options\n}: ClientOptions & {\n queryRoot?: LinkedType\n mutationRoot?: LinkedType\n subscriptionRoot?: LinkedType\n}) => {\n const fetcher = createFetcher(options)\n const client: {\n query?: Function\n mutation?: Function\n } = {}\n\n if (queryRoot) {\n client.query = (request: any) => {\n if (!queryRoot) throw new Error('queryRoot argument is missing')\n\n const resultPromise = fetcher(\n generateGraphqlOperation('query', queryRoot, request),\n )\n\n return resultPromise\n }\n }\n if (mutationRoot) {\n client.mutation = (request: any) => {\n if (!mutationRoot)\n throw new Error('mutationRoot argument is missing')\n\n const resultPromise = fetcher(\n generateGraphqlOperation('mutation', mutationRoot, request),\n )\n\n return resultPromise\n }\n }\n\n return client as any\n}\n","// @ts-nocheck\nimport type {\n CompressedType,\n CompressedTypeMap,\n LinkedArgMap,\n LinkedField,\n LinkedType,\n LinkedTypeMap,\n} from './types'\n\nexport interface PartialLinkedFieldMap {\n [field: string]: {\n type: string\n args?: LinkedArgMap\n }\n}\n\nexport const linkTypeMap = (\n typeMap: CompressedTypeMap<number>,\n): LinkedTypeMap => {\n const indexToName: Record<number, string> = Object.assign(\n {},\n ...Object.keys(typeMap.types).map((k, i) => ({ [i]: k })),\n )\n\n let intermediaryTypeMap = Object.assign(\n {},\n ...Object.keys(typeMap.types || {}).map(\n (k): Record<string, LinkedType> => {\n const type: CompressedType = typeMap.types[k]!\n const fields = type || {}\n return {\n [k]: {\n name: k,\n // type scalar properties\n scalar: Object.keys(fields).filter((f) => {\n const [type] = fields[f] || []\n\n const isScalar =\n type && typeMap.scalars.includes(type)\n if (!isScalar) {\n return false\n }\n const args = fields[f]?.[1]\n const argTypes = Object.values(args || {})\n .map((x) => x?.[1])\n .filter(Boolean)\n\n const hasRequiredArgs = argTypes.some(\n (str) => str && str.endsWith('!'),\n )\n if (hasRequiredArgs) {\n return false\n }\n return true\n }),\n // fields with corresponding `type` and `args`\n fields: Object.assign(\n {},\n ...Object.keys(fields).map(\n (f): PartialLinkedFieldMap => {\n const [typeIndex, args] = fields[f] || []\n if (typeIndex == null) {\n return {}\n }\n return {\n [f]: {\n // replace index with type name\n type: indexToName[typeIndex],\n args: Object.assign(\n {},\n ...Object.keys(args || {}).map(\n (k) => {\n // if argTypeString == argTypeName, argTypeString is missing, need to readd it\n if (!args || !args[k]) {\n return\n }\n const [\n argTypeName,\n argTypeString,\n ] = args[k] as any\n return {\n [k]: [\n indexToName[\n argTypeName\n ],\n argTypeString ||\n indexToName[\n argTypeName\n ],\n ],\n }\n },\n ),\n ),\n },\n }\n },\n ),\n ),\n },\n }\n },\n ),\n )\n const res = resolveConcreteTypes(intermediaryTypeMap)\n return res\n}\n\n// replace typename with concrete type\nexport const resolveConcreteTypes = (linkedTypeMap: LinkedTypeMap) => {\n Object.keys(linkedTypeMap).forEach((typeNameFromKey) => {\n const type: LinkedType = linkedTypeMap[typeNameFromKey]!\n // type.name = typeNameFromKey\n if (!type.fields) {\n return\n }\n\n const fields = type.fields\n\n Object.keys(fields).forEach((f) => {\n const field: LinkedField = fields[f]!\n\n if (field.args) {\n const args = field.args\n Object.keys(args).forEach((key) => {\n const arg = args[key]\n\n if (arg) {\n const [typeName] = arg\n\n if (typeof typeName === 'string') {\n if (!linkedTypeMap[typeName]) {\n linkedTypeMap[typeName] = { name: typeName }\n }\n\n arg[0] = linkedTypeMap[typeName]!\n }\n }\n })\n }\n\n const typeName = field.type as LinkedType | string\n\n if (typeof typeName === 'string') {\n if (!linkedTypeMap[typeName]) {\n linkedTypeMap[typeName] = { name: typeName }\n }\n\n field.type = linkedTypeMap[typeName]!\n }\n })\n })\n\n return linkedTypeMap\n}\n","export default {\n \"scalars\": [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 9,\n 10,\n 13,\n 14,\n 16\n ],\n \"types\": {\n \"DateTime\": {},\n \"MomentStatus\": {},\n \"MomentSortOrder\": {},\n \"MomentType\": {},\n \"MomentCategory\": {},\n \"MomentSubcategory\": {},\n \"PaymentStatus\": {},\n \"TicketExtensionStatus\": {},\n \"Currency\": {\n \"uid\": [\n 9\n ],\n \"code\": [\n 10\n ],\n \"name\": [\n 10\n ],\n \"symbol\": [\n 10\n ],\n \"country\": [\n 10\n ],\n \"countryCode\": [\n 10\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"ID\": {},\n \"String\": {},\n \"Venue\": {\n \"uid\": [\n 9\n ],\n \"name\": [\n 10\n ],\n \"address\": [\n 10\n ],\n \"city\": [\n 10\n ],\n \"country\": [\n 10\n ],\n \"postalCode\": [\n 10\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Moment\": {\n \"uid\": [\n 9\n ],\n \"name\": [\n 10\n ],\n \"description\": [\n 10\n ],\n \"blurb\": [\n 10\n ],\n \"slug\": [\n 10\n ],\n \"startDate\": [\n 0\n ],\n \"endDate\": [\n 0\n ],\n \"isPrivate\": [\n 13\n ],\n \"type\": [\n 3\n ],\n \"category\": [\n 4\n ],\n \"subcategory\": [\n 5\n ],\n \"status\": [\n 1\n ],\n \"soldOut\": [\n 13\n ],\n \"timezone\": [\n 10\n ],\n \"minimumAge\": [\n 14\n ],\n \"externalUrl\": [\n 10\n ],\n \"venue\": [\n 11\n ],\n \"ticketTiers\": [\n 15\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Boolean\": {},\n \"Int\": {},\n \"TicketTier\": {\n \"uid\": [\n 9\n ],\n \"name\": [\n 10\n ],\n \"description\": [\n 10\n ],\n \"price\": [\n 16\n ],\n \"currency\": [\n 8\n ],\n \"isActive\": [\n 13\n ],\n \"isPrivate\": [\n 13\n ],\n \"maxPerUser\": [\n 14\n ],\n \"minPerUser\": [\n 14\n ],\n \"soldOut\": [\n 13\n ],\n \"startDateOverride\": [\n 0\n ],\n \"endDateOverride\": [\n 0\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Float\": {},\n \"User\": {\n \"uid\": [\n 9\n ],\n \"name\": [\n 10\n ],\n \"phoneNumber\": [\n 10\n ],\n \"primaryEmail\": [\n 10\n ],\n \"instagramProfile\": [\n 10\n ],\n \"twitterProfile\": [\n 10\n ],\n \"spotifyProfile\": [\n 10\n ],\n \"tiktokProfile\": [\n 10\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Ticket\": {\n \"uid\": [\n 9\n ],\n \"price\": [\n 16\n ],\n \"redeemedAt\": [\n 0\n ],\n \"encryptedQRCode\": [\n 10\n ],\n \"notes\": [\n 10\n ],\n \"externalId\": [\n 10\n ],\n \"hasExpired\": [\n 13\n ],\n \"ticketTier\": [\n 15\n ],\n \"user\": [\n 17\n ],\n \"moment\": [\n 12\n ],\n \"payment\": [\n 21\n ],\n \"extensions\": [\n 19\n ],\n \"discountCodeUsages\": [\n 20\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"TicketExtension\": {\n \"uid\": [\n 9\n ],\n \"hours\": [\n 14\n ],\n \"previousTotalHours\": [\n 14\n ],\n \"newTotalHours\": [\n 14\n ],\n \"pricePerHourCents\": [\n 14\n ],\n \"totalPriceCents\": [\n 14\n ],\n \"status\": [\n 7\n ],\n \"appliedAt\": [\n 0\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"MomentDiscountCodeUsage\": {\n \"uid\": [\n 9\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Payment\": {\n \"uid\": [\n 9\n ],\n \"amount\": [\n 16\n ],\n \"status\": [\n 6\n ],\n \"stripePaymentIntentId\": [\n 10\n ],\n \"stripeConnectedPaymentId\": [\n 10\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"MerchPurchase\": {\n \"uid\": [\n 9\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"PartnerCustomer\": {\n \"user\": [\n 17\n ],\n \"tickets\": [\n 18\n ],\n \"__typename\": [\n 10\n ]\n },\n \"MomentCollectionLink\": {\n \"uid\": [\n 9\n ],\n \"url\": [\n 10\n ],\n \"label\": [\n 10\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"MomentCollection\": {\n \"uid\": [\n 9\n ],\n \"name\": [\n 10\n ],\n \"description\": [\n 10\n ],\n \"slug\": [\n 10\n ],\n \"subLabel\": [\n 10\n ],\n \"availableQueryFilters\": [\n 10\n ],\n \"moments\": [\n 12,\n {\n \"queryFilters\": [\n 10,\n \"[String!]\"\n ]\n }\n ],\n \"links\": [\n 24\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"GetPublicMomentsResponse\": {\n \"moments\": [\n 12\n ],\n \"totalCount\": [\n 14\n ],\n \"hasNextPage\": [\n 13\n ],\n \"nextCursor\": [\n 10\n ],\n \"__typename\": [\n 10\n ]\n },\n \"GetTicketsResponse\": {\n \"tickets\": [\n 18\n ],\n \"totalCount\": [\n 14\n ],\n \"hasNextPage\": [\n 13\n ],\n \"nextCursor\": [\n 10\n ],\n \"__typename\": [\n 10\n ]\n },\n \"GetPartnerCustomersResponse\": {\n \"customers\": [\n 23\n ],\n \"totalCount\": [\n 14\n ],\n \"hasNextPage\": [\n 13\n ],\n \"nextCursor\": [\n 10\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Query\": {\n \"getPartnerMomentsForBrand\": [\n 26,\n {\n \"cursor\": [\n 10\n ],\n \"take\": [\n 14\n ],\n \"status\": [\n 1\n ],\n \"sortOrder\": [\n 2\n ]\n }\n ],\n \"getPartnerMoment\": [\n 12,\n {\n \"slug\": [\n 10,\n \"String!\"\n ]\n }\n ],\n \"getPartnerTicketsForMoment\": [\n 27,\n {\n \"momentSlug\": [\n 10,\n \"String!\"\n ],\n \"cursor\": [\n 10\n ],\n \"take\": [\n 14\n ],\n \"checkedIn\": [\n 13\n ]\n }\n ],\n \"getPartnerCustomersForMoment\": [\n 28,\n {\n \"momentSlug\": [\n 10,\n \"String!\"\n ],\n \"cursor\": [\n 10\n ],\n \"take\": [\n 14\n ]\n }\n ],\n \"getPartnerMomentCollection\": [\n 25,\n {\n \"slug\": [\n 10,\n \"String!\"\n ]\n }\n ],\n \"__typename\": [\n 10\n ]\n }\n }\n}","// @ts-nocheck\nimport type { QueryGenqlSelection, Query } from './schema'\nimport {\n linkTypeMap,\n createClient as createClientOriginal,\n generateGraphqlOperation,\n type FieldsSelection,\n type GraphqlOperation,\n type ClientOptions,\n GenqlError,\n} from './runtime'\nexport type { FieldsSelection } from './runtime'\nexport { GenqlError }\n\nimport types from './types'\nexport * from './schema'\nconst typeMap = linkTypeMap(types as any)\n\nexport interface Client {\n query<R extends QueryGenqlSelection>(\n request: R & { __name?: string },\n ): Promise<FieldsSelection<Query, R>>\n}\n\nexport const createClient = function (options?: ClientOptions): Client {\n return createClientOriginal({\n url: undefined,\n\n ...options,\n queryRoot: typeMap.Query!,\n mutationRoot: typeMap.Mutation!,\n subscriptionRoot: typeMap.Subscription!,\n }) as any\n}\n\nexport const everything = {\n __scalar: true,\n}\n\nexport type QueryResult<fields extends QueryGenqlSelection> = FieldsSelection<\n Query,\n fields\n>\nexport const generateQueryOp: (\n fields: QueryGenqlSelection & { __name?: string },\n) => GraphqlOperation = function (fields) {\n return generateGraphqlOperation('query', typeMap.Query!, fields as any)\n}\n","import { createClient as createGenqlClient, type Client } from './generated';\n\nexport interface ITMPartnerClientConfig {\n /**\n * Partner API token (from backstage: Settings > Partner API).\n * Sent as `x-partner-api-key` header on every request.\n */\n token: string;\n\n /**\n * Base URL of the ITM GraphQL API.\n * @default 'https://api.itm.studio/graphql'\n */\n baseUrl?: string;\n\n /**\n * Additional headers to include on every request.\n */\n headers?: Record<string, string>;\n}\n\nexport type ITMPartnerClient = Client;\n\n/**\n * Create a typed ITM Partner API client.\n *\n * @example\n * ```ts\n * import { createITMPartnerClient } from '@itm-studio/partner-sdk';\n *\n * const itm = createITMPartnerClient({\n * token: process.env.ITM_PARTNER_TOKEN!,\n * });\n *\n * const { getPartnerMomentsForBrand } = await itm.query({\n * getPartnerMomentsForBrand: {\n * __args: { take: 10 },\n * moments: {\n * uid: true,\n * name: true,\n * startDate: true,\n * venue: { name: true, city: true },\n * },\n * totalCount: true,\n * hasNextPage: true,\n * nextCursor: true,\n * },\n * });\n * ```\n */\nexport function createITMPartnerClient(\n config: ITMPartnerClientConfig,\n): ITMPartnerClient {\n const { token, baseUrl, headers: extraHeaders } = config;\n\n if (!token) {\n throw new Error(\n 'ITM Partner SDK: token is required. Get one from backstage: Settings > Partner API.',\n );\n }\n\n return createGenqlClient({\n url: baseUrl ?? 'https://api.itm.studio/graphql',\n headers: {\n 'x-partner-api-key': token,\n 'Content-Type': 'application/json',\n ...extraHeaders,\n },\n });\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/generated/runtime/error.ts","../src/generated/runtime/batcher.ts","../src/generated/runtime/fetcher.ts","../src/generated/runtime/generateGraphqlOperation.ts","../src/generated/runtime/createClient.ts","../src/generated/runtime/linkTypeMap.ts","../src/generated/types.ts","../src/generated/index.ts","../src/client.ts"],"names":["json","field","type","typeMap","k","typeName","createClient"],"mappings":"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","file":"index.mjs","sourcesContent":["// @ts-nocheck\nexport class GenqlError extends Error {\n errors: Array<GraphqlError> = []\n /**\n * Partial data returned by the server\n */\n data?: any\n constructor(errors: any[], data: any) {\n let message = Array.isArray(errors)\n ? errors.map((x) => x?.message || '').join('\\n')\n : ''\n if (!message) {\n message = 'GraphQL error'\n }\n super(message)\n this.errors = errors\n this.data = data\n }\n}\n\ninterface GraphqlError {\n message: string\n locations?: Array<{\n line: number\n column: number\n }>\n path?: string[]\n extensions?: Record<string, any>\n}\n","// @ts-nocheck\nimport type { GraphqlOperation } from './generateGraphqlOperation'\nimport { GenqlError } from './error'\n\ntype Variables = Record<string, any>\n\ntype QueryError = Error & {\n message: string\n\n locations?: Array<{\n line: number\n column: number\n }>\n path?: any\n rid: string\n details?: Record<string, any>\n}\ntype Result = {\n data: Record<string, any>\n errors: Array<QueryError>\n}\ntype Fetcher = (\n batchedQuery: GraphqlOperation | Array<GraphqlOperation>,\n) => Promise<Array<Result>>\ntype Options = {\n batchInterval?: number\n shouldBatch?: boolean\n maxBatchSize?: number\n}\ntype Queue = Array<{\n request: GraphqlOperation\n resolve: (...args: Array<any>) => any\n reject: (...args: Array<any>) => any\n}>\n\n/**\n * takes a list of requests (queue) and batches them into a single server request.\n * It will then resolve each individual requests promise with the appropriate data.\n * @private\n * @param {QueryBatcher} client - the client to use\n * @param {Queue} queue - the list of requests to batch\n */\nfunction dispatchQueueBatch(client: QueryBatcher, queue: Queue): void {\n let batchedQuery: any = queue.map((item) => item.request)\n\n if (batchedQuery.length === 1) {\n batchedQuery = batchedQuery[0]\n }\n (() => {\n try {\n return client.fetcher(batchedQuery);\n } catch(e) {\n return Promise.reject(e);\n }\n })().then((responses: any) => {\n if (queue.length === 1 && !Array.isArray(responses)) {\n if (responses.errors && responses.errors.length) {\n queue[0].reject(\n new GenqlError(responses.errors, responses.data),\n )\n return\n }\n\n queue[0].resolve(responses)\n return\n } else if (responses.length !== queue.length) {\n throw new Error('response length did not match query length')\n }\n\n for (let i = 0; i < queue.length; i++) {\n if (responses[i].errors && responses[i].errors.length) {\n queue[i].reject(\n new GenqlError(responses[i].errors, responses[i].data),\n )\n } else {\n queue[i].resolve(responses[i])\n }\n }\n })\n .catch((e) => {\n for (let i = 0; i < queue.length; i++) {\n queue[i].reject(e)\n }\n });\n}\n\n/**\n * creates a list of requests to batch according to max batch size.\n * @private\n * @param {QueryBatcher} client - the client to create list of requests from from\n * @param {Options} options - the options for the batch\n */\nfunction dispatchQueue(client: QueryBatcher, options: Options): void {\n const queue = client._queue\n const maxBatchSize = options.maxBatchSize || 0\n client._queue = []\n\n if (maxBatchSize > 0 && maxBatchSize < queue.length) {\n for (let i = 0; i < queue.length / maxBatchSize; i++) {\n dispatchQueueBatch(\n client,\n queue.slice(i * maxBatchSize, (i + 1) * maxBatchSize),\n )\n }\n } else {\n dispatchQueueBatch(client, queue)\n }\n}\n/**\n * Create a batcher client.\n * @param {Fetcher} fetcher - A function that can handle the network requests to graphql endpoint\n * @param {Options} options - the options to be used by client\n * @param {boolean} options.shouldBatch - should the client batch requests. (default true)\n * @param {integer} options.batchInterval - duration (in MS) of each batch window. (default 6)\n * @param {integer} options.maxBatchSize - max number of requests in a batch. (default 0)\n * @param {boolean} options.defaultHeaders - default headers to include with every request\n *\n * @example\n * const fetcher = batchedQuery => fetch('path/to/graphql', {\n * method: 'post',\n * headers: {\n * Accept: 'application/json',\n * 'Content-Type': 'application/json',\n * },\n * body: JSON.stringify(batchedQuery),\n * credentials: 'include',\n * })\n * .then(response => response.json())\n *\n * const client = new QueryBatcher(fetcher, { maxBatchSize: 10 })\n */\n\nexport class QueryBatcher {\n fetcher: Fetcher\n _options: Options\n _queue: Queue\n\n constructor(\n fetcher: Fetcher,\n {\n batchInterval = 6,\n shouldBatch = true,\n maxBatchSize = 0,\n }: Options = {},\n ) {\n this.fetcher = fetcher\n this._options = {\n batchInterval,\n shouldBatch,\n maxBatchSize,\n }\n this._queue = []\n }\n\n /**\n * Fetch will send a graphql request and return the parsed json.\n * @param {string} query - the graphql query.\n * @param {Variables} variables - any variables you wish to inject as key/value pairs.\n * @param {[string]} operationName - the graphql operationName.\n * @param {Options} overrides - the client options overrides.\n *\n * @return {promise} resolves to parsed json of server response\n *\n * @example\n * client.fetch(`\n * query getHuman($id: ID!) {\n * human(id: $id) {\n * name\n * height\n * }\n * }\n * `, { id: \"1001\" }, 'getHuman')\n * .then(human => {\n * // do something with human\n * console.log(human);\n * });\n */\n fetch(\n query: string,\n variables?: Variables,\n operationName?: string,\n overrides: Options = {},\n ): Promise<Result> {\n const request: GraphqlOperation = {\n query,\n }\n const options = Object.assign({}, this._options, overrides)\n\n if (variables) {\n request.variables = variables\n }\n\n if (operationName) {\n request.operationName = operationName\n }\n\n const promise = new Promise<Result>((resolve, reject) => {\n this._queue.push({\n request,\n resolve,\n reject,\n })\n\n if (this._queue.length === 1) {\n if (options.shouldBatch) {\n setTimeout(\n () => dispatchQueue(this, options),\n options.batchInterval,\n )\n } else {\n dispatchQueue(this, options)\n }\n }\n })\n return promise\n }\n\n /**\n * Fetch will send a graphql request and return the parsed json.\n * @param {string} query - the graphql query.\n * @param {Variables} variables - any variables you wish to inject as key/value pairs.\n * @param {[string]} operationName - the graphql operationName.\n * @param {Options} overrides - the client options overrides.\n *\n * @return {Promise<Array<Result>>} resolves to parsed json of server response\n *\n * @example\n * client.forceFetch(`\n * query getHuman($id: ID!) {\n * human(id: $id) {\n * name\n * height\n * }\n * }\n * `, { id: \"1001\" }, 'getHuman')\n * .then(human => {\n * // do something with human\n * console.log(human);\n * });\n */\n forceFetch(\n query: string,\n variables?: Variables,\n operationName?: string,\n overrides: Options = {},\n ): Promise<Result> {\n const request: GraphqlOperation = {\n query,\n }\n const options = Object.assign({}, this._options, overrides, {\n shouldBatch: false,\n })\n\n if (variables) {\n request.variables = variables\n }\n\n if (operationName) {\n request.operationName = operationName\n }\n\n const promise = new Promise<Result>((resolve, reject) => {\n const client = new QueryBatcher(this.fetcher, this._options)\n client._queue = [\n {\n request,\n resolve,\n reject,\n },\n ]\n dispatchQueue(client, options)\n })\n return promise\n }\n}\n","// @ts-nocheck\nimport { QueryBatcher } from './batcher'\n\nimport type { ClientOptions } from './createClient'\nimport type { GraphqlOperation } from './generateGraphqlOperation'\nimport { GenqlError } from './error'\n\nexport interface Fetcher {\n (gql: GraphqlOperation): Promise<any>\n}\n\nexport type BatchOptions = {\n batchInterval?: number // ms\n maxBatchSize?: number\n}\n\nconst DEFAULT_BATCH_OPTIONS = {\n maxBatchSize: 10,\n batchInterval: 40,\n}\n\nexport const createFetcher = ({\n url,\n headers = {},\n fetcher,\n fetch: _fetch,\n batch = false,\n ...rest\n}: ClientOptions): Fetcher => {\n if (!url && !fetcher) {\n throw new Error('url or fetcher is required')\n }\n\n fetcher = fetcher || (async (body) => {\n let headersObject =\n typeof headers == 'function' ? await headers() : headers\n headersObject = headersObject || {}\n if (typeof fetch === 'undefined' && !_fetch) {\n throw new Error(\n 'Global `fetch` function is not available, pass a fetch polyfill to Genql `createClient`',\n )\n }\n let fetchImpl = _fetch || fetch\n const res = await fetchImpl(url!, {\n headers: {\n 'Content-Type': 'application/json',\n ...headersObject,\n },\n method: 'POST',\n body: JSON.stringify(body),\n ...rest,\n })\n if (!res.ok) {\n throw new Error(`${res.statusText}: ${await res.text()}`)\n }\n const json = await res.json()\n return json\n })\n\n if (!batch) {\n return async (body) => {\n const json = await fetcher!(body)\n if (Array.isArray(json)) {\n return json.map((json) => {\n if (json?.errors?.length) {\n throw new GenqlError(json.errors || [], json.data)\n }\n return json.data\n })\n } else {\n if (json?.errors?.length) {\n throw new GenqlError(json.errors || [], json.data)\n }\n return json.data\n }\n }\n }\n\n const batcher = new QueryBatcher(\n async (batchedQuery) => {\n // console.log(batchedQuery) // [{ query: 'query{user{age}}', variables: {} }, ...]\n const json = await fetcher!(batchedQuery)\n return json as any\n },\n batch === true ? DEFAULT_BATCH_OPTIONS : batch,\n )\n\n return async ({ query, variables }) => {\n const json = await batcher.fetch(query, variables)\n if (json?.data) {\n return json.data\n }\n throw new Error(\n 'Genql batch fetcher returned unexpected result ' + JSON.stringify(json),\n )\n }\n}\n","// @ts-nocheck\nimport type { LinkedField, LinkedType } from './types'\n\nexport interface Args {\n [arg: string]: any | undefined\n}\n\nexport interface Fields {\n [field: string]: Request\n}\n\nexport type Request = boolean | number | Fields\n\nexport interface Variables {\n [name: string]: {\n value: any\n typing: [LinkedType, string]\n }\n}\n\nexport interface Context {\n root: LinkedType\n varCounter: number\n variables: Variables\n fragmentCounter: number\n fragments: string[]\n}\n\nexport interface GraphqlOperation {\n query: string\n variables?: { [name: string]: any }\n operationName?: string\n}\n\nconst parseRequest = (\n request: Request | undefined,\n ctx: Context,\n path: string[],\n): string => {\n if (typeof request === 'object' && '__args' in request) {\n const args: any = request.__args\n let fields: Request | undefined = { ...request }\n delete fields.__args\n const argNames = Object.keys(args)\n\n if (argNames.length === 0) {\n return parseRequest(fields, ctx, path)\n }\n\n const field = getFieldFromPath(ctx.root, path)\n\n const argStrings = argNames.map((argName) => {\n ctx.varCounter++\n const varName = `v${ctx.varCounter}`\n\n const typing = field.args && field.args[argName] // typeMap used here, .args\n\n if (!typing) {\n throw new Error(\n `no typing defined for argument \\`${argName}\\` in path \\`${path.join(\n '.',\n )}\\``,\n )\n }\n\n ctx.variables[varName] = {\n value: args[argName],\n typing,\n }\n\n return `${argName}:$${varName}`\n })\n return `(${argStrings})${parseRequest(fields, ctx, path)}`\n } else if (typeof request === 'object' && Object.keys(request).length > 0) {\n const fields = request\n const fieldNames = Object.keys(fields).filter((k) => Boolean(fields[k]))\n\n if (fieldNames.length === 0) {\n throw new Error(\n `field selection should not be empty: ${path.join('.')}`,\n )\n }\n\n const type =\n path.length > 0 ? getFieldFromPath(ctx.root, path).type : ctx.root\n const scalarFields = type.scalar\n\n let scalarFieldsFragment: string | undefined\n\n if (fieldNames.includes('__scalar')) {\n const falsyFieldNames = new Set(\n Object.keys(fields).filter((k) => !Boolean(fields[k])),\n )\n if (scalarFields?.length) {\n ctx.fragmentCounter++\n scalarFieldsFragment = `f${ctx.fragmentCounter}`\n\n ctx.fragments.push(\n `fragment ${scalarFieldsFragment} on ${\n type.name\n }{${scalarFields\n .filter((f) => !falsyFieldNames.has(f))\n .join(',')}}`,\n )\n }\n }\n\n const fieldsSelection = fieldNames\n .filter((f) => !['__scalar', '__name'].includes(f))\n .map((f) => {\n const parsed = parseRequest(fields[f], ctx, [...path, f])\n\n if (f.startsWith('on_')) {\n ctx.fragmentCounter++\n const implementationFragment = `f${ctx.fragmentCounter}`\n\n const typeMatch = f.match(/^on_(.+)/)\n\n if (!typeMatch || !typeMatch[1])\n throw new Error('match failed')\n\n ctx.fragments.push(\n `fragment ${implementationFragment} on ${typeMatch[1]}${parsed}`,\n )\n\n return `...${implementationFragment}`\n } else {\n return `${f}${parsed}`\n }\n })\n .concat(scalarFieldsFragment ? [`...${scalarFieldsFragment}`] : [])\n .join(',')\n\n return `{${fieldsSelection}}`\n } else {\n return ''\n }\n}\n\nexport const generateGraphqlOperation = (\n operation: 'query' | 'mutation' | 'subscription',\n root: LinkedType,\n fields?: Fields,\n): GraphqlOperation => {\n const ctx: Context = {\n root: root,\n varCounter: 0,\n variables: {},\n fragmentCounter: 0,\n fragments: [],\n }\n const result = parseRequest(fields, ctx, [])\n\n const varNames = Object.keys(ctx.variables)\n\n const varsString =\n varNames.length > 0\n ? `(${varNames.map((v) => {\n const variableType = ctx.variables[v].typing[1]\n return `$${v}:${variableType}`\n })})`\n : ''\n\n const operationName = fields?.__name || ''\n\n return {\n query: [\n `${operation} ${operationName}${varsString}${result}`,\n ...ctx.fragments,\n ].join(','),\n variables: Object.keys(ctx.variables).reduce<{ [name: string]: any }>(\n (r, v) => {\n r[v] = ctx.variables[v].value\n return r\n },\n {},\n ),\n ...(operationName ? { operationName: operationName.toString() } : {}),\n }\n}\n\nexport const getFieldFromPath = (\n root: LinkedType | undefined,\n path: string[],\n) => {\n let current: LinkedField | undefined\n\n if (!root) throw new Error('root type is not provided')\n\n if (path.length === 0) throw new Error(`path is empty`)\n\n path.forEach((f) => {\n const type = current ? current.type : root\n\n if (!type.fields)\n throw new Error(`type \\`${type.name}\\` does not have fields`)\n\n const possibleTypes = Object.keys(type.fields)\n .filter((i) => i.startsWith('on_'))\n .reduce(\n (types, fieldName) => {\n const field = type.fields && type.fields[fieldName]\n if (field) types.push(field.type)\n return types\n },\n [type],\n )\n\n let field: LinkedField | null = null\n\n possibleTypes.forEach((type) => {\n const found = type.fields && type.fields[f]\n if (found) field = found\n })\n\n if (!field)\n throw new Error(\n `type \\`${type.name}\\` does not have a field \\`${f}\\``,\n )\n\n current = field\n })\n\n return current as LinkedField\n}\n","// @ts-nocheck\n\nimport { type BatchOptions, createFetcher } from './fetcher'\nimport type { ExecutionResult, LinkedType } from './types'\nimport {\n generateGraphqlOperation,\n type GraphqlOperation,\n} from './generateGraphqlOperation'\n\nexport type Headers =\n | HeadersInit\n | (() => HeadersInit)\n | (() => Promise<HeadersInit>)\n\nexport type BaseFetcher = (\n operation: GraphqlOperation | GraphqlOperation[],\n) => Promise<ExecutionResult | ExecutionResult[]>\n\nexport type ClientOptions = Omit<RequestInit, 'body' | 'headers'> & {\n url?: string\n batch?: BatchOptions | boolean\n fetcher?: BaseFetcher\n fetch?: Function\n headers?: Headers\n}\n\nexport const createClient = ({\n queryRoot,\n mutationRoot,\n subscriptionRoot,\n ...options\n}: ClientOptions & {\n queryRoot?: LinkedType\n mutationRoot?: LinkedType\n subscriptionRoot?: LinkedType\n}) => {\n const fetcher = createFetcher(options)\n const client: {\n query?: Function\n mutation?: Function\n } = {}\n\n if (queryRoot) {\n client.query = (request: any) => {\n if (!queryRoot) throw new Error('queryRoot argument is missing')\n\n const resultPromise = fetcher(\n generateGraphqlOperation('query', queryRoot, request),\n )\n\n return resultPromise\n }\n }\n if (mutationRoot) {\n client.mutation = (request: any) => {\n if (!mutationRoot)\n throw new Error('mutationRoot argument is missing')\n\n const resultPromise = fetcher(\n generateGraphqlOperation('mutation', mutationRoot, request),\n )\n\n return resultPromise\n }\n }\n\n return client as any\n}\n","// @ts-nocheck\nimport type {\n CompressedType,\n CompressedTypeMap,\n LinkedArgMap,\n LinkedField,\n LinkedType,\n LinkedTypeMap,\n} from './types'\n\nexport interface PartialLinkedFieldMap {\n [field: string]: {\n type: string\n args?: LinkedArgMap\n }\n}\n\nexport const linkTypeMap = (\n typeMap: CompressedTypeMap<number>,\n): LinkedTypeMap => {\n const indexToName: Record<number, string> = Object.assign(\n {},\n ...Object.keys(typeMap.types).map((k, i) => ({ [i]: k })),\n )\n\n let intermediaryTypeMap = Object.assign(\n {},\n ...Object.keys(typeMap.types || {}).map(\n (k): Record<string, LinkedType> => {\n const type: CompressedType = typeMap.types[k]!\n const fields = type || {}\n return {\n [k]: {\n name: k,\n // type scalar properties\n scalar: Object.keys(fields).filter((f) => {\n const [type] = fields[f] || []\n\n const isScalar =\n type && typeMap.scalars.includes(type)\n if (!isScalar) {\n return false\n }\n const args = fields[f]?.[1]\n const argTypes = Object.values(args || {})\n .map((x) => x?.[1])\n .filter(Boolean)\n\n const hasRequiredArgs = argTypes.some(\n (str) => str && str.endsWith('!'),\n )\n if (hasRequiredArgs) {\n return false\n }\n return true\n }),\n // fields with corresponding `type` and `args`\n fields: Object.assign(\n {},\n ...Object.keys(fields).map(\n (f): PartialLinkedFieldMap => {\n const [typeIndex, args] = fields[f] || []\n if (typeIndex == null) {\n return {}\n }\n return {\n [f]: {\n // replace index with type name\n type: indexToName[typeIndex],\n args: Object.assign(\n {},\n ...Object.keys(args || {}).map(\n (k) => {\n // if argTypeString == argTypeName, argTypeString is missing, need to readd it\n if (!args || !args[k]) {\n return\n }\n const [\n argTypeName,\n argTypeString,\n ] = args[k] as any\n return {\n [k]: [\n indexToName[\n argTypeName\n ],\n argTypeString ||\n indexToName[\n argTypeName\n ],\n ],\n }\n },\n ),\n ),\n },\n }\n },\n ),\n ),\n },\n }\n },\n ),\n )\n const res = resolveConcreteTypes(intermediaryTypeMap)\n return res\n}\n\n// replace typename with concrete type\nexport const resolveConcreteTypes = (linkedTypeMap: LinkedTypeMap) => {\n Object.keys(linkedTypeMap).forEach((typeNameFromKey) => {\n const type: LinkedType = linkedTypeMap[typeNameFromKey]!\n // type.name = typeNameFromKey\n if (!type.fields) {\n return\n }\n\n const fields = type.fields\n\n Object.keys(fields).forEach((f) => {\n const field: LinkedField = fields[f]!\n\n if (field.args) {\n const args = field.args\n Object.keys(args).forEach((key) => {\n const arg = args[key]\n\n if (arg) {\n const [typeName] = arg\n\n if (typeof typeName === 'string') {\n if (!linkedTypeMap[typeName]) {\n linkedTypeMap[typeName] = { name: typeName }\n }\n\n arg[0] = linkedTypeMap[typeName]!\n }\n }\n })\n }\n\n const typeName = field.type as LinkedType | string\n\n if (typeof typeName === 'string') {\n if (!linkedTypeMap[typeName]) {\n linkedTypeMap[typeName] = { name: typeName }\n }\n\n field.type = linkedTypeMap[typeName]!\n }\n })\n })\n\n return linkedTypeMap\n}\n","export default {\n \"scalars\": [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 12,\n 13,\n 17,\n 18,\n 20\n ],\n \"types\": {\n \"DateTime\": {},\n \"JSON\": {},\n \"MomentStatus\": {},\n \"MomentSortOrder\": {},\n \"MomentType\": {},\n \"MomentCategory\": {},\n \"MomentSubcategory\": {},\n \"EchoType\": {},\n \"ThirdPartyEchoType\": {},\n \"PaymentStatus\": {},\n \"TicketExtensionStatus\": {},\n \"Currency\": {\n \"uid\": [\n 12\n ],\n \"code\": [\n 13\n ],\n \"name\": [\n 13\n ],\n \"symbol\": [\n 13\n ],\n \"country\": [\n 13\n ],\n \"countryCode\": [\n 13\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 13\n ]\n },\n \"ID\": {},\n \"String\": {},\n \"Venue\": {\n \"uid\": [\n 12\n ],\n \"name\": [\n 13\n ],\n \"address\": [\n 13\n ],\n \"city\": [\n 13\n ],\n \"country\": [\n 13\n ],\n \"postalCode\": [\n 13\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 13\n ]\n },\n \"MomentCoverImage\": {\n \"url\": [\n 13\n ],\n \"mimeType\": [\n 13\n ],\n \"__typename\": [\n 13\n ]\n },\n \"Moment\": {\n \"uid\": [\n 12\n ],\n \"name\": [\n 13\n ],\n \"description\": [\n 13\n ],\n \"blurb\": [\n 13\n ],\n \"slug\": [\n 13\n ],\n \"startDate\": [\n 0\n ],\n \"endDate\": [\n 0\n ],\n \"isPrivate\": [\n 17\n ],\n \"type\": [\n 4\n ],\n \"category\": [\n 5\n ],\n \"subcategory\": [\n 6\n ],\n \"status\": [\n 2\n ],\n \"soldOut\": [\n 17\n ],\n \"timezone\": [\n 13\n ],\n \"minimumAge\": [\n 18\n ],\n \"externalUrl\": [\n 13\n ],\n \"coverImage\": [\n 15\n ],\n \"venue\": [\n 14\n ],\n \"ticketTiers\": [\n 19\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 13\n ]\n },\n \"Boolean\": {},\n \"Int\": {},\n \"TicketTier\": {\n \"uid\": [\n 12\n ],\n \"name\": [\n 13\n ],\n \"description\": [\n 13\n ],\n \"price\": [\n 20\n ],\n \"currency\": [\n 11\n ],\n \"isActive\": [\n 17\n ],\n \"isPrivate\": [\n 17\n ],\n \"maxPerUser\": [\n 18\n ],\n \"minPerUser\": [\n 18\n ],\n \"soldOut\": [\n 17\n ],\n \"startDateOverride\": [\n 0\n ],\n \"endDateOverride\": [\n 0\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 13\n ]\n },\n \"Float\": {},\n \"User\": {\n \"uid\": [\n 12\n ],\n \"name\": [\n 13\n ],\n \"phoneNumber\": [\n 13\n ],\n \"primaryEmail\": [\n 13\n ],\n \"instagramProfile\": [\n 13\n ],\n \"twitterProfile\": [\n 13\n ],\n \"spotifyProfile\": [\n 13\n ],\n \"tiktokProfile\": [\n 13\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 13\n ]\n },\n \"Ticket\": {\n \"uid\": [\n 12\n ],\n \"price\": [\n 20\n ],\n \"redeemedAt\": [\n 0\n ],\n \"encryptedQRCode\": [\n 13\n ],\n \"notes\": [\n 13\n ],\n \"externalId\": [\n 13\n ],\n \"hasExpired\": [\n 17\n ],\n \"ticketTier\": [\n 19\n ],\n \"user\": [\n 21\n ],\n \"moment\": [\n 16\n ],\n \"payment\": [\n 25\n ],\n \"extensions\": [\n 23\n ],\n \"discountCodeUsages\": [\n 24\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 13\n ]\n },\n \"TicketExtension\": {\n \"uid\": [\n 12\n ],\n \"hours\": [\n 18\n ],\n \"previousTotalHours\": [\n 18\n ],\n \"newTotalHours\": [\n 18\n ],\n \"pricePerHourCents\": [\n 18\n ],\n \"totalPriceCents\": [\n 18\n ],\n \"status\": [\n 10\n ],\n \"appliedAt\": [\n 0\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 13\n ]\n },\n \"MomentDiscountCodeUsage\": {\n \"uid\": [\n 12\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 13\n ]\n },\n \"Payment\": {\n \"uid\": [\n 12\n ],\n \"amount\": [\n 20\n ],\n \"status\": [\n 9\n ],\n \"stripePaymentIntentId\": [\n 13\n ],\n \"stripeConnectedPaymentId\": [\n 13\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 13\n ]\n },\n \"MerchPurchase\": {\n \"uid\": [\n 12\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 13\n ]\n },\n \"PartnerCustomer\": {\n \"user\": [\n 21\n ],\n \"tickets\": [\n 22\n ],\n \"__typename\": [\n 13\n ]\n },\n \"MomentCollectionLink\": {\n \"uid\": [\n 12\n ],\n \"url\": [\n 13\n ],\n \"label\": [\n 13\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 13\n ]\n },\n \"MomentCollection\": {\n \"uid\": [\n 12\n ],\n \"name\": [\n 13\n ],\n \"description\": [\n 13\n ],\n \"slug\": [\n 13\n ],\n \"subLabel\": [\n 13\n ],\n \"availableQueryFilters\": [\n 13\n ],\n \"moments\": [\n 16,\n {\n \"queryFilters\": [\n 13,\n \"[String!]\"\n ]\n }\n ],\n \"links\": [\n 28\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 13\n ]\n },\n \"Dimensions\": {\n \"width\": [\n 18\n ],\n \"height\": [\n 18\n ],\n \"__typename\": [\n 13\n ]\n },\n \"EchoMediaAsset\": {\n \"uid\": [\n 12\n ],\n \"mimeType\": [\n 13\n ],\n \"s3Key\": [\n 13\n ],\n \"dimensions\": [\n 30\n ],\n \"size\": [\n 18\n ],\n \"placeholderUrl\": [\n 13\n ],\n \"blurhash\": [\n 13\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 13\n ]\n },\n \"Echo\": {\n \"uid\": [\n 12\n ],\n \"type\": [\n 7\n ],\n \"name\": [\n 13\n ],\n \"slug\": [\n 13\n ],\n \"description\": [\n 13\n ],\n \"postBody\": [\n 13\n ],\n \"publishTime\": [\n 0\n ],\n \"externalLink\": [\n 13\n ],\n \"termsLink\": [\n 13\n ],\n \"isPublic\": [\n 17\n ],\n \"thirdPartyEchoType\": [\n 8\n ],\n \"thirdPartyEchoConfig\": [\n 1\n ],\n \"mediaAsset\": [\n 31\n ],\n \"echoMedia\": [\n 31\n ],\n \"moment\": [\n 16\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 13\n ]\n },\n \"GetPublicMomentsResponse\": {\n \"moments\": [\n 16\n ],\n \"totalCount\": [\n 18\n ],\n \"hasNextPage\": [\n 17\n ],\n \"nextCursor\": [\n 13\n ],\n \"__typename\": [\n 13\n ]\n },\n \"GetTicketsResponse\": {\n \"tickets\": [\n 22\n ],\n \"totalCount\": [\n 18\n ],\n \"hasNextPage\": [\n 17\n ],\n \"nextCursor\": [\n 13\n ],\n \"__typename\": [\n 13\n ]\n },\n \"GetPartnerCustomersResponse\": {\n \"customers\": [\n 27\n ],\n \"totalCount\": [\n 18\n ],\n \"hasNextPage\": [\n 17\n ],\n \"nextCursor\": [\n 13\n ],\n \"__typename\": [\n 13\n ]\n },\n \"GetBrandEchoesForUserResponse\": {\n \"echoes\": [\n 32\n ],\n \"totalCount\": [\n 18\n ],\n \"hasNextPage\": [\n 17\n ],\n \"nextCursor\": [\n 13\n ],\n \"__typename\": [\n 13\n ]\n },\n \"Query\": {\n \"getPartnerMomentsForBrand\": [\n 33,\n {\n \"cursor\": [\n 13\n ],\n \"take\": [\n 18\n ],\n \"status\": [\n 2\n ],\n \"sortOrder\": [\n 3\n ]\n }\n ],\n \"getPartnerMoment\": [\n 16,\n {\n \"slug\": [\n 13,\n \"String!\"\n ]\n }\n ],\n \"getPartnerTicketsForMoment\": [\n 34,\n {\n \"momentSlug\": [\n 13,\n \"String!\"\n ],\n \"cursor\": [\n 13\n ],\n \"take\": [\n 18\n ],\n \"checkedIn\": [\n 17\n ]\n }\n ],\n \"getPartnerCustomersForMoment\": [\n 35,\n {\n \"momentSlug\": [\n 13,\n \"String!\"\n ],\n \"cursor\": [\n 13\n ],\n \"take\": [\n 18\n ]\n }\n ],\n \"getPartnerMomentCollection\": [\n 29,\n {\n \"slug\": [\n 13,\n \"String!\"\n ]\n }\n ],\n \"getPartnerPublicEchoes\": [\n 36,\n {\n \"momentSlug\": [\n 13\n ],\n \"cursor\": [\n 13\n ],\n \"take\": [\n 18\n ]\n }\n ],\n \"__typename\": [\n 13\n ]\n }\n }\n}","// @ts-nocheck\nimport type { QueryGenqlSelection, Query } from './schema'\nimport {\n linkTypeMap,\n createClient as createClientOriginal,\n generateGraphqlOperation,\n type FieldsSelection,\n type GraphqlOperation,\n type ClientOptions,\n GenqlError,\n} from './runtime'\nexport type { FieldsSelection } from './runtime'\nexport { GenqlError }\n\nimport types from './types'\nexport * from './schema'\nconst typeMap = linkTypeMap(types as any)\n\nexport interface Client {\n query<R extends QueryGenqlSelection>(\n request: R & { __name?: string },\n ): Promise<FieldsSelection<Query, R>>\n}\n\nexport const createClient = function (options?: ClientOptions): Client {\n return createClientOriginal({\n url: undefined,\n\n ...options,\n queryRoot: typeMap.Query!,\n mutationRoot: typeMap.Mutation!,\n subscriptionRoot: typeMap.Subscription!,\n }) as any\n}\n\nexport const everything = {\n __scalar: true,\n}\n\nexport type QueryResult<fields extends QueryGenqlSelection> = FieldsSelection<\n Query,\n fields\n>\nexport const generateQueryOp: (\n fields: QueryGenqlSelection & { __name?: string },\n) => GraphqlOperation = function (fields) {\n return generateGraphqlOperation('query', typeMap.Query!, fields as any)\n}\n","import { createClient as createGenqlClient, type Client } from './generated';\n\nexport interface ITMPartnerClientConfig {\n /**\n * Partner API token (from backstage: Settings > Partner API).\n * Sent as `x-partner-api-key` header on every request.\n */\n token: string;\n\n /**\n * Base URL of the ITM GraphQL API.\n * @default 'https://api.itm.studio/graphql'\n */\n baseUrl?: string;\n\n /**\n * Additional headers to include on every request.\n */\n headers?: Record<string, string>;\n}\n\nexport type ITMPartnerClient = Client;\n\n/**\n * Create a typed ITM Partner API client.\n *\n * @example\n * ```ts\n * import { createITMPartnerClient } from '@itm-studio/partner-sdk';\n *\n * const itm = createITMPartnerClient({\n * token: process.env.ITM_PARTNER_TOKEN!,\n * });\n *\n * const { getPartnerMomentsForBrand } = await itm.query({\n * getPartnerMomentsForBrand: {\n * __args: { take: 10 },\n * moments: {\n * uid: true,\n * name: true,\n * startDate: true,\n * coverImage: { url: true, mimeType: true },\n * venue: { name: true, city: true },\n * },\n * totalCount: true,\n * hasNextPage: true,\n * nextCursor: true,\n * },\n * });\n * ```\n */\nexport function createITMPartnerClient(\n config: ITMPartnerClientConfig,\n): ITMPartnerClient {\n const { token, baseUrl, headers: extraHeaders } = config;\n\n if (!token) {\n throw new Error(\n 'ITM Partner SDK: token is required. Get one from backstage: Settings > Partner API.',\n );\n }\n\n return createGenqlClient({\n url: baseUrl ?? 'https://api.itm.studio/graphql',\n headers: {\n 'x-partner-api-key': token,\n 'Content-Type': 'application/json',\n ...extraHeaders,\n },\n });\n}\n"]}
|
package/package.json
CHANGED
package/schema/partner.graphql
CHANGED
|
@@ -5,6 +5,7 @@ Partners authenticate via x-partner-api-key header or Authorization: Bearer <tok
|
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
7
|
scalar DateTime
|
|
8
|
+
scalar JSON
|
|
8
9
|
|
|
9
10
|
# ─── Enums ───────────────────────────────────────────────────────────────────
|
|
10
11
|
|
|
@@ -220,6 +221,29 @@ enum MomentSubcategory {
|
|
|
220
221
|
YOGA_SESSION
|
|
221
222
|
}
|
|
222
223
|
|
|
224
|
+
enum EchoType {
|
|
225
|
+
LINK
|
|
226
|
+
POST
|
|
227
|
+
IMAGE
|
|
228
|
+
VIDEO
|
|
229
|
+
GALLERY
|
|
230
|
+
MERCH
|
|
231
|
+
AUDIO
|
|
232
|
+
QUESTION
|
|
233
|
+
POLL
|
|
234
|
+
UPLOAD
|
|
235
|
+
TOKEN
|
|
236
|
+
MOMENT
|
|
237
|
+
FORM
|
|
238
|
+
THIRD_PARTY
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
enum ThirdPartyEchoType {
|
|
242
|
+
SPOTIFY
|
|
243
|
+
INSTAGRAM
|
|
244
|
+
TIKTOK
|
|
245
|
+
}
|
|
246
|
+
|
|
223
247
|
enum PaymentStatus {
|
|
224
248
|
PENDING
|
|
225
249
|
SUCCEEDED
|
|
@@ -259,6 +283,17 @@ type Venue {
|
|
|
259
283
|
updatedAt: DateTime!
|
|
260
284
|
}
|
|
261
285
|
|
|
286
|
+
"""
|
|
287
|
+
A slim projection of the cover image media asset.
|
|
288
|
+
Only the publicly useful fields (URL and MIME type) are exposed.
|
|
289
|
+
"""
|
|
290
|
+
type MomentCoverImage {
|
|
291
|
+
"""CloudFront URL of the cover image."""
|
|
292
|
+
url: String!
|
|
293
|
+
"""MIME type of the image (e.g. image/jpeg, image/png, image/webp)."""
|
|
294
|
+
mimeType: String!
|
|
295
|
+
}
|
|
296
|
+
|
|
262
297
|
type Moment {
|
|
263
298
|
uid: ID!
|
|
264
299
|
name: String!
|
|
@@ -276,6 +311,8 @@ type Moment {
|
|
|
276
311
|
timezone: String!
|
|
277
312
|
minimumAge: Int!
|
|
278
313
|
externalUrl: String
|
|
314
|
+
"""Cover image for the moment. Null if no cover image is set."""
|
|
315
|
+
coverImage: MomentCoverImage
|
|
279
316
|
venue: Venue
|
|
280
317
|
ticketTiers: [TicketTier!]!
|
|
281
318
|
createdAt: DateTime!
|
|
@@ -391,6 +428,59 @@ type MomentCollection {
|
|
|
391
428
|
updatedAt: DateTime!
|
|
392
429
|
}
|
|
393
430
|
|
|
431
|
+
type Dimensions {
|
|
432
|
+
width: Int
|
|
433
|
+
height: Int
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
"""
|
|
437
|
+
A media asset associated with an echo (cover image, gallery item, audio, etc.).
|
|
438
|
+
"""
|
|
439
|
+
type EchoMediaAsset {
|
|
440
|
+
uid: ID!
|
|
441
|
+
"""MIME type of the media (e.g. image/jpeg, video/mp4, audio/mpeg)."""
|
|
442
|
+
mimeType: String!
|
|
443
|
+
"""S3 / CloudFront key for the asset."""
|
|
444
|
+
s3Key: String!
|
|
445
|
+
dimensions: Dimensions!
|
|
446
|
+
"""File size in bytes."""
|
|
447
|
+
size: Int!
|
|
448
|
+
"""Low-res placeholder URL for lazy loading."""
|
|
449
|
+
placeholderUrl: String
|
|
450
|
+
"""Blurhash string for placeholder rendering."""
|
|
451
|
+
blurhash: String
|
|
452
|
+
createdAt: DateTime!
|
|
453
|
+
updatedAt: DateTime!
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
"""
|
|
457
|
+
An echo is a content unit published by a brand — links, posts, images, videos, galleries, etc.
|
|
458
|
+
"""
|
|
459
|
+
type Echo {
|
|
460
|
+
uid: ID!
|
|
461
|
+
type: EchoType!
|
|
462
|
+
name: String!
|
|
463
|
+
slug: String
|
|
464
|
+
description: String
|
|
465
|
+
"""Rich text body for POST-type echoes."""
|
|
466
|
+
postBody: String
|
|
467
|
+
publishTime: DateTime!
|
|
468
|
+
externalLink: String
|
|
469
|
+
termsLink: String
|
|
470
|
+
isPublic: Boolean!
|
|
471
|
+
thirdPartyEchoType: ThirdPartyEchoType
|
|
472
|
+
"""Configuration for third-party embeds (Spotify, Instagram, TikTok)."""
|
|
473
|
+
thirdPartyEchoConfig: JSON
|
|
474
|
+
"""Primary media asset (cover image, single media)."""
|
|
475
|
+
mediaAsset: EchoMediaAsset
|
|
476
|
+
"""Additional media assets (gallery items)."""
|
|
477
|
+
echoMedia: [EchoMediaAsset!]
|
|
478
|
+
"""The moment this echo is associated with, if any."""
|
|
479
|
+
moment: Moment
|
|
480
|
+
createdAt: DateTime!
|
|
481
|
+
updatedAt: DateTime!
|
|
482
|
+
}
|
|
483
|
+
|
|
394
484
|
# ─── Paginated Responses ─────────────────────────────────────────────────────
|
|
395
485
|
|
|
396
486
|
type GetPublicMomentsResponse {
|
|
@@ -414,6 +504,13 @@ type GetPartnerCustomersResponse {
|
|
|
414
504
|
nextCursor: String
|
|
415
505
|
}
|
|
416
506
|
|
|
507
|
+
type GetBrandEchoesForUserResponse {
|
|
508
|
+
echoes: [Echo!]!
|
|
509
|
+
totalCount: Int!
|
|
510
|
+
hasNextPage: Boolean!
|
|
511
|
+
nextCursor: String
|
|
512
|
+
}
|
|
513
|
+
|
|
417
514
|
# ─── Queries ─────────────────────────────────────────────────────────────────
|
|
418
515
|
|
|
419
516
|
type Query {
|
|
@@ -462,4 +559,17 @@ type Query {
|
|
|
462
559
|
Returns the collection with its moments and links.
|
|
463
560
|
"""
|
|
464
561
|
getPartnerMomentCollection(slug: String!): MomentCollection
|
|
562
|
+
|
|
563
|
+
"""
|
|
564
|
+
Get public echoes for the brand associated with the partner token.
|
|
565
|
+
If momentSlug is provided, returns moment-level echoes for that moment.
|
|
566
|
+
If omitted, returns brand-level echoes.
|
|
567
|
+
"""
|
|
568
|
+
getPartnerPublicEchoes(
|
|
569
|
+
"""If provided, returns moment-level echoes for this moment. If omitted, returns brand-level echoes."""
|
|
570
|
+
momentSlug: String
|
|
571
|
+
"""Cursor UID for pagination"""
|
|
572
|
+
cursor: String
|
|
573
|
+
take: Int
|
|
574
|
+
): GetBrandEchoesForUserResponse!
|
|
465
575
|
}
|