AI Implementation feature(871): Admin Area System: Database Backup/Restore and Danger Zone (#61)
This commit was merged in pull request #61.
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
import { z } from 'zod';
|
||||
import { ADMIN_OPERATION_KINDS, AdminOperationKind } from '../../../../database/entities/admin-operation-token.entity';
|
||||
|
||||
export { ADMIN_OPERATION_KINDS };
|
||||
export type { AdminOperationKind };
|
||||
|
||||
export const ADMIN_SYSTEM_BACKUP_FORMAT = 'hipctf-system-backup';
|
||||
export const ADMIN_SYSTEM_BACKUP_VERSION = 1;
|
||||
|
||||
export const ADMIN_SYSTEM_OPERATIONS = ADMIN_OPERATION_KINDS;
|
||||
|
||||
export const AdminReauthBodySchema = z.object({
|
||||
operation: z.enum(ADMIN_OPERATION_KINDS),
|
||||
password: z.string().min(1).max(1024),
|
||||
stagingId: z.string().min(1).max(128).optional(),
|
||||
});
|
||||
|
||||
export const AdminDangerConfirmBodySchema = z.object({
|
||||
operation: z.enum(ADMIN_OPERATION_KINDS),
|
||||
token: z.string().min(1).max(512),
|
||||
});
|
||||
|
||||
export const AdminRestoreCommitBodySchema = AdminDangerConfirmBodySchema;
|
||||
|
||||
export const AdminRestoreValidateResponseSchema = z.object({
|
||||
stagingId: z.string(),
|
||||
expiresAt: z.string(),
|
||||
summary: z.object({
|
||||
tables: z.array(z.string()).min(1),
|
||||
tableCounts: z.record(z.string(), z.number().int().nonnegative()),
|
||||
files: z.number().int().nonnegative(),
|
||||
totalBytes: z.number().int().nonnegative(),
|
||||
}),
|
||||
});
|
||||
|
||||
export type AdminReauthBody = z.infer<typeof AdminReauthBodySchema>;
|
||||
export type AdminDangerConfirmBody = z.infer<typeof AdminDangerConfirmBodySchema>;
|
||||
export type AdminRestoreCommitBody = z.infer<typeof AdminRestoreCommitBodySchema>;
|
||||
export type AdminRestoreValidateResponse = z.infer<typeof AdminRestoreValidateResponseSchema>;
|
||||
|
||||
export interface ConfirmationTokenResponse {
|
||||
operation: AdminOperationKind;
|
||||
token: string;
|
||||
expiresAt: string;
|
||||
stagingId?: string;
|
||||
}
|
||||
Reference in New Issue
Block a user