{"version":3,"sources":["../../src/services/graphql.ts"],"names":[],"mappings":";;;AAIO,IAAM,UAAN,MAAc;AAAA,EAGjB,YAAY,MAAA,EAAgB;AACxB,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AAAA,EAClB;AAAA,EAmBA,MACI,aAAA,EACW;AACX,IAAA,IAAI,MAAA;AAEJ,IAAA,IAAK,aAAA,IAAiB,OAAO,aAAA,KAAkB,QAAA,IAAY,CAAC,MAAM,OAAA,CAAQ,aAAa,CAAA,IAAM,OAAA,IAAW,aAAA,EAAiB;AACrH,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;AAErB,IAAA,IAAI,OAAO,UAAU,WAAA,EAAa;AAC9B,MAAA,MAAM,IAAI,kBAAkB,qCAAqC,CAAA;AAAA,IACrE;AAEA,IAAA,MAAM,OAAA,GAAU,UAAA;AAChB,IAAA,MAAM,UAAmB,EAAC;AAC1B,IAAA,IAAI,OAAO,UAAU,WAAA,EAAa;AAC9B,MAAA,OAAA,CAAQ,OAAO,CAAA,GAAI,KAAA;AAAA,IACvB;AACA,IAAA,MAAM,MAAM,IAAI,GAAA,CAAI,KAAK,MAAA,CAAO,MAAA,CAAO,WAAW,OAAO,CAAA;AAEzD,IAAA,MAAM,UAAA,GAA2C;AAAA,MAC7C,eAAA,EAAiB,MAAA;AAAA,MACjB,cAAA,EAAgB;AAAA,KACpB;AAEA,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA;AAAA,MACf,MAAA;AAAA,MACA,GAAA;AAAA,MACA,UAAA;AAAA,MACA;AAAA,KACJ;AAAA,EACJ;AAAA,EAmBA,SACI,aAAA,EACW;AACX,IAAA,IAAI,MAAA;AAEJ,IAAA,IAAK,aAAA,IAAiB,OAAO,aAAA,KAAkB,QAAA,IAAY,CAAC,MAAM,OAAA,CAAQ,aAAa,CAAA,IAAM,OAAA,IAAW,aAAA,EAAiB;AACrH,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;AAErB,IAAA,IAAI,OAAO,UAAU,WAAA,EAAa;AAC9B,MAAA,MAAM,IAAI,kBAAkB,qCAAqC,CAAA;AAAA,IACrE;AAEA,IAAA,MAAM,OAAA,GAAU,mBAAA;AAChB,IAAA,MAAM,UAAmB,EAAC;AAC1B,IAAA,IAAI,OAAO,UAAU,WAAA,EAAa;AAC9B,MAAA,OAAA,CAAQ,OAAO,CAAA,GAAI,KAAA;AAAA,IACvB;AACA,IAAA,MAAM,MAAM,IAAI,GAAA,CAAI,KAAK,MAAA,CAAO,MAAA,CAAO,WAAW,OAAO,CAAA;AAEzD,IAAA,MAAM,UAAA,GAA2C;AAAA,MAC7C,eAAA,EAAiB,MAAA;AAAA,MACjB,cAAA,EAAgB;AAAA,KACpB;AAEA,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA;AAAA,MACf,MAAA;AAAA,MACA,GAAA;AAAA,MACA,UAAA;AAAA,MACA;AAAA,KACJ;AAAA,EACJ;AACJ","file":"graphql.mjs","sourcesContent":["import { AppwriteException, Client, type Payload, UploadProgress } from '../client';\nimport type { Models } from '../models';\n\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(\n        paramsOrFirst: { query: object } | object    \n    ): Promise<{}> {\n        let params: { query: object };\n        \n        if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('query' in paramsOrFirst))) {\n            params = (paramsOrFirst || {}) as { query: object };\n        } else {\n            params = {\n                query: paramsOrFirst as object            \n            };\n        }\n        \n        const query = params.query;\n\n        if (typeof query === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"query\"');\n        }\n\n        const apiPath = '/graphql';\n        const payload: Payload = {};\n        if (typeof query !== 'undefined') {\n            payload['query'] = query;\n        }\n        const uri = new URL(this.client.config.endpoint + apiPath);\n\n        const apiHeaders: { [header: string]: string } = {\n            'x-sdk-graphql': 'true',\n            'content-type': 'application/json',\n        }\n\n        return this.client.call(\n            'post',\n            uri,\n            apiHeaders,\n            payload,\n        );\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(\n        paramsOrFirst: { query: object } | object    \n    ): Promise<{}> {\n        let params: { query: object };\n        \n        if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('query' in paramsOrFirst))) {\n            params = (paramsOrFirst || {}) as { query: object };\n        } else {\n            params = {\n                query: paramsOrFirst as object            \n            };\n        }\n        \n        const query = params.query;\n\n        if (typeof query === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"query\"');\n        }\n\n        const apiPath = '/graphql/mutation';\n        const payload: Payload = {};\n        if (typeof query !== 'undefined') {\n            payload['query'] = query;\n        }\n        const uri = new URL(this.client.config.endpoint + apiPath);\n\n        const apiHeaders: { [header: string]: string } = {\n            'x-sdk-graphql': 'true',\n            'content-type': 'application/json',\n        }\n\n        return this.client.call(\n            'post',\n            uri,\n            apiHeaders,\n            payload,\n        );\n    }\n}\n"]}