// AUTO-GENERATED by scripts/generate.ts from .generated-specs. Do not edit. import * as S from "@distilled.cloud/core/schema"; import * as API from "@distilled.cloud/core/api"; import * as T from "../traits.ts"; import { CloudflareProtocol, CloudflarePaginatedProtocol, type CloudflareOpError, type CloudflareOpContext, } from "../protocol.ts"; import { cloudflarePaginate, ResultInfo } from "../pagination.ts"; import { CloudflareError, CloudflareRateLimited } from "../errors.ts"; import * as Retry from "../retry.ts"; export type { CloudflareOpError, CloudflareOpContext }; export class ContentScanningNotEnabled extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()( "ContentScanningNotEnabled", { code: S.Number, message: S.String, }, ), [{ status: 400, message: { includes: "File Upload Scan not enabled" } }], ) {} export class ContentScanningNotEntitled extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()( "ContentScanningNotEntitled", { code: S.Number, message: S.String, }, ), [{ status: 400, message: { includes: "not entitled" } }], ) {} export class Forbidden extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()("Forbidden", { code: S.Number, message: S.String, }), [{ status: 403 }], ) {} export type CreateRequestValue = "enabled" | "disabled"; export const CreateRequestValue = /*@__PURE__*/ S.String; export interface CreateContentScanningRequest { /** Defines an identifier. */ zoneId: string; /** The status value for Content Scanning. */ value: CreateRequestValue | (string & {}); } export const CreateContentScanningRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), value: CreateRequestValue, }).pipe( T.Http({ method: "PUT", uri: "/zones/{zone_id}/content-upload-scan/settings", code: 200, }), ), ).annotate({ identifier: "CreateContentScanningRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface CreateContentScanningResponse { /** Defines the last modification date (ISO 8601) of the Content Scanning status. */ modified?: string | null; /** Defines the status of Content Scanning. */ value?: string | null; } export const CreateContentScanningResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ modified: S.optional(S.NullOr(S.String)), value: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "CreateContentScanningResponse", }) as any as S.Schema; export interface PayloadsCreateRequestBodyItem { /** Defines the ruleset expression to use in matching content objects. */ payload: string; } export const PayloadsCreateRequestBodyItem = /*@__PURE__*/ S.suspend(() => S.Struct({ payload: S.String, }), ).annotate({ identifier: "PayloadsCreateRequestBodyItem", }) as any as S.Schema; export type PayloadsCreateRequestBodyList = Array; export const PayloadsCreateRequestBodyList = /*@__PURE__*/ S.Array( PayloadsCreateRequestBodyItem, ) as any as S.Schema; export interface CreatePayloadRequest { /** Defines an identifier. */ zoneId: string; body: PayloadsCreateRequestBodyList; } export const CreatePayloadRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), body: PayloadsCreateRequestBodyList.pipe(T.HttpBody()), }).pipe( T.Http({ method: "POST", uri: "/zones/{zone_id}/content-upload-scan/payloads", code: 200, }), ), ).annotate({ identifier: "CreatePayloadRequest", }) as any as S.Schema; export interface PayloadsCreateResultItem { /** defines the unique ID for this custom scan expression. */ id?: string | null; /** Defines the ruleset expression to use in matching content objects. */ payload?: string | null; } export const PayloadsCreateResultItem = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.NullOr(S.String)), payload: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "PayloadsCreateResultItem", }) as any as S.Schema; export type PayloadsCreateResultList = Array; export const PayloadsCreateResultList = /*@__PURE__*/ S.Array( PayloadsCreateResultItem, ) as any as S.Schema; export interface CreatePayloadResponse { /** The unwrapped `result` payload of the v4 response envelope. */ result: PayloadsCreateResultList; /** Pagination info from the envelope's `result_info`. */ resultInfo?: ResultInfo | null; } export const CreatePayloadResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ result: PayloadsCreateResultList.pipe(T.EnvelopePayload()), resultInfo: S.optional(S.NullOr(ResultInfo).pipe(T.ResultInfo())), }), ).annotate({ identifier: "CreatePayloadResponse", }) as any as S.Schema; export interface DeletePayloadRequest { /** Defines an identifier. */ zoneId: string; /** defines the unique ID for this custom scan expression. */ expressionId: string; } export const DeletePayloadRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), expressionId: S.String.pipe(T.Label("expression_id")), }).pipe( T.Http({ method: "DELETE", uri: "/zones/{zone_id}/content-upload-scan/payloads/{expression_id}", code: 200, }), ), ).annotate({ identifier: "DeletePayloadRequest", }) as any as S.Schema; export type PayloadsDeleteResultItem = PayloadsCreateResultItem; export const PayloadsDeleteResultItem = PayloadsCreateResultItem; export type PayloadsDeleteResultList = Array; export const PayloadsDeleteResultList = /*@__PURE__*/ S.Array( PayloadsCreateResultItem, ) as any as S.Schema; export interface DeletePayloadResponse { /** The unwrapped `result` payload of the v4 response envelope. */ result: PayloadsDeleteResultList; /** Pagination info from the envelope's `result_info`. */ resultInfo?: ResultInfo | null; } export const DeletePayloadResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ result: PayloadsDeleteResultList.pipe(T.EnvelopePayload()), resultInfo: S.optional(S.NullOr(ResultInfo).pipe(T.ResultInfo())), }), ).annotate({ identifier: "DeletePayloadResponse", }) as any as S.Schema; export interface DisableContentScanningRequest { /** Defines an identifier. */ zoneId: string; } export const DisableContentScanningRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), }).pipe( T.Http({ method: "POST", uri: "/zones/{zone_id}/content-upload-scan/disable", code: 200, }), ), ).annotate({ identifier: "DisableContentScanningRequest", }) as any as S.Schema; export type DisableContentScanningResponse = unknown; export const DisableContentScanningResponse = /*@__PURE__*/ S.suspend(() => S.Unknown.pipe(T.EnvelopePayloadRoot()), ).annotate({ identifier: "DisableContentScanningResponse", }) as any as S.Schema; export interface EnableContentScanningRequest { /** Defines an identifier. */ zoneId: string; } export const EnableContentScanningRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), }).pipe( T.Http({ method: "POST", uri: "/zones/{zone_id}/content-upload-scan/enable", code: 200, }), ), ).annotate({ identifier: "EnableContentScanningRequest", }) as any as S.Schema; export type EnableContentScanningResponse = unknown; export const EnableContentScanningResponse = /*@__PURE__*/ S.suspend(() => S.Unknown.pipe(T.EnvelopePayloadRoot()), ).annotate({ identifier: "EnableContentScanningResponse", }) as any as S.Schema; export interface GetContentScanningRequest { /** Defines an identifier. */ zoneId: string; } export const GetContentScanningRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), }).pipe( T.Http({ method: "GET", uri: "/zones/{zone_id}/content-upload-scan/settings", code: 200, }), ), ).annotate({ identifier: "GetContentScanningRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetContentScanningResponse { /** Defines the last modification date (ISO 8601) of the Content Scanning status. */ modified?: string | null; /** Defines the status of Content Scanning. */ value?: string | null; } export const GetContentScanningResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ modified: S.optional(S.NullOr(S.String)), value: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "GetContentScanningResponse", }) as any as S.Schema; export interface GetSettingsRequest { /** Defines an identifier. */ zoneId: string; } export const GetSettingsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), }).pipe( T.Http({ method: "GET", uri: "/zones/{zone_id}/content-upload-scan/settings", code: 200, }), ), ).annotate({ identifier: "GetSettingsRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetSettingsResponse { /** Defines the last modification date (ISO 8601) of the Content Scanning status. */ modified?: string | null; /** Defines the status of Content Scanning. */ value?: string | null; } export const GetSettingsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ modified: S.optional(S.NullOr(S.String)), value: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "GetSettingsResponse", }) as any as S.Schema; export interface ListPayloadsRequest { /** Defines an identifier. */ zoneId: string; } export const ListPayloadsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), }).pipe( T.Http({ method: "GET", uri: "/zones/{zone_id}/content-upload-scan/payloads", code: 200, }), ), ).annotate({ identifier: "ListPayloadsRequest", }) as any as S.Schema; export type PayloadsListResultItem = PayloadsCreateResultItem; export const PayloadsListResultItem = PayloadsCreateResultItem; export type PayloadsListResultList = Array; export const PayloadsListResultList = /*@__PURE__*/ S.Array( PayloadsCreateResultItem, ) as any as S.Schema; export interface ListPayloadsResponse { /** The unwrapped `result` payload of the v4 response envelope. */ result: PayloadsListResultList; /** Pagination info from the envelope's `result_info`. */ resultInfo?: ResultInfo | null; } export const ListPayloadsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ result: PayloadsListResultList.pipe(T.EnvelopePayload()), resultInfo: S.optional(S.NullOr(ResultInfo).pipe(T.ResultInfo())), }), ).annotate({ identifier: "ListPayloadsResponse", }) as any as S.Schema; export type UpdateRequestValue = "enabled" | "disabled"; export const UpdateRequestValue = /*@__PURE__*/ S.String; export interface UpdateRequest { /** Defines an identifier. */ zoneId: string; /** The status value for Content Scanning. */ value: UpdateRequestValue | (string & {}); } export const UpdateRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), value: UpdateRequestValue, }).pipe( T.Http({ method: "PUT", uri: "/zones/{zone_id}/content-upload-scan/settings", code: 200, }), ), ).annotate({ identifier: "UpdateRequest" }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface UpdateResponse { /** Defines the last modification date (ISO 8601) of the Content Scanning status. */ modified?: string | null; /** Defines the status of Content Scanning. */ value?: string | null; } export const UpdateResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ modified: S.optional(S.NullOr(S.String)), value: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "UpdateResponse" }) as any as S.Schema; export type CreateContentScanningError = | ContentScanningNotEntitled | Forbidden | CloudflareOpError; /** Update the Content Scanning status. */ export const createContentScanning: API.OperationMethod< CreateContentScanningRequest, CreateContentScanningResponse, CreateContentScanningError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateContentScanningRequest, output: CreateContentScanningResponse, errors: [ ContentScanningNotEntitled, Forbidden, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type CreatePayloadError = | ContentScanningNotEnabled | ContentScanningNotEntitled | Forbidden | CloudflareOpError; /** Add custom scan expressions for Content Scanning. */ export const createPayload: API.PaginatedOperationMethod< CreatePayloadRequest, CreatePayloadResponse, CreatePayloadError, CloudflareOpContext, PayloadsCreateResultItem > = /*@__PURE__*/ API.makePaginated( () => ({ input: CreatePayloadRequest, output: CreatePayloadResponse, errors: [ ContentScanningNotEnabled, ContentScanningNotEntitled, Forbidden, CloudflareRateLimited, CloudflareError, ], protocol: CloudflarePaginatedProtocol, retry: Retry.Retry, pagination: { mode: "single", items: "result" } as const, }), cloudflarePaginate, ) as any; export type DeletePayloadError = | ContentScanningNotEnabled | Forbidden | CloudflareOpError; /** Delete a Content Scan Custom Expression. */ export const deletePayload: API.PaginatedOperationMethod< DeletePayloadRequest, DeletePayloadResponse, DeletePayloadError, CloudflareOpContext, PayloadsCreateResultItem > = /*@__PURE__*/ API.makePaginated( () => ({ input: DeletePayloadRequest, output: DeletePayloadResponse, errors: [ ContentScanningNotEnabled, Forbidden, CloudflareRateLimited, CloudflareError, ], protocol: CloudflarePaginatedProtocol, retry: Retry.Retry, pagination: { mode: "single", items: "result" } as const, }), cloudflarePaginate, ) as any; export type DisableContentScanningError = CloudflareOpError; /** Disable Content Scanning. */ export const disableContentScanning: API.OperationMethod< DisableContentScanningRequest, DisableContentScanningResponse, DisableContentScanningError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DisableContentScanningRequest, output: DisableContentScanningResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type EnableContentScanningError = CloudflareOpError; /** Enable Content Scanning. */ export const enableContentScanning: API.OperationMethod< EnableContentScanningRequest, EnableContentScanningResponse, EnableContentScanningError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: EnableContentScanningRequest, output: EnableContentScanningResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetContentScanningError = Forbidden | CloudflareOpError; /** Retrieve the current status of Content Scanning. */ export const getContentScanning: API.OperationMethod< GetContentScanningRequest, GetContentScanningResponse, GetContentScanningError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetContentScanningRequest, output: GetContentScanningResponse, errors: [Forbidden, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetSettingsError = Forbidden | CloudflareOpError; /** Retrieve the current status of Content Scanning. */ export const getSettings: API.OperationMethod< GetSettingsRequest, GetSettingsResponse, GetSettingsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetSettingsRequest, output: GetSettingsResponse, errors: [Forbidden, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ListPayloadsError = | ContentScanningNotEnabled | Forbidden | CloudflareOpError; /** Get a list of existing custom scan expressions for Content Scanning. */ export const listPayloads: API.PaginatedOperationMethod< ListPayloadsRequest, ListPayloadsResponse, ListPayloadsError, CloudflareOpContext, PayloadsCreateResultItem > = /*@__PURE__*/ API.makePaginated( () => ({ input: ListPayloadsRequest, output: ListPayloadsResponse, errors: [ ContentScanningNotEnabled, Forbidden, CloudflareRateLimited, CloudflareError, ], protocol: CloudflarePaginatedProtocol, retry: Retry.Retry, pagination: { mode: "single", items: "result" } as const, }), cloudflarePaginate, ) as any; export type UpdateError = | ContentScanningNotEntitled | Forbidden | CloudflareOpError; /** Update the Content Scanning status. */ export const update: API.OperationMethod< UpdateRequest, UpdateResponse, UpdateError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateRequest, output: UpdateResponse, errors: [ ContentScanningNotEntitled, Forbidden, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); // Alias of getContentScanning (same route, alternate export name upstream). export const getSetting = getContentScanning; export type GetSettingRequest = GetContentScanningRequest; export type GetSettingResponse = GetContentScanningResponse; export type GetSettingError = GetContentScanningError; // Alias of createContentScanning (same route, alternate export name upstream). export const putContentScanning = createContentScanning; export type PutContentScanningRequest = CreateContentScanningRequest; export type PutContentScanningResponse = CreateContentScanningResponse; export type PutContentScanningError = CreateContentScanningError;