{"version":3,"sources":["../../src/services/graphql.ts"],"names":[],"mappings":";;;AAEO,IAAM,UAAN,MAAc;AAAA,EAGjB,YAAY,MAAA,EAAgB;AACxB,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AAAA,EAClB;AAAA,EAmBA,MAAM,aAAA,EAAwD;AAC1D,IAAA,IAAI,MAAA;AAEJ,IAAA,IACI,aAAA,IACA,OAAO,aAAA,KAAkB,QAAA,IACzB,CAAC,MAAM,OAAA,CAAQ,aAAa,CAAA,IAC5B,OAAA,IAAW,aAAA,EACb;AACE,MAAA,MAAA,GAAU,iBAAiB,EAAC;AAAA,IAChC,CAAA,MAAO;AACH,MAAA,MAAA,GAAS;AAAA,QACL,KAAA,EAAO;AAAA,OACX;AAAA,IACJ;AAEA,IAAA,MAAM,QAAQ,MAAA,CAAO,KAAA;AACrB,IAAA,IAAI,OAAO,UAAU,WAAA,EAAa;AAC9B,MAAA,MAAM,IAAI,kBAAkB,qCAAqC,CAAA;AAAA,IACrE;AACA,IAAA,MAAM,OAAA,GAAU,UAAA;AAChB,IAAA,MAAM,aAAsB,EAAC;AAC7B,IAAA,IAAI,OAAO,UAAU,WAAA,EAAa;AAC9B,MAAA,UAAA,CAAW,OAAO,CAAA,GAAI,KAAA;AAAA,IAC1B;AACA,IAAA,MAAM,MAAM,IAAI,GAAA,CAAI,KAAK,MAAA,CAAO,MAAA,CAAO,WAAW,OAAO,CAAA;AAEzD,IAAA,MAAM,UAAA,GAA2C;AAAA,MAC7C,oBAAA,EAAsB,IAAA,CAAK,MAAA,CAAO,MAAA,CAAO,OAAA;AAAA,MACzC,eAAA,EAAiB,MAAA;AAAA,MACjB,cAAA,EAAgB,kBAAA;AAAA,MAChB,MAAA,EAAQ;AAAA,KACZ;AAEA,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA,CAAK,MAAA,EAAQ,GAAA,EAAK,YAAY,UAAU,CAAA;AAAA,EAC/D;AAAA,EAmBA,SAAS,aAAA,EAAwD;AAC7D,IAAA,IAAI,MAAA;AAEJ,IAAA,IACI,aAAA,IACA,OAAO,aAAA,KAAkB,QAAA,IACzB,CAAC,MAAM,OAAA,CAAQ,aAAa,CAAA,IAC5B,OAAA,IAAW,aAAA,EACb;AACE,MAAA,MAAA,GAAU,iBAAiB,EAAC;AAAA,IAChC,CAAA,MAAO;AACH,MAAA,MAAA,GAAS;AAAA,QACL,KAAA,EAAO;AAAA,OACX;AAAA,IACJ;AAEA,IAAA,MAAM,QAAQ,MAAA,CAAO,KAAA;AACrB,IAAA,IAAI,OAAO,UAAU,WAAA,EAAa;AAC9B,MAAA,MAAM,IAAI,kBAAkB,qCAAqC,CAAA;AAAA,IACrE;AACA,IAAA,MAAM,OAAA,GAAU,mBAAA;AAChB,IAAA,MAAM,aAAsB,EAAC;AAC7B,IAAA,IAAI,OAAO,UAAU,WAAA,EAAa;AAC9B,MAAA,UAAA,CAAW,OAAO,CAAA,GAAI,KAAA;AAAA,IAC1B;AACA,IAAA,MAAM,MAAM,IAAI,GAAA,CAAI,KAAK,MAAA,CAAO,MAAA,CAAO,WAAW,OAAO,CAAA;AAEzD,IAAA,MAAM,UAAA,GAA2C;AAAA,MAC7C,oBAAA,EAAsB,IAAA,CAAK,MAAA,CAAO,MAAA,CAAO,OAAA;AAAA,MACzC,eAAA,EAAiB,MAAA;AAAA,MACjB,cAAA,EAAgB,kBAAA;AAAA,MAChB,MAAA,EAAQ;AAAA,KACZ;AAEA,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA,CAAK,MAAA,EAAQ,GAAA,EAAK,YAAY,UAAU,CAAA;AAAA,EAC/D;AACJ","file":"graphql.mjs","sourcesContent":["import { AppwriteException, Client, type Payload } from '../client';\n\nexport class Graphql {\n    client: Client;\n\n    constructor(client: Client) {\n        this.client = client;\n    }\n\n    /**\n     * Execute a GraphQL mutation.\n     *\n     * @param {object} params.query - The query or queries to execute.\n     * @throws {AppwriteException}\n     * @returns {Promise<{}>}\n     */\n    query(params: { query: object }): Promise<{}>;\n    /**\n     * Execute a GraphQL mutation.\n     *\n     * @param {object} query - The query or queries to execute.\n     * @throws {AppwriteException}\n     * @returns {Promise<{}>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    query(query: object): Promise<{}>;\n    query(paramsOrFirst: { query: object } | object): Promise<{}> {\n        let params: { query: object };\n\n        if (\n            paramsOrFirst &&\n            typeof paramsOrFirst === 'object' &&\n            !Array.isArray(paramsOrFirst) &&\n            'query' in paramsOrFirst\n        ) {\n            params = (paramsOrFirst || {}) as { query: object };\n        } else {\n            params = {\n                query: paramsOrFirst as object,\n            };\n        }\n\n        const query = params.query;\n        if (typeof query === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"query\"');\n        }\n        const apiPath = '/graphql';\n        const apiPayload: Payload = {};\n        if (typeof query !== 'undefined') {\n            apiPayload['query'] = query;\n        }\n        const uri = new URL(this.client.config.endpoint + apiPath);\n\n        const apiHeaders: { [header: string]: string } = {\n            'X-Appwrite-Project': this.client.config.project,\n            'x-sdk-graphql': 'true',\n            'content-type': 'application/json',\n            accept: 'application/json',\n        };\n\n        return this.client.call('post', uri, apiHeaders, apiPayload);\n    }\n\n    /**\n     * Execute a GraphQL mutation.\n     *\n     * @param {object} params.query - The query or queries to execute.\n     * @throws {AppwriteException}\n     * @returns {Promise<{}>}\n     */\n    mutation(params: { query: object }): Promise<{}>;\n    /**\n     * Execute a GraphQL mutation.\n     *\n     * @param {object} query - The query or queries to execute.\n     * @throws {AppwriteException}\n     * @returns {Promise<{}>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    mutation(query: object): Promise<{}>;\n    mutation(paramsOrFirst: { query: object } | object): Promise<{}> {\n        let params: { query: object };\n\n        if (\n            paramsOrFirst &&\n            typeof paramsOrFirst === 'object' &&\n            !Array.isArray(paramsOrFirst) &&\n            'query' in paramsOrFirst\n        ) {\n            params = (paramsOrFirst || {}) as { query: object };\n        } else {\n            params = {\n                query: paramsOrFirst as object,\n            };\n        }\n\n        const query = params.query;\n        if (typeof query === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"query\"');\n        }\n        const apiPath = '/graphql/mutation';\n        const apiPayload: Payload = {};\n        if (typeof query !== 'undefined') {\n            apiPayload['query'] = query;\n        }\n        const uri = new URL(this.client.config.endpoint + apiPath);\n\n        const apiHeaders: { [header: string]: string } = {\n            'X-Appwrite-Project': this.client.config.project,\n            'x-sdk-graphql': 'true',\n            'content-type': 'application/json',\n            accept: 'application/json',\n        };\n\n        return this.client.call('post', uri, apiHeaders, apiPayload);\n    }\n}\n"]}