返回 AiToEarn
controller.ts
1 import { Controller, Icp, Inject } from '../core/decorators';
2 import { BackupService } from './service';
3
4 @Controller()
5 export class BackupController {
6 @Inject(BackupService)
7 private readonly backupService!: BackupService;
8
9 /**
10 * 创建备份
11 * @param name 备份名称(可选)
12 * @returns 备份文件路径
13 */
14 @Icp('backup:create')
15 async createBackup(
16 event: Electron.IpcMainInvokeEvent,
17 name?: string,
18 ): Promise<string> {
19 return await this.backupService.createBackup(name);
20 }
21
22 /**
23 * 从备份文件恢复
24 * @param backupPath 备份文件路径
25 */
26 @Icp('backup:restore')
27 async restoreFromBackup(
28 event: Electron.IpcMainInvokeEvent,
29 backupPath: string,
30 ): Promise<void> {
31 await this.backupService.restoreFromBackup(backupPath);
32 }
33 }
34
34 lines TYPESCRIPT