@futo-org/backups-orchestrator-api 0.1.72 → 0.3.1
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/backends/backend.d.ts +1 -1
- package/dist/controllers/repository.controller.d.ts +3 -2
- package/dist/controllers/repository.controller.js +17 -3
- package/dist/controllers/repository.controller.js.map +1 -1
- package/dist/dto/backend.dto.d.ts +1 -0
- package/dist/dto/backend.dto.js +5 -0
- package/dist/dto/backend.dto.js.map +1 -1
- package/dist/dto/repository.dto.d.ts +9 -0
- package/dist/dto/repository.dto.js +33 -1
- package/dist/dto/repository.dto.js.map +1 -1
- package/dist/orchestrationApi.module.d.ts +37 -0
- package/dist/orchestrationApi.module.js +6 -6
- package/dist/orchestrationApi.module.js.map +1 -1
- package/dist/repositories/repository.repository.d.ts +2 -1
- package/dist/repositories/repository.repository.js +9 -9
- package/dist/repositories/repository.repository.js.map +1 -1
- package/dist/repositories/runHistory.repository.d.ts +2 -2
- package/dist/repositories/schedule.repository.d.ts +2 -2
- package/dist/schema/migrations/20260603120000-AddRepositoryRemoteId.js +13 -0
- package/dist/schema/migrations/20260603120000-AddRepositoryRemoteId.js.map +1 -0
- package/dist/schema/tables/repository.table.d.ts +1 -0
- package/dist/schema/tables/repository.table.js +1 -0
- package/dist/schema/tables/repository.table.js.map +1 -1
- package/dist/services/auth.service.js +1 -0
- package/dist/services/auth.service.js.map +1 -1
- package/dist/services/backend.service.js +6 -0
- package/dist/services/backend.service.js.map +1 -1
- package/dist/services/repository.service.d.ts +3 -2
- package/dist/services/repository.service.js +99 -29
- package/dist/services/repository.service.js.map +1 -1
- package/dist/services/schedule.service.d.ts +1 -0
- package/dist/services/schedule.service.js +12 -0
- package/dist/services/schedule.service.js.map +1 -1
- package/package.json +5 -3
- package/dist/schema/migrations/20260512120000-AddRepositoryRetentionPreset.js +0 -18
- package/dist/schema/migrations/20260512120000-AddRepositoryRetentionPreset.js.map +0 -1
- package/dist/services/database.service.d.ts +0 -11
- package/dist/services/database.service.js +0 -39
- package/dist/services/database.service.js.map +0 -1
- /package/dist/schema/migrations/{20260512120000-AddRepositoryRetentionPreset.d.ts → 20260603120000-AddRepositoryRemoteId.d.ts} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
2
|
import { FilesystemListingRequestDto, FilesystemListingResponseDto } from '../dto/filesystem.dto';
|
|
3
|
-
import { ListSnapshotsResponseDto, RepositoryCheckImportResponseDto, RepositoryCreateRequestDto, RepositoryCreateResponseDto, RepositoryInspectResponseDto, RepositoryListResponseDto, RepositorySnapshotRestoreFromPointRequestDto, RepositorySnapshotRestoreRequestDto, RepositoryUpdateRequestDto, RepositoryUpdateResponseDto, RunHistoryResponseDto } from '../dto/repository.dto';
|
|
3
|
+
import { ListSnapshotsResponseDto, RepositoryCheckImportResponseDto, RepositoryCreateRequestDto, RepositoryCreateResponseDto, RepositoryInspectResponseDto, RepositoryListResponseDto, RepositoryPrimaryBackendReconfigureRequestDto, RepositorySnapshotRestoreFromPointRequestDto, RepositorySnapshotRestoreRequestDto, RepositoryUpdateRequestDto, RepositoryUpdateResponseDto, RunHistoryResponseDto } from '../dto/repository.dto';
|
|
4
4
|
import { EventsGateway } from '../events/events.gateway';
|
|
5
5
|
import { BackendRepository } from '../repositories/backend.repository';
|
|
6
6
|
import { ConfigRepository } from '../repositories/config.repository';
|
|
@@ -32,7 +32,7 @@ export declare class RepositoryService {
|
|
|
32
32
|
private getLocalRepository;
|
|
33
33
|
createRepository(dto: RepositoryCreateRequestDto, backendId?: string): Promise<RepositoryCreateResponseDto>;
|
|
34
34
|
getRepositories(): Promise<RepositoryListResponseDto>;
|
|
35
|
-
inspectRepositories(): Promise<RepositoryInspectResponseDto>;
|
|
35
|
+
inspectRepositories(backendId?: string): Promise<RepositoryInspectResponseDto>;
|
|
36
36
|
private mapSnapshot;
|
|
37
37
|
updateRepository(id: string, dto: RepositoryUpdateRequestDto, backendId?: string): Promise<RepositoryUpdateResponseDto>;
|
|
38
38
|
deleteRepository(id: string): Promise<void>;
|
|
@@ -49,6 +49,7 @@ export declare class RepositoryService {
|
|
|
49
49
|
}>;
|
|
50
50
|
checkImportRepository(id: string, backendId: string): Promise<RepositoryCheckImportResponseDto>;
|
|
51
51
|
importRepository(id: string, backendId: string): Promise<RepositoryCreateResponseDto>;
|
|
52
|
+
reconfigureRepositoryPrimaryBackend(id: string, dto: RepositoryPrimaryBackendReconfigureRequestDto): Promise<RepositoryCreateResponseDto>;
|
|
52
53
|
getSnapshots(id: string): Promise<ListSnapshotsResponseDto>;
|
|
53
54
|
restoreSnapshot(id: string, snapshotId: string, dto: RepositorySnapshotRestoreRequestDto): Promise<{
|
|
54
55
|
logId: string;
|
|
@@ -14,6 +14,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.RepositoryService = void 0;
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
|
+
const node_crypto_1 = require("node:crypto");
|
|
17
18
|
const node_path_1 = require("node:path");
|
|
18
19
|
const backend_1 = require("../backends/backend");
|
|
19
20
|
const enum_1 = require("../enum");
|
|
@@ -79,21 +80,24 @@ let RepositoryService = class RepositoryService {
|
|
|
79
80
|
const { configuration } = await this.backend.getBackend(backendId);
|
|
80
81
|
const backend = backend_1.Backend.from(configuration, this.moduleConfig.get());
|
|
81
82
|
const { repository: remote } = await backend.createRepository(dto);
|
|
83
|
+
const id = (0, node_crypto_1.randomUUID)();
|
|
82
84
|
const endpoint = await backend.getResticEndpoint(remote.id);
|
|
83
85
|
const key = await this.config.deriveEncryptionKey(`repository-${remote.id}`);
|
|
84
86
|
await this.restic.init(endpoint, key);
|
|
85
87
|
await this.repository.create({
|
|
86
|
-
id
|
|
88
|
+
id,
|
|
89
|
+
remoteId: remote.id,
|
|
87
90
|
backendId,
|
|
88
91
|
retentionPolicy: restic_1.DEFAULT_RETENTION_POLICY,
|
|
89
92
|
});
|
|
90
93
|
const paths = dto.paths ?? [];
|
|
91
94
|
for (const path of paths) {
|
|
92
|
-
await this.repositoryPath.create({ id
|
|
95
|
+
await this.repositoryPath.create({ id, path });
|
|
93
96
|
}
|
|
94
97
|
const repository = {
|
|
95
|
-
...(await this.getLocalRepository(
|
|
98
|
+
...(await this.getLocalRepository(id, { paths, retentionPolicy: restic_1.DEFAULT_RETENTION_POLICY })),
|
|
96
99
|
...remote,
|
|
100
|
+
id,
|
|
97
101
|
backends: {
|
|
98
102
|
primary: {
|
|
99
103
|
id: backendId,
|
|
@@ -132,8 +136,8 @@ let RepositoryService = class RepositoryService {
|
|
|
132
136
|
const localRepositories = await this.repository.getAll();
|
|
133
137
|
const localPaths = await this.repositoryPath.getAll();
|
|
134
138
|
const localMetrics = await this.repositoryLocalMetrics.getAll();
|
|
135
|
-
for (const { id, backendId, retentionPolicy } of localRepositories) {
|
|
136
|
-
const remoteRepository = remoteRepositories[backendId][
|
|
139
|
+
for (const { id, remoteId, backendId, retentionPolicy } of localRepositories) {
|
|
140
|
+
const remoteRepository = remoteRepositories[backendId][remoteId];
|
|
137
141
|
const configuration = {
|
|
138
142
|
paths: localPaths.filter((entry) => entry.id === id).map(({ path }) => path),
|
|
139
143
|
retentionPolicy,
|
|
@@ -142,6 +146,7 @@ let RepositoryService = class RepositoryService {
|
|
|
142
146
|
if (remoteRepository) {
|
|
143
147
|
repositories.push({
|
|
144
148
|
...remoteRepository,
|
|
149
|
+
id,
|
|
145
150
|
...(await this.getLocalRepository(id, configuration, metrics)),
|
|
146
151
|
backends: {
|
|
147
152
|
primary: {
|
|
@@ -152,7 +157,7 @@ let RepositoryService = class RepositoryService {
|
|
|
152
157
|
secondary: [],
|
|
153
158
|
},
|
|
154
159
|
});
|
|
155
|
-
delete remoteRepositories[backendId][
|
|
160
|
+
delete remoteRepositories[backendId][remoteId];
|
|
156
161
|
}
|
|
157
162
|
else {
|
|
158
163
|
repositories.push({
|
|
@@ -190,14 +195,20 @@ let RepositoryService = class RepositoryService {
|
|
|
190
195
|
repositories,
|
|
191
196
|
};
|
|
192
197
|
}
|
|
193
|
-
async inspectRepositories() {
|
|
198
|
+
async inspectRepositories(backendId) {
|
|
194
199
|
const { repositories } = await this.getRepositories();
|
|
195
|
-
const
|
|
196
|
-
|
|
200
|
+
const list = repositories.filter((repository) => !repository.configuration &&
|
|
201
|
+
repository.backends &&
|
|
202
|
+
(!backendId || repository.backends.primary.id === backendId));
|
|
203
|
+
const snapshots = await Promise.allSettled(list.map(async (repository) => {
|
|
204
|
+
const { endpoint, key } = await this.getResticParameters({
|
|
205
|
+
backendId: repository.backends.primary.id,
|
|
206
|
+
remoteId: repository.id,
|
|
207
|
+
});
|
|
197
208
|
return this.restic.snapshots(endpoint, key);
|
|
198
209
|
}));
|
|
199
210
|
return {
|
|
200
|
-
repositories:
|
|
211
|
+
repositories: list.map((repository, idx) => ({
|
|
201
212
|
...repository,
|
|
202
213
|
snapshots: snapshots[idx].status === 'fulfilled'
|
|
203
214
|
? snapshots[idx].value.map((snapshot) => this.mapSnapshot(snapshot))
|
|
@@ -222,18 +233,23 @@ let RepositoryService = class RepositoryService {
|
|
|
222
233
|
};
|
|
223
234
|
}
|
|
224
235
|
async updateRepository(id, dto, backendId) {
|
|
225
|
-
|
|
236
|
+
let remoteId;
|
|
237
|
+
if (backendId) {
|
|
238
|
+
remoteId = id;
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
226
241
|
const localRepository = await this.repository.get(id);
|
|
227
242
|
backendId = localRepository.backendId;
|
|
243
|
+
remoteId = localRepository.remoteId;
|
|
228
244
|
}
|
|
229
245
|
const backend = await this.backend.getBackend(backendId);
|
|
230
246
|
const backendInstance = backend_1.Backend.from(backend.configuration, this.moduleConfig.get());
|
|
231
247
|
let remote;
|
|
232
248
|
if (dto.name) {
|
|
233
|
-
({ repository: remote } = await backendInstance.updateRepository(
|
|
249
|
+
({ repository: remote } = await backendInstance.updateRepository(remoteId, dto));
|
|
234
250
|
}
|
|
235
251
|
else {
|
|
236
|
-
({ repository: remote } = await backendInstance.getRepository(
|
|
252
|
+
({ repository: remote } = await backendInstance.getRepository(remoteId));
|
|
237
253
|
}
|
|
238
254
|
if (dto.paths) {
|
|
239
255
|
const currentPaths = new Set(await this.repositoryPath.get(id));
|
|
@@ -256,6 +272,7 @@ let RepositoryService = class RepositoryService {
|
|
|
256
272
|
const metrics = await this.repositoryLocalMetrics.get(id);
|
|
257
273
|
const repository = {
|
|
258
274
|
...remote,
|
|
275
|
+
id,
|
|
259
276
|
...(await this.getLocalRepository(id, undefined, metrics)),
|
|
260
277
|
backends: {
|
|
261
278
|
primary: {
|
|
@@ -282,18 +299,24 @@ let RepositoryService = class RepositoryService {
|
|
|
282
299
|
repositoryId: id,
|
|
283
300
|
});
|
|
284
301
|
}
|
|
285
|
-
async getResticParameters(
|
|
286
|
-
|
|
287
|
-
|
|
302
|
+
async getResticParameters(repository) {
|
|
303
|
+
let backendId;
|
|
304
|
+
let remoteId;
|
|
305
|
+
if (typeof repository === 'string') {
|
|
306
|
+
const localRepository = await this.repository.get(repository);
|
|
288
307
|
if (!localRepository) {
|
|
289
308
|
throw new common_1.BadRequestException('Repository not found locally');
|
|
290
309
|
}
|
|
291
310
|
backendId = localRepository.backendId;
|
|
311
|
+
remoteId = localRepository.remoteId;
|
|
312
|
+
}
|
|
313
|
+
else {
|
|
314
|
+
({ backendId, remoteId } = repository);
|
|
292
315
|
}
|
|
293
316
|
const backend = await this.backend.getBackend(backendId);
|
|
294
317
|
const backendInstance = backend_1.Backend.from(backend.configuration, this.moduleConfig.get());
|
|
295
|
-
const endpoint = await backendInstance.getResticEndpoint(
|
|
296
|
-
const key = await this.config.deriveEncryptionKey(`repository-${
|
|
318
|
+
const endpoint = await backendInstance.getResticEndpoint(remoteId);
|
|
319
|
+
const key = await this.config.deriveEncryptionKey(`repository-${remoteId}`);
|
|
297
320
|
return { endpoint, key };
|
|
298
321
|
}
|
|
299
322
|
async updateLocalMetrics(id, options) {
|
|
@@ -315,11 +338,11 @@ let RepositoryService = class RepositoryService {
|
|
|
315
338
|
},
|
|
316
339
|
});
|
|
317
340
|
if (metrics.sizeBytes) {
|
|
318
|
-
const { backendId } = await this.repository.get(id);
|
|
341
|
+
const { backendId, remoteId } = await this.repository.get(id);
|
|
319
342
|
const { configuration } = await this.backend.getBackend(backendId);
|
|
320
343
|
const backend = backend_1.Backend.from(configuration, this.moduleConfig.get());
|
|
321
344
|
if (backend.isMetricsCapable()) {
|
|
322
|
-
await backend.submitMetricRepositorySize(
|
|
345
|
+
await backend.submitMetricRepositorySize(remoteId, metrics.sizeBytes);
|
|
323
346
|
}
|
|
324
347
|
}
|
|
325
348
|
}
|
|
@@ -330,7 +353,7 @@ let RepositoryService = class RepositoryService {
|
|
|
330
353
|
if (!this.tasks.canStart(id)) {
|
|
331
354
|
throw new common_1.BadRequestException('Task already running!');
|
|
332
355
|
}
|
|
333
|
-
const { backendId } = await this.repository.get(id);
|
|
356
|
+
const { backendId, remoteId } = await this.repository.get(id);
|
|
334
357
|
const { configuration } = await this.backend.getBackend(backendId);
|
|
335
358
|
const backend = backend_1.Backend.from(configuration, this.moduleConfig.get());
|
|
336
359
|
const { endpoint, key } = await this.getResticParameters(id);
|
|
@@ -346,7 +369,7 @@ let RepositoryService = class RepositoryService {
|
|
|
346
369
|
logId,
|
|
347
370
|
});
|
|
348
371
|
if (backend.isMetricsCapable()) {
|
|
349
|
-
await backend.submitMetricBackupStart(
|
|
372
|
+
await backend.submitMetricBackupStart(remoteId);
|
|
350
373
|
}
|
|
351
374
|
try {
|
|
352
375
|
const taskSignal = this.tasks.startTask(id, enum_1.TaskType.Backup, logId, signal);
|
|
@@ -379,7 +402,7 @@ let RepositoryService = class RepositoryService {
|
|
|
379
402
|
complete();
|
|
380
403
|
}
|
|
381
404
|
if (backend.isMetricsCapable()) {
|
|
382
|
-
await backend.submitMetricBackupEnd(
|
|
405
|
+
await backend.submitMetricBackupEnd(remoteId, !error, lastBackupDuration);
|
|
383
406
|
}
|
|
384
407
|
}));
|
|
385
408
|
task.catch(() => { });
|
|
@@ -418,8 +441,14 @@ let RepositoryService = class RepositoryService {
|
|
|
418
441
|
return new Promise((resolve) => {
|
|
419
442
|
const task = new Promise((complete, fail) => void this.runHistory.createLog(id, enum_1.TaskType.Forget, async (log, logId) => {
|
|
420
443
|
resolve({ task, logId });
|
|
421
|
-
|
|
422
|
-
|
|
444
|
+
try {
|
|
445
|
+
const taskSignal = this.tasks.startTask(id, enum_1.TaskType.Forget, logId, signal);
|
|
446
|
+
await this.restic.unlockAll(endpoint, key);
|
|
447
|
+
await this.runForgetAndPrune(endpoint, key, policy, log, taskSignal);
|
|
448
|
+
}
|
|
449
|
+
finally {
|
|
450
|
+
this.tasks.endTask(id);
|
|
451
|
+
}
|
|
423
452
|
}, (error) => {
|
|
424
453
|
void this.updateLocalMetrics(id, {
|
|
425
454
|
resticParameters: { endpoint, key },
|
|
@@ -435,7 +464,7 @@ let RepositoryService = class RepositoryService {
|
|
|
435
464
|
});
|
|
436
465
|
}
|
|
437
466
|
async checkImportRepository(id, backendId) {
|
|
438
|
-
const { endpoint, key } = await this.getResticParameters(
|
|
467
|
+
const { endpoint, key } = await this.getResticParameters({ backendId, remoteId: id });
|
|
439
468
|
try {
|
|
440
469
|
await this.restic.snapshots(endpoint, key);
|
|
441
470
|
return {
|
|
@@ -452,6 +481,7 @@ let RepositoryService = class RepositoryService {
|
|
|
452
481
|
const { configuration } = await this.backend.getBackend(backendId);
|
|
453
482
|
const backend = backend_1.Backend.from(configuration, this.moduleConfig.get());
|
|
454
483
|
const { repository: remote } = await backend.getRepository(id);
|
|
484
|
+
const localId = (0, node_crypto_1.randomUUID)();
|
|
455
485
|
const endpoint = await backend.getResticEndpoint(remote.id);
|
|
456
486
|
const key = await this.config.deriveEncryptionKey(`repository-${remote.id}`);
|
|
457
487
|
await this.restic.keyList(endpoint, key);
|
|
@@ -464,13 +494,15 @@ let RepositoryService = class RepositoryService {
|
|
|
464
494
|
catch {
|
|
465
495
|
}
|
|
466
496
|
await this.repository.create({
|
|
467
|
-
id:
|
|
497
|
+
id: localId,
|
|
498
|
+
remoteId: remote.id,
|
|
468
499
|
backendId,
|
|
469
500
|
retentionPolicy: restic_1.DEFAULT_RETENTION_POLICY,
|
|
470
501
|
});
|
|
471
502
|
const repository = {
|
|
472
|
-
...(await this.getLocalRepository(
|
|
503
|
+
...(await this.getLocalRepository(localId, { paths, retentionPolicy: restic_1.DEFAULT_RETENTION_POLICY })),
|
|
473
504
|
...remote,
|
|
505
|
+
id: localId,
|
|
474
506
|
backends: {
|
|
475
507
|
primary: {
|
|
476
508
|
id: backendId,
|
|
@@ -488,6 +520,44 @@ let RepositoryService = class RepositoryService {
|
|
|
488
520
|
repository,
|
|
489
521
|
};
|
|
490
522
|
}
|
|
523
|
+
async reconfigureRepositoryPrimaryBackend(id, dto) {
|
|
524
|
+
const { configuration } = await this.backend.getBackend(dto.backendId);
|
|
525
|
+
const backend = backend_1.Backend.from(configuration, this.moduleConfig.get());
|
|
526
|
+
const { repository: remote } = await backend.createRepository({
|
|
527
|
+
name: 'Restored Repository',
|
|
528
|
+
worm: false,
|
|
529
|
+
});
|
|
530
|
+
const endpoint = await backend.getResticEndpoint(remote.id);
|
|
531
|
+
const key = await this.config.deriveEncryptionKey(`repository-${remote.id}`);
|
|
532
|
+
await this.restic.init(endpoint, key);
|
|
533
|
+
await this.repository.update(id, {
|
|
534
|
+
remoteId: remote.id,
|
|
535
|
+
backendId: dto.backendId,
|
|
536
|
+
});
|
|
537
|
+
const { id: _, ...repository } = {
|
|
538
|
+
...(await this.getLocalRepository(id)),
|
|
539
|
+
...remote,
|
|
540
|
+
backends: {
|
|
541
|
+
primary: {
|
|
542
|
+
id: dto.backendId,
|
|
543
|
+
online: true,
|
|
544
|
+
type: configuration.type,
|
|
545
|
+
},
|
|
546
|
+
secondary: [],
|
|
547
|
+
},
|
|
548
|
+
};
|
|
549
|
+
this.events.publish({
|
|
550
|
+
type: 'RepositoryUpdate',
|
|
551
|
+
repositoryId: id,
|
|
552
|
+
repository,
|
|
553
|
+
});
|
|
554
|
+
return {
|
|
555
|
+
repository: {
|
|
556
|
+
id,
|
|
557
|
+
...repository,
|
|
558
|
+
},
|
|
559
|
+
};
|
|
560
|
+
}
|
|
491
561
|
async getSnapshots(id) {
|
|
492
562
|
const { endpoint, key } = await this.getResticParameters(id);
|
|
493
563
|
const snapshots = await this.restic.snapshots(endpoint, key);
|
|
@@ -528,7 +598,7 @@ let RepositoryService = class RepositoryService {
|
|
|
528
598
|
task,
|
|
529
599
|
logId,
|
|
530
600
|
});
|
|
531
|
-
const { endpoint, key } = await this.getResticParameters(
|
|
601
|
+
const { endpoint, key } = await this.getResticParameters({ backendId, remoteId: id });
|
|
532
602
|
try {
|
|
533
603
|
const signal = this.tasks.startTask(id, enum_1.TaskType.Restore, logId);
|
|
534
604
|
await this.restic.restore(endpoint, key, snapshotId, { include: dto.include }, log, signal);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.service.js","sourceRoot":"","sources":["../../src/services/repository.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"repository.service.js","sourceRoot":"","sources":["../../src/services/repository.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ export declare class ScheduleService {
|
|
|
15
15
|
private readonly moduleConfig;
|
|
16
16
|
private readonly integrationImmich;
|
|
17
17
|
constructor(repository: RepositoryService, events: EventsGateway, schedule: ScheduleRepository, schedulerRegistry: SchedulerRegistry, runningTasks: RunningTasksRepository, moduleConfig: ModuleConfigRepository, integrationImmich: RepositoryIntegrationImmichRepository);
|
|
18
|
+
private readonly cronJobs;
|
|
18
19
|
bootstrap(): Promise<void>;
|
|
19
20
|
private createCronJob;
|
|
20
21
|
private updateCronJob;
|
|
@@ -8,6 +8,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
exports.ScheduleService = void 0;
|
|
13
16
|
const common_1 = require("@nestjs/common");
|
|
@@ -38,12 +41,18 @@ let ScheduleService = class ScheduleService {
|
|
|
38
41
|
this.moduleConfig = moduleConfig;
|
|
39
42
|
this.integrationImmich = integrationImmich;
|
|
40
43
|
}
|
|
44
|
+
cronJobs = new Set();
|
|
41
45
|
async bootstrap() {
|
|
46
|
+
for (const id of this.cronJobs) {
|
|
47
|
+
this.schedulerRegistry.deleteCronJob(id);
|
|
48
|
+
}
|
|
49
|
+
this.cronJobs.clear();
|
|
42
50
|
for (const schedule of await this.schedule.getAll()) {
|
|
43
51
|
this.createCronJob(schedule.id, schedule.cron, schedule.paused);
|
|
44
52
|
}
|
|
45
53
|
}
|
|
46
54
|
createCronJob(id, cron, paused) {
|
|
55
|
+
this.cronJobs.add(id);
|
|
47
56
|
this.schedulerRegistry.addCronJob(id, new cron_1.CronJob(cron, () => this.runSchedule(id), undefined, !paused, undefined, undefined, undefined, undefined, true));
|
|
48
57
|
}
|
|
49
58
|
updateCronJob(id, cron, paused) {
|
|
@@ -177,6 +186,8 @@ let ScheduleService = class ScheduleService {
|
|
|
177
186
|
throw new common_1.BadRequestException('Schedule managed by Immich integration');
|
|
178
187
|
}
|
|
179
188
|
await this.schedule.removeSchedule(scheduleId);
|
|
189
|
+
this.schedulerRegistry.deleteCronJob(scheduleId);
|
|
190
|
+
this.cronJobs.delete(scheduleId);
|
|
180
191
|
this.events.publish({
|
|
181
192
|
type: 'ScheduleDelete',
|
|
182
193
|
scheduleId,
|
|
@@ -186,6 +197,7 @@ let ScheduleService = class ScheduleService {
|
|
|
186
197
|
exports.ScheduleService = ScheduleService;
|
|
187
198
|
exports.ScheduleService = ScheduleService = __decorate([
|
|
188
199
|
(0, common_1.Injectable)(),
|
|
200
|
+
__param(0, (0, common_1.Inject)((0, common_1.forwardRef)(() => repository_service_1.RepositoryService))),
|
|
189
201
|
__metadata("design:paramtypes", [repository_service_1.RepositoryService,
|
|
190
202
|
events_gateway_1.EventsGateway,
|
|
191
203
|
schedule_repository_1.ScheduleRepository,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedule.service.js","sourceRoot":"","sources":["../../src/services/schedule.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schedule.service.js","sourceRoot":"","sources":["../../src/services/schedule.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@futo-org/backups-orchestrator-api",
|
|
3
|
-
"
|
|
4
|
-
"
|
|
3
|
+
"repository": "https://github.com/immich-app/yucca",
|
|
4
|
+
"version": "0.3.1",
|
|
5
|
+
"description": "Backups orchestrator (API)",
|
|
5
6
|
"main": "index.js",
|
|
6
7
|
"keywords": [],
|
|
7
8
|
"author": "",
|
|
@@ -29,7 +30,7 @@
|
|
|
29
30
|
"rxjs": "^7.8.2",
|
|
30
31
|
"socket.io": "^4.8.3",
|
|
31
32
|
"tail": "^2.2.6",
|
|
32
|
-
"@futo-org/backups-api-client": "^0.1
|
|
33
|
+
"@futo-org/backups-api-client": "^0.3.1"
|
|
33
34
|
},
|
|
34
35
|
"devDependencies": {
|
|
35
36
|
"@nestjs/cli": "^11.0.14",
|
|
@@ -79,6 +80,7 @@
|
|
|
79
80
|
"scripts": {
|
|
80
81
|
"build": "nest build",
|
|
81
82
|
"test": "jest",
|
|
83
|
+
"test:integration": "jest --config ./test/jest-integration.json --runInBand",
|
|
82
84
|
"dev": "nodemon bin/server.ts",
|
|
83
85
|
"start": "ts-node bin/server.ts",
|
|
84
86
|
"sync:openapi": "ts-node bin/sync-openapi.ts"
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.up = up;
|
|
4
|
-
exports.down = down;
|
|
5
|
-
const kysely_1 = require("kysely");
|
|
6
|
-
async function up(db) {
|
|
7
|
-
await db.schema
|
|
8
|
-
.alterTable('repositories')
|
|
9
|
-
.addColumn('retentionPreset', 'text', (col) => col
|
|
10
|
-
.notNull()
|
|
11
|
-
.defaultTo('default')
|
|
12
|
-
.check((0, kysely_1.sql) `retentionPreset IN ('default', 'off')`))
|
|
13
|
-
.execute();
|
|
14
|
-
}
|
|
15
|
-
async function down(db) {
|
|
16
|
-
await db.schema.alterTable('repositories').dropColumn('retentionPreset').execute();
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=20260512120000-AddRepositoryRetentionPreset.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"20260512120000-AddRepositoryRetentionPreset.js","sourceRoot":"","sources":["../../../src/schema/migrations/20260512120000-AddRepositoryRetentionPreset.ts"],"names":[],"mappings":";;AAEA,gBAUC;AAED,oBAEC;AAhBD,mCAAqC;AAE9B,KAAK,UAAU,EAAE,CAAC,EAAe;IACtC,MAAM,EAAE,CAAC,MAAM;SACZ,UAAU,CAAC,cAAc,CAAC;SAC1B,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAC5C,GAAG;SACA,OAAO,EAAE;SACT,SAAS,CAAC,SAAS,CAAC;SACpB,KAAK,CAAC,IAAA,YAAG,EAAA,uCAAuC,CAAC,CACrD;SACA,OAAO,EAAE,CAAC;AACf,CAAC;AAEM,KAAK,UAAU,IAAI,CAAC,EAAe;IACxC,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC;AACrF,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { OnApplicationBootstrap } from '@nestjs/common';
|
|
2
|
-
import { ConfigRepository } from '../repositories/config.repository';
|
|
3
|
-
import { DatabaseRepository } from '../repositories/database.repository';
|
|
4
|
-
import { ScheduleService } from './schedule.service';
|
|
5
|
-
export declare class DatabaseService implements OnApplicationBootstrap {
|
|
6
|
-
private readonly repository;
|
|
7
|
-
private readonly config;
|
|
8
|
-
private readonly schedule;
|
|
9
|
-
constructor(repository: DatabaseRepository, config: ConfigRepository, schedule: ScheduleService);
|
|
10
|
-
onApplicationBootstrap(): Promise<void>;
|
|
11
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.DatabaseService = void 0;
|
|
13
|
-
const common_1 = require("@nestjs/common");
|
|
14
|
-
const config_repository_1 = require("../repositories/config.repository");
|
|
15
|
-
const database_repository_1 = require("../repositories/database.repository");
|
|
16
|
-
const schedule_service_1 = require("./schedule.service");
|
|
17
|
-
let DatabaseService = class DatabaseService {
|
|
18
|
-
repository;
|
|
19
|
-
config;
|
|
20
|
-
schedule;
|
|
21
|
-
constructor(repository, config, schedule) {
|
|
22
|
-
this.repository = repository;
|
|
23
|
-
this.config = config;
|
|
24
|
-
this.schedule = schedule;
|
|
25
|
-
}
|
|
26
|
-
async onApplicationBootstrap() {
|
|
27
|
-
await this.repository.runMigrations();
|
|
28
|
-
await this.config.bootstrap();
|
|
29
|
-
await this.schedule.bootstrap();
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
exports.DatabaseService = DatabaseService;
|
|
33
|
-
exports.DatabaseService = DatabaseService = __decorate([
|
|
34
|
-
(0, common_1.Injectable)(),
|
|
35
|
-
__metadata("design:paramtypes", [database_repository_1.DatabaseRepository,
|
|
36
|
-
config_repository_1.ConfigRepository,
|
|
37
|
-
schedule_service_1.ScheduleService])
|
|
38
|
-
], DatabaseService);
|
|
39
|
-
//# sourceMappingURL=database.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"database.service.js","sourceRoot":"","sources":["../../src/services/database.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAoE;AACpE,yEAAqE;AACrE,6EAAyE;AACzE,yDAAqD;AAG9C,IAAM,eAAe,GAArB,MAAM,eAAe;IAEP;IACA;IACA;IAHnB,YACmB,UAA8B,EAC9B,MAAwB,EACxB,QAAyB;QAFzB,eAAU,GAAV,UAAU,CAAoB;QAC9B,WAAM,GAAN,MAAM,CAAkB;QACxB,aAAQ,GAAR,QAAQ,CAAiB;IACzC,CAAC;IAEJ,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QACtC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;IAClC,CAAC;CACF,CAAA;AAZY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;qCAGoB,wCAAkB;QACtB,oCAAgB;QACd,kCAAe;GAJjC,eAAe,CAY3B"}
|