{"version":3,"sources":["../../src/services/proxy.ts"],"names":[],"mappings":"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","file":"proxy.mjs","sourcesContent":["import { AppwriteException, Client, type Payload } from '../client';\nimport type { Models } from '../models';\n\nimport { InvalidationType } from '../enums/invalidation-type';\nimport { StatusCode } from '../enums/status-code';\nimport { ProxyResourceType } from '../enums/proxy-resource-type';\nexport class Proxy {\n    client: Client;\n\n    constructor(client: Client) {\n        this.client = client;\n    }\n\n    /**\n     * Create a new CDN cache invalidation for a domain. Executes a hard purge of cached content.\n     *\n     * Depending on type, the invalidation purges a single cache tag, a single URL path, or all cached content for the domain.\n     *\n     * @param {string} params.domain - Domain name.\n     * @param {InvalidationType} params.type - Type of reference passed. Allowed values are: tag, path, all\n     * @param {string} params.reference - Reference to invalidate. Depending on type this can be: cache tag name (up to 128 characters), URL path (up to 2048 characters). Not required when type is all.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.ProxyInvalidation>}\n     */\n    createInvalidation(params: {\n        domain: string;\n        type: InvalidationType;\n        reference?: string;\n    }): Promise<Models.ProxyInvalidation>;\n    /**\n     * Create a new CDN cache invalidation for a domain. Executes a hard purge of cached content.\n     *\n     * Depending on type, the invalidation purges a single cache tag, a single URL path, or all cached content for the domain.\n     *\n     * @param {string} domain - Domain name.\n     * @param {InvalidationType} type - Type of reference passed. Allowed values are: tag, path, all\n     * @param {string} reference - Reference to invalidate. Depending on type this can be: cache tag name (up to 128 characters), URL path (up to 2048 characters). Not required when type is all.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.ProxyInvalidation>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    createInvalidation(\n        domain: string,\n        type: InvalidationType,\n        reference?: string,\n    ): Promise<Models.ProxyInvalidation>;\n    createInvalidation(\n        paramsOrFirst:\n            | { domain: string; type: InvalidationType; reference?: string }\n            | string,\n        ...rest: [InvalidationType?, string?]\n    ): Promise<Models.ProxyInvalidation> {\n        let params: {\n            domain: string;\n            type: InvalidationType;\n            reference?: string;\n        };\n\n        if (\n            paramsOrFirst &&\n            typeof paramsOrFirst === 'object' &&\n            !Array.isArray(paramsOrFirst)\n        ) {\n            params = (paramsOrFirst || {}) as {\n                domain: string;\n                type: InvalidationType;\n                reference?: string;\n            };\n        } else {\n            params = {\n                domain: paramsOrFirst as string,\n                type: rest[0] as InvalidationType,\n                reference: rest[1] as string,\n            };\n        }\n\n        const domain = params.domain;\n        const type = params.type;\n        const reference = params.reference;\n        if (typeof domain === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"domain\"');\n        }\n        if (typeof type === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"type\"');\n        }\n        const apiPath = '/proxy/invalidations';\n        const apiPayload: Payload = {};\n        if (typeof domain !== 'undefined') {\n            apiPayload['domain'] = domain;\n        }\n        if (typeof type !== 'undefined') {\n            apiPayload['type'] = type;\n        }\n        if (typeof reference !== 'undefined') {\n            apiPayload['reference'] = reference;\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            'content-type': 'application/json',\n            accept: 'application/json',\n        };\n\n        return this.client.call('post', uri, apiHeaders, apiPayload);\n    }\n\n    /**\n     * Get a list of all the proxy rules. You can use the query params to filter your results.\n     *\n     * @param {string[]} params.queries - Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: domain, type, trigger, deploymentResourceType, deploymentResourceId, deploymentId, deploymentVcsProviderBranch\n     * @param {boolean} params.total - When set to false, the total count returned will be 0 and will not be calculated.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.ProxyRuleList>}\n     */\n    listRules(params?: {\n        queries?: string[];\n        total?: boolean;\n    }): Promise<Models.ProxyRuleList>;\n    /**\n     * Get a list of all the proxy rules. You can use the query params to filter your results.\n     *\n     * @param {string[]} queries - Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: domain, type, trigger, deploymentResourceType, deploymentResourceId, deploymentId, deploymentVcsProviderBranch\n     * @param {boolean} total - When set to false, the total count returned will be 0 and will not be calculated.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.ProxyRuleList>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    listRules(\n        queries?: string[],\n        total?: boolean,\n    ): Promise<Models.ProxyRuleList>;\n    listRules(\n        paramsOrFirst?: { queries?: string[]; total?: boolean } | string[],\n        ...rest: [boolean?]\n    ): Promise<Models.ProxyRuleList> {\n        let params: { queries?: string[]; total?: boolean };\n\n        if (\n            !paramsOrFirst ||\n            (paramsOrFirst &&\n                typeof paramsOrFirst === 'object' &&\n                !Array.isArray(paramsOrFirst))\n        ) {\n            params = (paramsOrFirst || {}) as {\n                queries?: string[];\n                total?: boolean;\n            };\n        } else {\n            params = {\n                queries: paramsOrFirst as string[],\n                total: rest[0] as boolean,\n            };\n        }\n\n        const queries = params.queries;\n        const total = params.total;\n        const apiPath = '/proxy/rules';\n        const apiPayload: Payload = {};\n        if (typeof queries !== 'undefined') {\n            apiPayload['queries'] = queries;\n        }\n        if (typeof total !== 'undefined') {\n            apiPayload['total'] = total;\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            accept: 'application/json',\n        };\n\n        return this.client.call('get', uri, apiHeaders, apiPayload);\n    }\n\n    /**\n     * Create a new proxy rule for serving Appwrite's API on custom domain.\n     *\n     * Rule ID is automatically generated as MD5 hash of a rule domain for performance purposes.\n     *\n     * @param {string} params.domain - Domain name.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.ProxyRule>}\n     */\n    createAPIRule(params: { domain: string }): Promise<Models.ProxyRule>;\n    /**\n     * Create a new proxy rule for serving Appwrite's API on custom domain.\n     *\n     * Rule ID is automatically generated as MD5 hash of a rule domain for performance purposes.\n     *\n     * @param {string} domain - Domain name.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.ProxyRule>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    createAPIRule(domain: string): Promise<Models.ProxyRule>;\n    createAPIRule(\n        paramsOrFirst: { domain: string } | string,\n    ): Promise<Models.ProxyRule> {\n        let params: { domain: string };\n\n        if (\n            paramsOrFirst &&\n            typeof paramsOrFirst === 'object' &&\n            !Array.isArray(paramsOrFirst)\n        ) {\n            params = (paramsOrFirst || {}) as { domain: string };\n        } else {\n            params = {\n                domain: paramsOrFirst as string,\n            };\n        }\n\n        const domain = params.domain;\n        if (typeof domain === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"domain\"');\n        }\n        const apiPath = '/proxy/rules/api';\n        const apiPayload: Payload = {};\n        if (typeof domain !== 'undefined') {\n            apiPayload['domain'] = domain;\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            'content-type': 'application/json',\n            accept: 'application/json',\n        };\n\n        return this.client.call('post', uri, apiHeaders, apiPayload);\n    }\n\n    /**\n     * Create a new proxy rule for executing Appwrite Function on custom domain.\n     *\n     * Rule ID is automatically generated as MD5 hash of a rule domain for performance purposes.\n     *\n     * @param {string} params.domain - Domain name.\n     * @param {string} params.functionId - ID of function to be executed.\n     * @param {string} params.branch - Name of VCS branch to deploy changes automatically\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.ProxyRule>}\n     */\n    createFunctionRule(params: {\n        domain: string;\n        functionId: string;\n        branch?: string;\n    }): Promise<Models.ProxyRule>;\n    /**\n     * Create a new proxy rule for executing Appwrite Function on custom domain.\n     *\n     * Rule ID is automatically generated as MD5 hash of a rule domain for performance purposes.\n     *\n     * @param {string} domain - Domain name.\n     * @param {string} functionId - ID of function to be executed.\n     * @param {string} branch - Name of VCS branch to deploy changes automatically\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.ProxyRule>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    createFunctionRule(\n        domain: string,\n        functionId: string,\n        branch?: string,\n    ): Promise<Models.ProxyRule>;\n    createFunctionRule(\n        paramsOrFirst:\n            { domain: string; functionId: string; branch?: string } | string,\n        ...rest: [string?, string?]\n    ): Promise<Models.ProxyRule> {\n        let params: { domain: string; functionId: string; branch?: string };\n\n        if (\n            paramsOrFirst &&\n            typeof paramsOrFirst === 'object' &&\n            !Array.isArray(paramsOrFirst)\n        ) {\n            params = (paramsOrFirst || {}) as {\n                domain: string;\n                functionId: string;\n                branch?: string;\n            };\n        } else {\n            params = {\n                domain: paramsOrFirst as string,\n                functionId: rest[0] as string,\n                branch: rest[1] as string,\n            };\n        }\n\n        const domain = params.domain;\n        const functionId = params.functionId;\n        const branch = params.branch;\n        if (typeof domain === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"domain\"');\n        }\n        if (typeof functionId === 'undefined') {\n            throw new AppwriteException(\n                'Missing required parameter: \"functionId\"',\n            );\n        }\n        const apiPath = '/proxy/rules/function';\n        const apiPayload: Payload = {};\n        if (typeof domain !== 'undefined') {\n            apiPayload['domain'] = domain;\n        }\n        if (typeof functionId !== 'undefined') {\n            apiPayload['functionId'] = functionId;\n        }\n        if (typeof branch !== 'undefined') {\n            apiPayload['branch'] = branch;\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            'content-type': 'application/json',\n            accept: 'application/json',\n        };\n\n        return this.client.call('post', uri, apiHeaders, apiPayload);\n    }\n\n    /**\n     * Create a new proxy rule for to redirect from custom domain to another domain.\n     *\n     * Rule ID is automatically generated as MD5 hash of a rule domain for performance purposes.\n     *\n     * @param {string} params.domain - Domain name.\n     * @param {string} params.url - Target URL of redirection\n     * @param {StatusCode} params.statusCode - Status code of redirection\n     * @param {string} params.resourceId - ID of parent resource.\n     * @param {ProxyResourceType} params.resourceType - Type of parent resource.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.ProxyRule>}\n     */\n    createRedirectRule(params: {\n        domain: string;\n        url: string;\n        statusCode: StatusCode;\n        resourceId: string;\n        resourceType: ProxyResourceType;\n    }): Promise<Models.ProxyRule>;\n    /**\n     * Create a new proxy rule for to redirect from custom domain to another domain.\n     *\n     * Rule ID is automatically generated as MD5 hash of a rule domain for performance purposes.\n     *\n     * @param {string} domain - Domain name.\n     * @param {string} url - Target URL of redirection\n     * @param {StatusCode} statusCode - Status code of redirection\n     * @param {string} resourceId - ID of parent resource.\n     * @param {ProxyResourceType} resourceType - Type of parent resource.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.ProxyRule>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    createRedirectRule(\n        domain: string,\n        url: string,\n        statusCode: StatusCode,\n        resourceId: string,\n        resourceType: ProxyResourceType,\n    ): Promise<Models.ProxyRule>;\n    createRedirectRule(\n        paramsOrFirst:\n            | {\n                  domain: string;\n                  url: string;\n                  statusCode: StatusCode;\n                  resourceId: string;\n                  resourceType: ProxyResourceType;\n              }\n            | string,\n        ...rest: [string?, StatusCode?, string?, ProxyResourceType?]\n    ): Promise<Models.ProxyRule> {\n        let params: {\n            domain: string;\n            url: string;\n            statusCode: StatusCode;\n            resourceId: string;\n            resourceType: ProxyResourceType;\n        };\n\n        if (\n            paramsOrFirst &&\n            typeof paramsOrFirst === 'object' &&\n            !Array.isArray(paramsOrFirst)\n        ) {\n            params = (paramsOrFirst || {}) as {\n                domain: string;\n                url: string;\n                statusCode: StatusCode;\n                resourceId: string;\n                resourceType: ProxyResourceType;\n            };\n        } else {\n            params = {\n                domain: paramsOrFirst as string,\n                url: rest[0] as string,\n                statusCode: rest[1] as StatusCode,\n                resourceId: rest[2] as string,\n                resourceType: rest[3] as ProxyResourceType,\n            };\n        }\n\n        const domain = params.domain;\n        const url = params.url;\n        const statusCode = params.statusCode;\n        const resourceId = params.resourceId;\n        const resourceType = params.resourceType;\n        if (typeof domain === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"domain\"');\n        }\n        if (typeof url === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"url\"');\n        }\n        if (typeof statusCode === 'undefined') {\n            throw new AppwriteException(\n                'Missing required parameter: \"statusCode\"',\n            );\n        }\n        if (typeof resourceId === 'undefined') {\n            throw new AppwriteException(\n                'Missing required parameter: \"resourceId\"',\n            );\n        }\n        if (typeof resourceType === 'undefined') {\n            throw new AppwriteException(\n                'Missing required parameter: \"resourceType\"',\n            );\n        }\n        const apiPath = '/proxy/rules/redirect';\n        const apiPayload: Payload = {};\n        if (typeof domain !== 'undefined') {\n            apiPayload['domain'] = domain;\n        }\n        if (typeof url !== 'undefined') {\n            apiPayload['url'] = url;\n        }\n        if (typeof statusCode !== 'undefined') {\n            apiPayload['statusCode'] = statusCode;\n        }\n        if (typeof resourceId !== 'undefined') {\n            apiPayload['resourceId'] = resourceId;\n        }\n        if (typeof resourceType !== 'undefined') {\n            apiPayload['resourceType'] = resourceType;\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            'content-type': 'application/json',\n            accept: 'application/json',\n        };\n\n        return this.client.call('post', uri, apiHeaders, apiPayload);\n    }\n\n    /**\n     * Create a new proxy rule for serving Appwrite Site on custom domain.\n     *\n     * Rule ID is automatically generated as MD5 hash of a rule domain for performance purposes.\n     *\n     * @param {string} params.domain - Domain name.\n     * @param {string} params.siteId - ID of site to be executed.\n     * @param {string} params.branch - Name of VCS branch to deploy changes automatically\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.ProxyRule>}\n     */\n    createSiteRule(params: {\n        domain: string;\n        siteId: string;\n        branch?: string;\n    }): Promise<Models.ProxyRule>;\n    /**\n     * Create a new proxy rule for serving Appwrite Site on custom domain.\n     *\n     * Rule ID is automatically generated as MD5 hash of a rule domain for performance purposes.\n     *\n     * @param {string} domain - Domain name.\n     * @param {string} siteId - ID of site to be executed.\n     * @param {string} branch - Name of VCS branch to deploy changes automatically\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.ProxyRule>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    createSiteRule(\n        domain: string,\n        siteId: string,\n        branch?: string,\n    ): Promise<Models.ProxyRule>;\n    createSiteRule(\n        paramsOrFirst:\n            { domain: string; siteId: string; branch?: string } | string,\n        ...rest: [string?, string?]\n    ): Promise<Models.ProxyRule> {\n        let params: { domain: string; siteId: string; branch?: string };\n\n        if (\n            paramsOrFirst &&\n            typeof paramsOrFirst === 'object' &&\n            !Array.isArray(paramsOrFirst)\n        ) {\n            params = (paramsOrFirst || {}) as {\n                domain: string;\n                siteId: string;\n                branch?: string;\n            };\n        } else {\n            params = {\n                domain: paramsOrFirst as string,\n                siteId: rest[0] as string,\n                branch: rest[1] as string,\n            };\n        }\n\n        const domain = params.domain;\n        const siteId = params.siteId;\n        const branch = params.branch;\n        if (typeof domain === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"domain\"');\n        }\n        if (typeof siteId === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"siteId\"');\n        }\n        const apiPath = '/proxy/rules/site';\n        const apiPayload: Payload = {};\n        if (typeof domain !== 'undefined') {\n            apiPayload['domain'] = domain;\n        }\n        if (typeof siteId !== 'undefined') {\n            apiPayload['siteId'] = siteId;\n        }\n        if (typeof branch !== 'undefined') {\n            apiPayload['branch'] = branch;\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            'content-type': 'application/json',\n            accept: 'application/json',\n        };\n\n        return this.client.call('post', uri, apiHeaders, apiPayload);\n    }\n\n    /**\n     * Get a proxy rule by its unique ID.\n     *\n     * @param {string} params.ruleId - Rule ID.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.ProxyRule>}\n     */\n    getRule(params: { ruleId: string }): Promise<Models.ProxyRule>;\n    /**\n     * Get a proxy rule by its unique ID.\n     *\n     * @param {string} ruleId - Rule ID.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.ProxyRule>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    getRule(ruleId: string): Promise<Models.ProxyRule>;\n    getRule(\n        paramsOrFirst: { ruleId: string } | string,\n    ): Promise<Models.ProxyRule> {\n        let params: { ruleId: string };\n\n        if (\n            paramsOrFirst &&\n            typeof paramsOrFirst === 'object' &&\n            !Array.isArray(paramsOrFirst)\n        ) {\n            params = (paramsOrFirst || {}) as { ruleId: string };\n        } else {\n            params = {\n                ruleId: paramsOrFirst as string,\n            };\n        }\n\n        const ruleId = params.ruleId;\n        if (typeof ruleId === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"ruleId\"');\n        }\n        const apiPath = '/proxy/rules/{ruleId}'.replace(\n            '{ruleId}',\n            encodeURIComponent(String(ruleId)),\n        );\n        const apiPayload: Payload = {};\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            accept: 'application/json',\n        };\n\n        return this.client.call('get', uri, apiHeaders, apiPayload);\n    }\n\n    /**\n     * Delete a proxy rule by its unique ID.\n     *\n     * @param {string} params.ruleId - Rule ID.\n     * @throws {AppwriteException}\n     * @returns {Promise<{}>}\n     */\n    deleteRule(params: { ruleId: string }): Promise<{}>;\n    /**\n     * Delete a proxy rule by its unique ID.\n     *\n     * @param {string} ruleId - Rule ID.\n     * @throws {AppwriteException}\n     * @returns {Promise<{}>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    deleteRule(ruleId: string): Promise<{}>;\n    deleteRule(paramsOrFirst: { ruleId: string } | string): Promise<{}> {\n        let params: { ruleId: string };\n\n        if (\n            paramsOrFirst &&\n            typeof paramsOrFirst === 'object' &&\n            !Array.isArray(paramsOrFirst)\n        ) {\n            params = (paramsOrFirst || {}) as { ruleId: string };\n        } else {\n            params = {\n                ruleId: paramsOrFirst as string,\n            };\n        }\n\n        const ruleId = params.ruleId;\n        if (typeof ruleId === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"ruleId\"');\n        }\n        const apiPath = '/proxy/rules/{ruleId}'.replace(\n            '{ruleId}',\n            encodeURIComponent(String(ruleId)),\n        );\n        const apiPayload: Payload = {};\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            'content-type': 'application/json',\n        };\n\n        return this.client.call('delete', uri, apiHeaders, apiPayload);\n    }\n\n    /**\n     * If not succeeded yet, retry verification process of a proxy rule domain. This endpoint triggers domain verification by checking DNS records. If verification is successful, a TLS certificate will be automatically provisioned for the domain asynchronously in the background.\n     *\n     * @param {string} params.ruleId - Rule ID.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.ProxyRule>}\n     */\n    updateRuleStatus(params: { ruleId: string }): Promise<Models.ProxyRule>;\n    /**\n     * If not succeeded yet, retry verification process of a proxy rule domain. This endpoint triggers domain verification by checking DNS records. If verification is successful, a TLS certificate will be automatically provisioned for the domain asynchronously in the background.\n     *\n     * @param {string} ruleId - Rule ID.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.ProxyRule>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    updateRuleStatus(ruleId: string): Promise<Models.ProxyRule>;\n    updateRuleStatus(\n        paramsOrFirst: { ruleId: string } | string,\n    ): Promise<Models.ProxyRule> {\n        let params: { ruleId: string };\n\n        if (\n            paramsOrFirst &&\n            typeof paramsOrFirst === 'object' &&\n            !Array.isArray(paramsOrFirst)\n        ) {\n            params = (paramsOrFirst || {}) as { ruleId: string };\n        } else {\n            params = {\n                ruleId: paramsOrFirst as string,\n            };\n        }\n\n        const ruleId = params.ruleId;\n        if (typeof ruleId === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"ruleId\"');\n        }\n        const apiPath = '/proxy/rules/{ruleId}/status'.replace(\n            '{ruleId}',\n            encodeURIComponent(String(ruleId)),\n        );\n        const apiPayload: Payload = {};\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            'content-type': 'application/json',\n            accept: 'application/json',\n        };\n\n        return this.client.call('patch', uri, apiHeaders, apiPayload);\n    }\n}\n"]}