export type BackupFrequency = 'hourly' | 'daily' | 'weekly' | 'custom'; export type CreateBackupConfigurationRequest = {storage_provider_id: number, name?: (string | null) | undefined, bucket?: (string | null) | undefined, directory?: (string | null) | undefined, frequency: BackupFrequency, day?: ('0' | '1' | '2' | '3' | '4' | '5' | '6') | undefined, time?: ('00:00' | '00:30' | '01:00' | '01:30' | '02:00' | '02:30' | '03:00' | '03:30' | '04:00' | '04:30' | '05:00' | '05:30' | '06:00' | '06:30' | '07:00' | '07:30' | '08:00' | '08:30' | '09:00' | '09:30' | '10:00' | '10:30' | '11:00' | '11:30' | '12:00' | '12:30' | '13:00' | '13:30' | '14:00' | '14:30' | '15:00' | '15:30' | '16:00' | '16:30' | '17:00' | '17:30' | '18:00' | '18:30' | '19:00' | '19:30' | '20:00' | '20:30' | '21:00' | '21:30' | '22:00' | '22:30' | '23:00' | '23:30') | undefined, cron?: string | undefined, retention: number, notification_email?: (string | null) | undefined, database_ids: Array}; export type CreateApiOrgsOrganizationServersServerDatabaseBackupsArgs = {organization: string, server: number, body: CreateBackupConfigurationRequest}; export type CreateApiOrgsOrganizationServersServerDatabaseBackupsOptions = {baseUrl?: string | undefined, oauth2?: string | undefined, fetch?: typeof fetch | undefined}; /** * Create backup configuration * * POST /orgs/{organization}/servers/{server}/database/backups */ export const createApiOrgsOrganizationServersServerDatabaseBackups = async (args: CreateApiOrgsOrganizationServersServerDatabaseBackupsArgs, options?: CreateApiOrgsOrganizationServersServerDatabaseBackupsOptions) => { const {baseUrl = "https://forge.laravel.com/api", fetch: fetchFn = fetch, oauth2} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") if (oauth2 !== undefined) headers.set('authorization', `Bearer ${oauth2}`) const url = `${baseUrl.replace(/\/+$/, '')}/orgs/${encodeURIComponent(String(args.organization))}/servers/${encodeURIComponent(String(args.server))}/database/backups${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return undefined };