@minecraft-docker/shared 2.13.0 → 2.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/application/ports/inbound/IBackupScheduleUseCase.d.ts +59 -0
- package/dist/application/ports/inbound/IBackupScheduleUseCase.d.ts.map +1 -0
- package/dist/application/ports/inbound/IBackupScheduleUseCase.js +2 -0
- package/dist/application/ports/inbound/IBackupScheduleUseCase.js.map +1 -0
- package/dist/application/ports/inbound/index.d.ts +1 -0
- package/dist/application/ports/inbound/index.d.ts.map +1 -1
- package/dist/application/ports/index.d.ts +2 -2
- package/dist/application/ports/index.d.ts.map +1 -1
- package/dist/application/ports/outbound/IBackupScheduleRepository.d.ts +28 -0
- package/dist/application/ports/outbound/IBackupScheduleRepository.d.ts.map +1 -0
- package/dist/application/ports/outbound/IBackupScheduleRepository.js +2 -0
- package/dist/application/ports/outbound/IBackupScheduleRepository.js.map +1 -0
- package/dist/application/ports/outbound/IModSourcePort.d.ts +7 -0
- package/dist/application/ports/outbound/IModSourcePort.d.ts.map +1 -1
- package/dist/application/ports/outbound/index.d.ts +1 -0
- package/dist/application/ports/outbound/index.d.ts.map +1 -1
- package/dist/application/use-cases/BackupScheduleUseCase.d.ts +20 -0
- package/dist/application/use-cases/BackupScheduleUseCase.d.ts.map +1 -0
- package/dist/application/use-cases/BackupScheduleUseCase.js +89 -0
- package/dist/application/use-cases/BackupScheduleUseCase.js.map +1 -0
- package/dist/application/use-cases/index.d.ts +1 -0
- package/dist/application/use-cases/index.d.ts.map +1 -1
- package/dist/application/use-cases/index.js +1 -0
- package/dist/application/use-cases/index.js.map +1 -1
- package/dist/domain/entities/BackupSchedule.d.ts +97 -0
- package/dist/domain/entities/BackupSchedule.d.ts.map +1 -0
- package/dist/domain/entities/BackupSchedule.js +172 -0
- package/dist/domain/entities/BackupSchedule.js.map +1 -0
- package/dist/domain/entities/index.d.ts +1 -0
- package/dist/domain/entities/index.d.ts.map +1 -1
- package/dist/domain/entities/index.js +1 -0
- package/dist/domain/entities/index.js.map +1 -1
- package/dist/domain/index.d.ts +2 -2
- package/dist/domain/index.d.ts.map +1 -1
- package/dist/domain/index.js +4 -2
- package/dist/domain/index.js.map +1 -1
- package/dist/domain/value-objects/AuditAction.d.ts +7 -1
- package/dist/domain/value-objects/AuditAction.d.ts.map +1 -1
- package/dist/domain/value-objects/AuditAction.js +7 -0
- package/dist/domain/value-objects/AuditAction.js.map +1 -1
- package/dist/domain/value-objects/BackupRetentionPolicy.d.ts +30 -0
- package/dist/domain/value-objects/BackupRetentionPolicy.d.ts.map +1 -0
- package/dist/domain/value-objects/BackupRetentionPolicy.js +67 -0
- package/dist/domain/value-objects/BackupRetentionPolicy.js.map +1 -0
- package/dist/domain/value-objects/CronExpression.d.ts +33 -0
- package/dist/domain/value-objects/CronExpression.d.ts.map +1 -0
- package/dist/domain/value-objects/CronExpression.js +145 -0
- package/dist/domain/value-objects/CronExpression.js.map +1 -0
- package/dist/domain/value-objects/index.d.ts +2 -0
- package/dist/domain/value-objects/index.d.ts.map +1 -1
- package/dist/domain/value-objects/index.js +3 -0
- package/dist/domain/value-objects/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/adapters/SqliteBackupScheduleRepository.d.ts +43 -0
- package/dist/infrastructure/adapters/SqliteBackupScheduleRepository.d.ts.map +1 -0
- package/dist/infrastructure/adapters/SqliteBackupScheduleRepository.js +111 -0
- package/dist/infrastructure/adapters/SqliteBackupScheduleRepository.js.map +1 -0
- package/dist/infrastructure/adapters/index.d.ts +1 -0
- package/dist/infrastructure/adapters/index.d.ts.map +1 -1
- package/dist/infrastructure/adapters/index.js +1 -0
- package/dist/infrastructure/adapters/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { BackupSchedule } from '../../../domain/entities/BackupSchedule.js';
|
|
2
|
+
/**
|
|
3
|
+
* Parameters for creating a backup schedule
|
|
4
|
+
*/
|
|
5
|
+
export interface CreateBackupScheduleParams {
|
|
6
|
+
name: string;
|
|
7
|
+
cron: string;
|
|
8
|
+
maxCount?: number;
|
|
9
|
+
maxAgeDays?: number;
|
|
10
|
+
enabled?: boolean;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Parameters for updating a backup schedule
|
|
14
|
+
*/
|
|
15
|
+
export interface UpdateBackupScheduleParams {
|
|
16
|
+
name?: string;
|
|
17
|
+
cron?: string;
|
|
18
|
+
maxCount?: number;
|
|
19
|
+
maxAgeDays?: number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* IBackupScheduleUseCase - Inbound Port
|
|
23
|
+
* Manages backup schedule CRUD and lifecycle operations
|
|
24
|
+
*/
|
|
25
|
+
export interface IBackupScheduleUseCase {
|
|
26
|
+
/**
|
|
27
|
+
* Create a new backup schedule
|
|
28
|
+
*/
|
|
29
|
+
create(params: CreateBackupScheduleParams): Promise<BackupSchedule>;
|
|
30
|
+
/**
|
|
31
|
+
* Find all backup schedules
|
|
32
|
+
*/
|
|
33
|
+
findAll(): Promise<BackupSchedule[]>;
|
|
34
|
+
/**
|
|
35
|
+
* Find a backup schedule by ID
|
|
36
|
+
*/
|
|
37
|
+
findById(id: string): Promise<BackupSchedule | null>;
|
|
38
|
+
/**
|
|
39
|
+
* Update a backup schedule
|
|
40
|
+
*/
|
|
41
|
+
update(id: string, params: UpdateBackupScheduleParams): Promise<BackupSchedule>;
|
|
42
|
+
/**
|
|
43
|
+
* Remove a backup schedule
|
|
44
|
+
*/
|
|
45
|
+
remove(id: string): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Enable a backup schedule
|
|
48
|
+
*/
|
|
49
|
+
enable(id: string): Promise<BackupSchedule>;
|
|
50
|
+
/**
|
|
51
|
+
* Disable a backup schedule
|
|
52
|
+
*/
|
|
53
|
+
disable(id: string): Promise<BackupSchedule>;
|
|
54
|
+
/**
|
|
55
|
+
* Record a backup run result
|
|
56
|
+
*/
|
|
57
|
+
recordRun(id: string, status: 'success' | 'failure', message?: string): Promise<BackupSchedule>;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=IBackupScheduleUseCase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IBackupScheduleUseCase.d.ts","sourceRoot":"","sources":["../../../../src/application/ports/inbound/IBackupScheduleUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEpE;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAErD;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEhF;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAE5C;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAE7C;;OAEG;IACH,SAAS,CACP,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,SAAS,GAAG,SAAS,EAC7B,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC,CAAC;CAC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IBackupScheduleUseCase.js","sourceRoot":"","sources":["../../../../src/application/ports/inbound/IBackupScheduleUseCase.ts"],"names":[],"mappings":""}
|
|
@@ -4,4 +4,5 @@ export type { IServerStatusUseCase, ServerStatusResult } from './IServerStatusUs
|
|
|
4
4
|
export type { IWorldManagementUseCase, WorldListResult, WorldAssignResult, WorldReleaseResult, WorldDeleteResult, WorldCreateOptions, WorldCreateResult, } from './IWorldManagementUseCase.js';
|
|
5
5
|
export type { IBackupUseCase, BackupInitResult, BackupPushResult, BackupStatusResult, BackupHistoryResult, BackupRestoreResult, } from './IBackupUseCase.js';
|
|
6
6
|
export type { IPlayerLookupUseCase, PlayerLookupResult, PlayerNameHistory, PlayerUuidResult, } from './IPlayerLookupUseCase.js';
|
|
7
|
+
export type { IBackupScheduleUseCase, CreateBackupScheduleParams, UpdateBackupScheduleParams, } from './IBackupScheduleUseCase.js';
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/application/ports/inbound/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,YAAY,EACV,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/application/ports/inbound/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,YAAY,EACV,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export type { ICreateServerUseCase, CreateServerConfig, IDeleteServerUseCase, DeleteServerResult, IServerStatusUseCase, ServerStatusResult, IWorldManagementUseCase, WorldListResult, WorldAssignResult, WorldReleaseResult, WorldDeleteResult, WorldCreateOptions, WorldCreateResult, IBackupUseCase, BackupInitResult, BackupPushResult, BackupStatusResult, BackupHistoryResult, BackupRestoreResult, IPlayerLookupUseCase, PlayerLookupResult, PlayerNameHistory, PlayerUuidResult, } from './inbound/index.js';
|
|
2
|
-
export type { IPromptPort, TextPromptOptions, SelectPromptOptions, SelectOption, ConfirmPromptOptions, PasswordPromptOptions, Spinner, IShellPort, CreateServerOptions, LogsOptions, ShellResult, IDocProvider, DocServerTypeInfo, DocEnvVarInfo, DocVersionInfo, DocMemoryInfo, IServerRepository, ServerConfigData, IWorldRepository, WorldLockData, WorldWithServerStatus, ServerStatus, WorldAvailabilityCategory, IModSourcePort, IUserRepository, IServiceManagerPort, ServiceStartOptions, ServiceStopOptions, ServiceRestartOptions, ServiceLogsOptions, IAuditLogPort, AuditLogQueryOptions, } from './outbound/index.js';
|
|
1
|
+
export type { ICreateServerUseCase, CreateServerConfig, IDeleteServerUseCase, DeleteServerResult, IServerStatusUseCase, ServerStatusResult, IWorldManagementUseCase, WorldListResult, WorldAssignResult, WorldReleaseResult, WorldDeleteResult, WorldCreateOptions, WorldCreateResult, IBackupUseCase, BackupInitResult, BackupPushResult, BackupStatusResult, BackupHistoryResult, BackupRestoreResult, IPlayerLookupUseCase, PlayerLookupResult, PlayerNameHistory, PlayerUuidResult, IBackupScheduleUseCase, CreateBackupScheduleParams, UpdateBackupScheduleParams, } from './inbound/index.js';
|
|
2
|
+
export type { IPromptPort, TextPromptOptions, SelectPromptOptions, SelectOption, ConfirmPromptOptions, PasswordPromptOptions, Spinner, IShellPort, CreateServerOptions, LogsOptions, ShellResult, IDocProvider, DocServerTypeInfo, DocEnvVarInfo, DocVersionInfo, DocMemoryInfo, IServerRepository, ServerConfigData, IWorldRepository, WorldLockData, WorldWithServerStatus, ServerStatus, WorldAvailabilityCategory, IModSourcePort, IUserRepository, IServiceManagerPort, ServiceStartOptions, ServiceStopOptions, ServiceRestartOptions, ServiceLogsOptions, IAuditLogPort, AuditLogQueryOptions, IBackupScheduleRepository, } from './outbound/index.js';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/application/ports/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/application/ports/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,OAAO,EACP,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,yBAAyB,EACzB,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { BackupSchedule } from '../../../domain/entities/BackupSchedule.js';
|
|
2
|
+
/**
|
|
3
|
+
* IBackupScheduleRepository - Outbound Port
|
|
4
|
+
* Port interface for backup schedule persistence
|
|
5
|
+
*/
|
|
6
|
+
export interface IBackupScheduleRepository {
|
|
7
|
+
/**
|
|
8
|
+
* Save (insert or update) a backup schedule
|
|
9
|
+
*/
|
|
10
|
+
save(schedule: BackupSchedule): Promise<void>;
|
|
11
|
+
/**
|
|
12
|
+
* Find all backup schedules
|
|
13
|
+
*/
|
|
14
|
+
findAll(): Promise<BackupSchedule[]>;
|
|
15
|
+
/**
|
|
16
|
+
* Find a backup schedule by ID
|
|
17
|
+
*/
|
|
18
|
+
findById(id: string): Promise<BackupSchedule | null>;
|
|
19
|
+
/**
|
|
20
|
+
* Find all enabled backup schedules
|
|
21
|
+
*/
|
|
22
|
+
findEnabled(): Promise<BackupSchedule[]>;
|
|
23
|
+
/**
|
|
24
|
+
* Delete a backup schedule by ID
|
|
25
|
+
*/
|
|
26
|
+
delete(id: string): Promise<void>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=IBackupScheduleRepository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IBackupScheduleRepository.d.ts","sourceRoot":"","sources":["../../../../src/application/ports/outbound/IBackupScheduleRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAEjF;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAErD;;OAEG;IACH,WAAW,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAEzC;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IBackupScheduleRepository.js","sourceRoot":"","sources":["../../../../src/application/ports/outbound/IBackupScheduleRepository.ts"],"names":[],"mappings":""}
|
|
@@ -55,6 +55,13 @@ export interface IModSourcePort {
|
|
|
55
55
|
* @returns true if the source is ready to use
|
|
56
56
|
*/
|
|
57
57
|
isAvailable(): Promise<boolean>;
|
|
58
|
+
/**
|
|
59
|
+
* Get multiple projects by slugs or IDs (batch)
|
|
60
|
+
* Optional: not all sources support batch retrieval
|
|
61
|
+
* @param slugsOrIds - Array of project slugs or IDs
|
|
62
|
+
* @returns Map of slug → ModProject
|
|
63
|
+
*/
|
|
64
|
+
getProjects?(slugsOrIds: string[]): Promise<Map<string, ModProject>>;
|
|
58
65
|
/**
|
|
59
66
|
* Get the environment variable key for this source
|
|
60
67
|
* Used for config.env configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IModSourcePort.d.ts","sourceRoot":"","sources":["../../../../src/application/ports/outbound/IModSourcePort.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,8BAA8B,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAE5E;;;;OAIG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAEzD;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAElF;;;OAGG;IACH,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhC;;;;OAIG;IACH,SAAS,IAAI,MAAM,CAAC;IAEpB;;;;OAIG;IACH,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAAC;CAC3C"}
|
|
1
|
+
{"version":3,"file":"IModSourcePort.d.ts","sourceRoot":"","sources":["../../../../src/application/ports/outbound/IModSourcePort.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,8BAA8B,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAE5E;;;;OAIG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAEzD;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAElF;;;OAGG;IACH,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhC;;;;;OAKG;IACH,WAAW,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAErE;;;;OAIG;IACH,SAAS,IAAI,MAAM,CAAC;IAEpB;;;;OAIG;IACH,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAAC;CAC3C"}
|
|
@@ -8,4 +8,5 @@ export type { IUserRepository } from './IUserRepository.js';
|
|
|
8
8
|
export type { IServiceManagerPort, ServiceStartOptions, ServiceStopOptions, ServiceRestartOptions, ServiceLogsOptions, } from './IServiceManagerPort.js';
|
|
9
9
|
export type { IAuditLogPort, AuditLogQueryOptions } from './IAuditLogPort.js';
|
|
10
10
|
export type { IOperatorPort } from './IOperatorPort.js';
|
|
11
|
+
export type { IBackupScheduleRepository } from './IBackupScheduleRepository.js';
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/application/ports/outbound/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,OAAO,GACR,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE9E,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/application/ports/outbound/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,OAAO,GACR,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE9E,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,YAAY,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { BackupSchedule } from '../../domain/entities/BackupSchedule.js';
|
|
2
|
+
import type { IBackupScheduleUseCase, CreateBackupScheduleParams, UpdateBackupScheduleParams } from '../ports/inbound/IBackupScheduleUseCase.js';
|
|
3
|
+
import type { IBackupScheduleRepository } from '../ports/outbound/IBackupScheduleRepository.js';
|
|
4
|
+
/**
|
|
5
|
+
* BackupScheduleUseCase
|
|
6
|
+
* Implements backup schedule CRUD operations
|
|
7
|
+
*/
|
|
8
|
+
export declare class BackupScheduleUseCase implements IBackupScheduleUseCase {
|
|
9
|
+
private readonly repository;
|
|
10
|
+
constructor(repository: IBackupScheduleRepository);
|
|
11
|
+
create(params: CreateBackupScheduleParams): Promise<BackupSchedule>;
|
|
12
|
+
findAll(): Promise<BackupSchedule[]>;
|
|
13
|
+
findById(id: string): Promise<BackupSchedule | null>;
|
|
14
|
+
update(id: string, params: UpdateBackupScheduleParams): Promise<BackupSchedule>;
|
|
15
|
+
remove(id: string): Promise<void>;
|
|
16
|
+
enable(id: string): Promise<BackupSchedule>;
|
|
17
|
+
disable(id: string): Promise<BackupSchedule>;
|
|
18
|
+
recordRun(id: string, status: 'success' | 'failure', message?: string): Promise<BackupSchedule>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=BackupScheduleUseCase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BackupScheduleUseCase.d.ts","sourceRoot":"","sources":["../../../src/application/use-cases/BackupScheduleUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EACV,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC3B,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAEhG;;;GAGG;AACH,qBAAa,qBAAsB,YAAW,sBAAsB;IAEhE,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,yBAAyB;IAGlD,MAAM,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,cAAc,CAAC;IAenE,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAIpC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAIpD,MAAM,CACV,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,cAAc,CAAC;IA2BpB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAW3C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAW5C,SAAS,CACb,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,SAAS,GAAG,SAAS,EAC7B,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC;CAU3B"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { BackupSchedule } from '../../domain/entities/BackupSchedule.js';
|
|
2
|
+
/**
|
|
3
|
+
* BackupScheduleUseCase
|
|
4
|
+
* Implements backup schedule CRUD operations
|
|
5
|
+
*/
|
|
6
|
+
export class BackupScheduleUseCase {
|
|
7
|
+
repository;
|
|
8
|
+
constructor(repository) {
|
|
9
|
+
this.repository = repository;
|
|
10
|
+
}
|
|
11
|
+
async create(params) {
|
|
12
|
+
const schedule = BackupSchedule.create({
|
|
13
|
+
name: params.name,
|
|
14
|
+
cronExpression: params.cron,
|
|
15
|
+
retentionPolicy: {
|
|
16
|
+
maxCount: params.maxCount,
|
|
17
|
+
maxAgeDays: params.maxAgeDays,
|
|
18
|
+
},
|
|
19
|
+
enabled: params.enabled,
|
|
20
|
+
});
|
|
21
|
+
await this.repository.save(schedule);
|
|
22
|
+
return schedule;
|
|
23
|
+
}
|
|
24
|
+
async findAll() {
|
|
25
|
+
return this.repository.findAll();
|
|
26
|
+
}
|
|
27
|
+
async findById(id) {
|
|
28
|
+
return this.repository.findById(id);
|
|
29
|
+
}
|
|
30
|
+
async update(id, params) {
|
|
31
|
+
const existing = await this.repository.findById(id);
|
|
32
|
+
if (!existing) {
|
|
33
|
+
throw new Error(`Backup schedule not found: ${id}`);
|
|
34
|
+
}
|
|
35
|
+
// Rebuild schedule with updated fields
|
|
36
|
+
const updated = BackupSchedule.create({
|
|
37
|
+
id: existing.id,
|
|
38
|
+
name: params.name ?? existing.name,
|
|
39
|
+
cronExpression: params.cron ?? existing.cronExpression.expression,
|
|
40
|
+
retentionPolicy: {
|
|
41
|
+
maxCount: params.maxCount ?? existing.retentionPolicy.maxCount,
|
|
42
|
+
maxAgeDays: params.maxAgeDays ?? existing.retentionPolicy.maxAgeDays,
|
|
43
|
+
},
|
|
44
|
+
enabled: existing.enabled,
|
|
45
|
+
lastRunAt: existing.lastRunAt,
|
|
46
|
+
lastRunStatus: existing.lastRunStatus,
|
|
47
|
+
lastRunMessage: existing.lastRunMessage,
|
|
48
|
+
createdAt: existing.createdAt,
|
|
49
|
+
updatedAt: new Date(),
|
|
50
|
+
});
|
|
51
|
+
await this.repository.save(updated);
|
|
52
|
+
return updated;
|
|
53
|
+
}
|
|
54
|
+
async remove(id) {
|
|
55
|
+
const existing = await this.repository.findById(id);
|
|
56
|
+
if (!existing) {
|
|
57
|
+
throw new Error(`Backup schedule not found: ${id}`);
|
|
58
|
+
}
|
|
59
|
+
await this.repository.delete(id);
|
|
60
|
+
}
|
|
61
|
+
async enable(id) {
|
|
62
|
+
const existing = await this.repository.findById(id);
|
|
63
|
+
if (!existing) {
|
|
64
|
+
throw new Error(`Backup schedule not found: ${id}`);
|
|
65
|
+
}
|
|
66
|
+
const enabled = existing.enable();
|
|
67
|
+
await this.repository.save(enabled);
|
|
68
|
+
return enabled;
|
|
69
|
+
}
|
|
70
|
+
async disable(id) {
|
|
71
|
+
const existing = await this.repository.findById(id);
|
|
72
|
+
if (!existing) {
|
|
73
|
+
throw new Error(`Backup schedule not found: ${id}`);
|
|
74
|
+
}
|
|
75
|
+
const disabled = existing.disable();
|
|
76
|
+
await this.repository.save(disabled);
|
|
77
|
+
return disabled;
|
|
78
|
+
}
|
|
79
|
+
async recordRun(id, status, message) {
|
|
80
|
+
const existing = await this.repository.findById(id);
|
|
81
|
+
if (!existing) {
|
|
82
|
+
throw new Error(`Backup schedule not found: ${id}`);
|
|
83
|
+
}
|
|
84
|
+
const updated = existing.recordRun(status, message);
|
|
85
|
+
await this.repository.save(updated);
|
|
86
|
+
return updated;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=BackupScheduleUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BackupScheduleUseCase.js","sourceRoot":"","sources":["../../../src/application/use-cases/BackupScheduleUseCase.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,4 +4,5 @@ export { ServerStatusUseCase } from './ServerStatusUseCase.js';
|
|
|
4
4
|
export { WorldManagementUseCase } from './WorldManagementUseCase.js';
|
|
5
5
|
export { BackupUseCase } from './BackupUseCase.js';
|
|
6
6
|
export { PlayerLookupUseCase } from './PlayerLookupUseCase.js';
|
|
7
|
+
export { BackupScheduleUseCase } from './BackupScheduleUseCase.js';
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/application/use-cases/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/application/use-cases/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -4,4 +4,5 @@ export { ServerStatusUseCase } from './ServerStatusUseCase.js';
|
|
|
4
4
|
export { WorldManagementUseCase } from './WorldManagementUseCase.js';
|
|
5
5
|
export { BackupUseCase } from './BackupUseCase.js';
|
|
6
6
|
export { PlayerLookupUseCase } from './PlayerLookupUseCase.js';
|
|
7
|
+
export { BackupScheduleUseCase } from './BackupScheduleUseCase.js';
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/application/use-cases/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/application/use-cases/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { CronExpression } from '../value-objects/CronExpression.js';
|
|
2
|
+
import { BackupRetentionPolicy, type BackupRetentionPolicyData } from '../value-objects/BackupRetentionPolicy.js';
|
|
3
|
+
/**
|
|
4
|
+
* BackupSchedule entity data for construction
|
|
5
|
+
*/
|
|
6
|
+
export interface BackupScheduleData {
|
|
7
|
+
id?: string;
|
|
8
|
+
name: string;
|
|
9
|
+
cronExpression: string;
|
|
10
|
+
retentionPolicy?: BackupRetentionPolicyData;
|
|
11
|
+
enabled?: boolean;
|
|
12
|
+
lastRunAt?: Date | null;
|
|
13
|
+
lastRunStatus?: 'success' | 'failure' | null;
|
|
14
|
+
lastRunMessage?: string | null;
|
|
15
|
+
createdAt?: Date;
|
|
16
|
+
updatedAt?: Date;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Database row structure for backup_schedules table
|
|
20
|
+
*/
|
|
21
|
+
export interface BackupScheduleRow {
|
|
22
|
+
id: string;
|
|
23
|
+
name: string;
|
|
24
|
+
cron_expression: string;
|
|
25
|
+
retention_max_count: number | null;
|
|
26
|
+
retention_max_age_days: number | null;
|
|
27
|
+
enabled: number;
|
|
28
|
+
last_run_at: string | null;
|
|
29
|
+
last_run_status: string | null;
|
|
30
|
+
last_run_message: string | null;
|
|
31
|
+
created_at: string;
|
|
32
|
+
updated_at: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* BackupSchedule Entity
|
|
36
|
+
* Represents a scheduled backup configuration
|
|
37
|
+
*/
|
|
38
|
+
export declare class BackupSchedule {
|
|
39
|
+
private readonly _id;
|
|
40
|
+
private readonly _name;
|
|
41
|
+
private readonly _cronExpression;
|
|
42
|
+
private readonly _retentionPolicy;
|
|
43
|
+
private readonly _enabled;
|
|
44
|
+
private readonly _lastRunAt;
|
|
45
|
+
private readonly _lastRunStatus;
|
|
46
|
+
private readonly _lastRunMessage;
|
|
47
|
+
private readonly _createdAt;
|
|
48
|
+
private readonly _updatedAt;
|
|
49
|
+
private constructor();
|
|
50
|
+
get id(): string;
|
|
51
|
+
get name(): string;
|
|
52
|
+
get cronExpression(): CronExpression;
|
|
53
|
+
get retentionPolicy(): BackupRetentionPolicy;
|
|
54
|
+
get enabled(): boolean;
|
|
55
|
+
get lastRunAt(): Date | null;
|
|
56
|
+
get lastRunStatus(): 'success' | 'failure' | null;
|
|
57
|
+
get lastRunMessage(): string | null;
|
|
58
|
+
get createdAt(): Date;
|
|
59
|
+
get updatedAt(): Date;
|
|
60
|
+
/**
|
|
61
|
+
* Create a new BackupSchedule entity
|
|
62
|
+
*/
|
|
63
|
+
static create(data: BackupScheduleData): BackupSchedule;
|
|
64
|
+
/**
|
|
65
|
+
* Create a BackupSchedule from a database row
|
|
66
|
+
*/
|
|
67
|
+
static fromRaw(row: BackupScheduleRow): BackupSchedule;
|
|
68
|
+
/**
|
|
69
|
+
* Return a new BackupSchedule with enabled = true
|
|
70
|
+
*/
|
|
71
|
+
enable(): BackupSchedule;
|
|
72
|
+
/**
|
|
73
|
+
* Return a new BackupSchedule with enabled = false
|
|
74
|
+
*/
|
|
75
|
+
disable(): BackupSchedule;
|
|
76
|
+
/**
|
|
77
|
+
* Return a new BackupSchedule with the run recorded
|
|
78
|
+
*/
|
|
79
|
+
recordRun(status: 'success' | 'failure', message?: string): BackupSchedule;
|
|
80
|
+
/**
|
|
81
|
+
* Convert to plain object for serialization
|
|
82
|
+
*/
|
|
83
|
+
toJSON(): {
|
|
84
|
+
id: string;
|
|
85
|
+
name: string;
|
|
86
|
+
cronExpression: string;
|
|
87
|
+
cronHumanReadable: string;
|
|
88
|
+
retentionPolicy: BackupRetentionPolicyData;
|
|
89
|
+
enabled: boolean;
|
|
90
|
+
lastRunAt: string | null;
|
|
91
|
+
lastRunStatus: 'success' | 'failure' | null;
|
|
92
|
+
lastRunMessage: string | null;
|
|
93
|
+
createdAt: string;
|
|
94
|
+
updatedAt: string;
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=BackupSchedule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BackupSchedule.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/BackupSchedule.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
import { CronExpression } from '../value-objects/CronExpression.js';
|
|
3
|
+
import { BackupRetentionPolicy, } from '../value-objects/BackupRetentionPolicy.js';
|
|
4
|
+
/**
|
|
5
|
+
* BackupSchedule Entity
|
|
6
|
+
* Represents a scheduled backup configuration
|
|
7
|
+
*/
|
|
8
|
+
export class BackupSchedule {
|
|
9
|
+
_id;
|
|
10
|
+
_name;
|
|
11
|
+
_cronExpression;
|
|
12
|
+
_retentionPolicy;
|
|
13
|
+
_enabled;
|
|
14
|
+
_lastRunAt;
|
|
15
|
+
_lastRunStatus;
|
|
16
|
+
_lastRunMessage;
|
|
17
|
+
_createdAt;
|
|
18
|
+
_updatedAt;
|
|
19
|
+
constructor(data) {
|
|
20
|
+
this._id = data.id;
|
|
21
|
+
this._name = data.name;
|
|
22
|
+
this._cronExpression = data.cronExpression;
|
|
23
|
+
this._retentionPolicy = data.retentionPolicy;
|
|
24
|
+
this._enabled = data.enabled;
|
|
25
|
+
this._lastRunAt = data.lastRunAt;
|
|
26
|
+
this._lastRunStatus = data.lastRunStatus;
|
|
27
|
+
this._lastRunMessage = data.lastRunMessage;
|
|
28
|
+
this._createdAt = data.createdAt;
|
|
29
|
+
this._updatedAt = data.updatedAt;
|
|
30
|
+
}
|
|
31
|
+
// Getters
|
|
32
|
+
get id() {
|
|
33
|
+
return this._id;
|
|
34
|
+
}
|
|
35
|
+
get name() {
|
|
36
|
+
return this._name;
|
|
37
|
+
}
|
|
38
|
+
get cronExpression() {
|
|
39
|
+
return this._cronExpression;
|
|
40
|
+
}
|
|
41
|
+
get retentionPolicy() {
|
|
42
|
+
return this._retentionPolicy;
|
|
43
|
+
}
|
|
44
|
+
get enabled() {
|
|
45
|
+
return this._enabled;
|
|
46
|
+
}
|
|
47
|
+
get lastRunAt() {
|
|
48
|
+
return this._lastRunAt;
|
|
49
|
+
}
|
|
50
|
+
get lastRunStatus() {
|
|
51
|
+
return this._lastRunStatus;
|
|
52
|
+
}
|
|
53
|
+
get lastRunMessage() {
|
|
54
|
+
return this._lastRunMessage;
|
|
55
|
+
}
|
|
56
|
+
get createdAt() {
|
|
57
|
+
return this._createdAt;
|
|
58
|
+
}
|
|
59
|
+
get updatedAt() {
|
|
60
|
+
return this._updatedAt;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Create a new BackupSchedule entity
|
|
64
|
+
*/
|
|
65
|
+
static create(data) {
|
|
66
|
+
const now = new Date();
|
|
67
|
+
return new BackupSchedule({
|
|
68
|
+
id: data.id ?? randomUUID(),
|
|
69
|
+
name: data.name,
|
|
70
|
+
cronExpression: CronExpression.create(data.cronExpression),
|
|
71
|
+
retentionPolicy: data.retentionPolicy
|
|
72
|
+
? BackupRetentionPolicy.create(data.retentionPolicy)
|
|
73
|
+
: BackupRetentionPolicy.default(),
|
|
74
|
+
enabled: data.enabled ?? true,
|
|
75
|
+
lastRunAt: data.lastRunAt ?? null,
|
|
76
|
+
lastRunStatus: data.lastRunStatus ?? null,
|
|
77
|
+
lastRunMessage: data.lastRunMessage ?? null,
|
|
78
|
+
createdAt: data.createdAt ?? now,
|
|
79
|
+
updatedAt: data.updatedAt ?? now,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Create a BackupSchedule from a database row
|
|
84
|
+
*/
|
|
85
|
+
static fromRaw(row) {
|
|
86
|
+
return new BackupSchedule({
|
|
87
|
+
id: row.id,
|
|
88
|
+
name: row.name,
|
|
89
|
+
cronExpression: CronExpression.create(row.cron_expression),
|
|
90
|
+
retentionPolicy: BackupRetentionPolicy.create({
|
|
91
|
+
maxCount: row.retention_max_count ?? undefined,
|
|
92
|
+
maxAgeDays: row.retention_max_age_days ?? undefined,
|
|
93
|
+
}),
|
|
94
|
+
enabled: row.enabled === 1,
|
|
95
|
+
lastRunAt: row.last_run_at ? new Date(row.last_run_at) : null,
|
|
96
|
+
lastRunStatus: row.last_run_status,
|
|
97
|
+
lastRunMessage: row.last_run_message,
|
|
98
|
+
createdAt: new Date(row.created_at),
|
|
99
|
+
updatedAt: new Date(row.updated_at),
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Return a new BackupSchedule with enabled = true
|
|
104
|
+
*/
|
|
105
|
+
enable() {
|
|
106
|
+
return new BackupSchedule({
|
|
107
|
+
id: this._id,
|
|
108
|
+
name: this._name,
|
|
109
|
+
cronExpression: this._cronExpression,
|
|
110
|
+
retentionPolicy: this._retentionPolicy,
|
|
111
|
+
enabled: true,
|
|
112
|
+
lastRunAt: this._lastRunAt,
|
|
113
|
+
lastRunStatus: this._lastRunStatus,
|
|
114
|
+
lastRunMessage: this._lastRunMessage,
|
|
115
|
+
createdAt: this._createdAt,
|
|
116
|
+
updatedAt: new Date(),
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Return a new BackupSchedule with enabled = false
|
|
121
|
+
*/
|
|
122
|
+
disable() {
|
|
123
|
+
return new BackupSchedule({
|
|
124
|
+
id: this._id,
|
|
125
|
+
name: this._name,
|
|
126
|
+
cronExpression: this._cronExpression,
|
|
127
|
+
retentionPolicy: this._retentionPolicy,
|
|
128
|
+
enabled: false,
|
|
129
|
+
lastRunAt: this._lastRunAt,
|
|
130
|
+
lastRunStatus: this._lastRunStatus,
|
|
131
|
+
lastRunMessage: this._lastRunMessage,
|
|
132
|
+
createdAt: this._createdAt,
|
|
133
|
+
updatedAt: new Date(),
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Return a new BackupSchedule with the run recorded
|
|
138
|
+
*/
|
|
139
|
+
recordRun(status, message) {
|
|
140
|
+
return new BackupSchedule({
|
|
141
|
+
id: this._id,
|
|
142
|
+
name: this._name,
|
|
143
|
+
cronExpression: this._cronExpression,
|
|
144
|
+
retentionPolicy: this._retentionPolicy,
|
|
145
|
+
enabled: this._enabled,
|
|
146
|
+
lastRunAt: new Date(),
|
|
147
|
+
lastRunStatus: status,
|
|
148
|
+
lastRunMessage: message ?? null,
|
|
149
|
+
createdAt: this._createdAt,
|
|
150
|
+
updatedAt: new Date(),
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Convert to plain object for serialization
|
|
155
|
+
*/
|
|
156
|
+
toJSON() {
|
|
157
|
+
return {
|
|
158
|
+
id: this._id,
|
|
159
|
+
name: this._name,
|
|
160
|
+
cronExpression: this._cronExpression.expression,
|
|
161
|
+
cronHumanReadable: this._cronExpression.toHumanReadable(),
|
|
162
|
+
retentionPolicy: this._retentionPolicy.toJSON(),
|
|
163
|
+
enabled: this._enabled,
|
|
164
|
+
lastRunAt: this._lastRunAt?.toISOString() ?? null,
|
|
165
|
+
lastRunStatus: this._lastRunStatus,
|
|
166
|
+
lastRunMessage: this._lastRunMessage,
|
|
167
|
+
createdAt: this._createdAt.toISOString(),
|
|
168
|
+
updatedAt: this._updatedAt.toISOString(),
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=BackupSchedule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BackupSchedule.js","sourceRoot":"","sources":["../../../src/domain/entities/BackupSchedule.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,4 +3,5 @@ export { World, WorldLockStatus, type WorldLock } from './World.js';
|
|
|
3
3
|
export { User, type UserData } from './User.js';
|
|
4
4
|
export { AuditLog, type AuditLogData, type AuditLogRow } from './AuditLog.js';
|
|
5
5
|
export { Operator, type OperatorData, type MinecraftOpsJson, } from './Operator.js';
|
|
6
|
+
export { BackupSchedule, type BackupScheduleData, type BackupScheduleRow, } from './BackupSchedule.js';
|
|
6
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EACL,QAAQ,EACR,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EACL,QAAQ,EACR,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,cAAc,EACd,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,qBAAqB,CAAC"}
|