UNPKG

cloudflare

Version:

The official TypeScript library for the Cloudflare API

132 lines (114 loc) • 3.16 kB
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../../../core/resource'; import { APIPromise } from '../../../core/api-promise'; import { RequestOptions } from '../../../internal/request-options'; import { path } from '../../../internal/utils/path'; export class BaseSchedules extends APIResource { static override readonly _key: readonly ['workers', 'scripts', 'schedules'] = Object.freeze([ 'workers', 'scripts', 'schedules', ] as const); /** * Update the schedules (Cron Triggers) for a Worker script. * * @example * ```ts * const schedule = * await client.workers.scripts.schedules.update( * 'this-is_my_script-01', * { * account_id: '023e105f4ecef8ad9ca31a8372d0c353', * body: [{ cron: '* /30 * * * *' }], * }, * ); * ``` */ update( scriptName: string, params: ScheduleUpdateParams, options?: RequestOptions, ): APIPromise<ScheduleUpdateResponse> { const { account_id, body } = params; return ( this._client.put(path`/accounts/${account_id}/workers/scripts/${scriptName}/schedules`, { body: body, ...options, }) as APIPromise<{ result: ScheduleUpdateResponse }> )._thenUnwrap((obj) => obj.result); } /** * Get the schedules (Cron Triggers) for a Worker script. * * @example * ```ts * const schedule = await client.workers.scripts.schedules.get( * 'this-is_my_script-01', * { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, * ); * ``` */ get( scriptName: string, params: ScheduleGetParams, options?: RequestOptions, ): APIPromise<ScheduleGetResponse> { const { account_id } = params; return ( this._client.get( path`/accounts/${account_id}/workers/scripts/${scriptName}/schedules`, options, ) as APIPromise<{ result: ScheduleGetResponse }> )._thenUnwrap((obj) => obj.result); } } export class Schedules extends BaseSchedules {} export interface ScheduleUpdateResponse { schedules: Array<ScheduleUpdateResponse.Schedule>; } export namespace ScheduleUpdateResponse { export interface Schedule { cron: string; created_on?: string; modified_on?: string; } } export interface ScheduleGetResponse { schedules: Array<ScheduleGetResponse.Schedule>; } export namespace ScheduleGetResponse { export interface Schedule { cron: string; created_on?: string; modified_on?: string; } } export interface ScheduleUpdateParams { /** * Path param: Identifier. */ account_id: string; /** * Body param */ body: Array<ScheduleUpdateParams.Body>; } export namespace ScheduleUpdateParams { export interface Body { cron: string; } } export interface ScheduleGetParams { /** * Identifier. */ account_id: string; } export declare namespace Schedules { export { type ScheduleUpdateResponse as ScheduleUpdateResponse, type ScheduleGetResponse as ScheduleGetResponse, type ScheduleUpdateParams as ScheduleUpdateParams, type ScheduleGetParams as ScheduleGetParams, }; }