UNPKG

@shopify/shopify-api

Version:

Shopify API Library for Node - accelerate development with support for authentication, graphql proxy, webhooks

1 lines 1.97 kB
{"version":3,"file":"graphql_proxy.mjs","sources":["../../../../../../../lib/clients/graphql_proxy/graphql_proxy.ts"],"sourcesContent":["import {ConfigInterface} from '../../base-types';\nimport * as ShopifyErrors from '../../error';\nimport {graphqlClientClass} from '../admin';\n\nimport {GraphqlProxy} from './types';\n\nexport function graphqlProxy(config: ConfigInterface): GraphqlProxy {\n return async ({session, rawBody}) => {\n if (!session.accessToken) {\n throw new ShopifyErrors.InvalidSession(\n 'Cannot proxy query. Session not authenticated.',\n );\n }\n\n const GraphqlClient = graphqlClientClass({config});\n const client = new GraphqlClient({session});\n\n let query: string;\n let variables: Record<string, any> | undefined;\n if (typeof rawBody === 'string') {\n query = rawBody;\n } else {\n query = rawBody.query;\n variables = rawBody.variables;\n }\n\n if (!query) {\n throw new ShopifyErrors.MissingRequiredArgument('Query missing.');\n }\n\n const response = await client.request(query, {variables});\n\n return {body: response, headers: {}};\n };\n}\n"],"names":["ShopifyErrors.InvalidSession","ShopifyErrors.MissingRequiredArgument"],"mappings":";;;;;;;AAMM,SAAU,YAAY,CAAC,MAAuB,EAAA;IAClD,OAAO,OAAO,EAAC,OAAO,EAAE,OAAO,EAAC,KAAI;AAClC,QAAA,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;AACxB,YAAA,MAAM,IAAIA,cAA4B,CACpC,gDAAgD,CACjD;QACH;QAEA,MAAM,aAAa,GAAG,kBAAkB,CAAC,EAAC,MAAM,EAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,EAAC,OAAO,EAAC,CAAC;AAE3C,QAAA,IAAI,KAAa;AACjB,QAAA,IAAI,SAA0C;AAC9C,QAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,KAAK,GAAG,OAAO;QACjB;aAAO;AACL,YAAA,KAAK,GAAG,OAAO,CAAC,KAAK;AACrB,YAAA,SAAS,GAAG,OAAO,CAAC,SAAS;QAC/B;QAEA,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,MAAM,IAAIC,uBAAqC,CAAC,gBAAgB,CAAC;QACnE;AAEA,QAAA,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAC,SAAS,EAAC,CAAC;QAEzD,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAC;AACtC,IAAA,CAAC;AACH;;;;"}