UNPKG

cloudflare

Version:

The official TypeScript library for the Cloudflare API

154 lines (133 loc) 3.41 kB
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import * as Core from "../../core"; import { APIResource } from "../../resource"; import * as FiltersAPI from "./filters"; import { SinglePage } from "../../pagination"; export class Filters extends APIResource { /** * Create Filter */ create( params: FilterCreateParams, options?: Core.RequestOptions, ): Core.APIPromise<FilterCreateResponse | null> { const { zone_id, ...body } = params; return ( this._client.post(`/zones/${zone_id}/workers/filters`, { body, ...options }) as Core.APIPromise<{ result: FilterCreateResponse | null; }> )._thenUnwrap((obj) => obj.result); } /** * Update Filter */ update( filterId: string, params: FilterUpdateParams, options?: Core.RequestOptions, ): Core.APIPromise<WorkersFilter> { const { zone_id, ...body } = params; return ( this._client.put(`/zones/${zone_id}/workers/filters/${filterId}`, { body, ...options, }) as Core.APIPromise<{ result: WorkersFilter }> )._thenUnwrap((obj) => obj.result); } /** * List Filters */ list( params: FilterListParams, options?: Core.RequestOptions, ): Core.PagePromise<WorkersFiltersSinglePage, WorkersFilter> { const { zone_id } = params; return this._client.getAPIList(`/zones/${zone_id}/workers/filters`, WorkersFiltersSinglePage, options); } /** * Delete Filter */ delete( filterId: string, params: FilterDeleteParams, options?: Core.RequestOptions, ): Core.APIPromise<FilterDeleteResponse | null> { const { zone_id } = params; return ( this._client.delete(`/zones/${zone_id}/workers/filters/${filterId}`, options) as Core.APIPromise<{ result: FilterDeleteResponse | null; }> )._thenUnwrap((obj) => obj.result); } } export class WorkersFiltersSinglePage extends SinglePage<WorkersFilter> {} export interface WorkersFilter { /** * Identifier */ id: string; enabled: boolean; pattern: string; } export interface FilterCreateResponse { /** * Identifier */ id: string; } export interface FilterDeleteResponse { /** * Identifier */ id: string; } export interface FilterCreateParams { /** * Path param: Identifier */ zone_id: string; /** * Body param: */ enabled: boolean; /** * Body param: */ pattern: string; } export interface FilterUpdateParams { /** * Path param: Identifier */ zone_id: string; /** * Body param: */ enabled: boolean; /** * Body param: */ pattern: string; } export interface FilterListParams { /** * Identifier */ zone_id: string; } export interface FilterDeleteParams { /** * Identifier */ zone_id: string; } export namespace Filters { export import WorkersFilter = FiltersAPI.WorkersFilter; export import FilterCreateResponse = FiltersAPI.FilterCreateResponse; export import FilterDeleteResponse = FiltersAPI.FilterDeleteResponse; export import WorkersFiltersSinglePage = FiltersAPI.WorkersFiltersSinglePage; export import FilterCreateParams = FiltersAPI.FilterCreateParams; export import FilterUpdateParams = FiltersAPI.FilterUpdateParams; export import FilterListParams = FiltersAPI.FilterListParams; export import FilterDeleteParams = FiltersAPI.FilterDeleteParams; }