refactor(backups): use upsert instead of create/update split

This commit is contained in:
Nicolas Meienberger
2025-10-29 21:14:41 +01:00
parent e335133237
commit 9628310d53
7 changed files with 236 additions and 43 deletions

View File

@@ -169,6 +169,42 @@ export const updateBackupScheduleDto = describeRoute({
},
});
/**
* Upsert a backup schedule (create or update)
*/
export const upsertBackupScheduleBody = type({
volumeId: "number",
repositoryId: "string",
enabled: "boolean",
cronExpression: "string",
retentionPolicy: retentionPolicySchema.optional(),
excludePatterns: "string[]?",
includePatterns: "string[]?",
tags: "string[]?",
});
export type UpsertBackupScheduleBody = typeof upsertBackupScheduleBody.infer;
export const upsertBackupScheduleResponse = backupScheduleSchema;
export type UpsertBackupScheduleDto = typeof upsertBackupScheduleResponse.infer;
export const upsertBackupScheduleDto = describeRoute({
description: "Create or update a backup schedule for a volume",
operationId: "upsertBackupSchedule",
tags: ["Backups"],
responses: {
200: {
description: "Backup schedule upserted successfully",
content: {
"application/json": {
schema: resolver(upsertBackupScheduleResponse),
},
},
},
},
});
/**
* Delete a backup schedule
*/