Docker images / prepare-release (push) Successful in 6s
Docker images / backend-image (push) Successful in 2m13s
Docker images / frontend-image (push) Successful in 2m11s
Docker images / updater-image (push) Successful in 50s
Docker images / notify-webhook (push) Has been skipped
Docker images / publish-release (push) Successful in 8s
35 lines
1.3 KiB
TypeScript
35 lines
1.3 KiB
TypeScript
import { z } from "zod"
|
|
|
|
export const backupFrequencySchema = z.enum(["daily", "weekly", "monthly"])
|
|
export const backupFormatSchema = z.enum(["rsc", "backup"])
|
|
|
|
export const backupScheduleSettingsDtoSchema = z.object({
|
|
enabled: z.boolean(),
|
|
frequency: backupFrequencySchema,
|
|
hour: z.number().int().min(0).max(23),
|
|
minute: z.number().int().min(0).max(59),
|
|
weekDay: z.number().int().min(0).max(6),
|
|
monthDay: z.number().int().min(1).max(28),
|
|
keepCount: z.number().int().min(1).max(365),
|
|
format: backupFormatSchema,
|
|
serverIds: z.array(z.string()),
|
|
lastRunAt: z.string().nullable().optional(),
|
|
lastDurationMs: z.number().int().nullable().optional(),
|
|
lastError: z.string().nullable().optional(),
|
|
updatedAt: z.string().optional(),
|
|
})
|
|
|
|
export const putBackupScheduleSettingsSchema = z.object({
|
|
enabled: z.boolean().optional(),
|
|
frequency: backupFrequencySchema.optional(),
|
|
hour: z.number().int().min(0).max(23).optional(),
|
|
minute: z.number().int().min(0).max(59).optional(),
|
|
weekDay: z.number().int().min(0).max(6).optional(),
|
|
monthDay: z.number().int().min(1).max(28).optional(),
|
|
keepCount: z.number().int().min(1).max(365).optional(),
|
|
format: backupFormatSchema.optional(),
|
|
serverIds: z.array(z.string()).optional(),
|
|
})
|
|
|
|
export type BackupScheduleSettingsDto = z.infer<typeof backupScheduleSettingsDtoSchema>
|