feat(automatic-backup-to-usb) - done v1

This commit is contained in:
2025-12-19 01:30:27 +05:30
parent adb49a6683
commit 4c030713d7
9 changed files with 517 additions and 5 deletions

View File

@@ -29,6 +29,7 @@ model User {
insuranceCredentials InsuranceCredential[]
updatedPayments Payment[] @relation("PaymentUpdatedBy")
backups DatabaseBackup[]
backupDestinations BackupDestination[]
notifications Notification[]
cloudFolders CloudFolder[]
cloudFiles CloudFile[]
@@ -301,6 +302,7 @@ enum PaymentMethod {
OTHER
}
// Database management page
model DatabaseBackup {
id Int @id @default(autoincrement())
userId Int
@@ -312,6 +314,16 @@ model DatabaseBackup {
@@index([createdAt])
}
model BackupDestination {
id Int @id @default(autoincrement())
userId Int
path String
isActive Boolean @default(true)
createdAt DateTime @default(now())
user User @relation(fields: [userId], references: [id])
}
model Notification {
id Int @id @default(autoincrement())
userId Int

View File

@@ -1,6 +1,10 @@
import { DatabaseBackupUncheckedCreateInputObjectSchema } from "@repo/db/usedSchemas";
import { DatabaseBackupUncheckedCreateInputObjectSchema, BackupDestinationUncheckedCreateInputObjectSchema } from "@repo/db/usedSchemas";
import { z } from "zod";
export type DatabaseBackup = z.infer<
typeof DatabaseBackupUncheckedCreateInputObjectSchema
>;
export type BackupDestination = z.infer<
typeof BackupDestinationUncheckedCreateInputObjectSchema
>;

View File

@@ -16,6 +16,7 @@ export * from '../shared/schemas/enums/PaymentStatus.schema'
export * from '../shared/schemas/enums/NotificationTypes.schema'
export * from '../shared/schemas/objects/NotificationUncheckedCreateInput.schema'
export * from '../shared/schemas/objects/DatabaseBackupUncheckedCreateInput.schema'
export * from '../shared/schemas/objects/BackupDestinationUncheckedCreateInput.schema'
export * from '../shared/schemas/objects/CloudFolderUncheckedCreateInput.schema'
export * from '../shared/schemas/objects/CloudFileUncheckedCreateInput.schema'
export * from '../shared/schemas/objects/CommunicationUncheckedCreateInput.schema'