@futo-org/backups-orchestrator-api 0.40.2 → 0.41.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/controllers/integrations.controller.d.ts +3 -2
- package/dist/controllers/integrations.controller.js +12 -1
- package/dist/controllers/integrations.controller.js.map +1 -1
- package/dist/dto/backend.dto.d.ts +7 -0
- package/dist/dto/backend.dto.js +5 -5
- package/dist/dto/backend.dto.js.map +1 -1
- package/dist/dto/integrations.dto.d.ts +85 -0
- package/dist/dto/integrations.dto.js +23 -1
- package/dist/dto/integrations.dto.js.map +1 -1
- package/dist/dto/repository.dto.d.ts +51 -0
- package/dist/dto/repository.dto.js +11 -11
- package/dist/dto/repository.dto.js.map +1 -1
- package/dist/dto/schedule.dto.d.ts +9 -0
- package/dist/dto/schedule.dto.js +6 -6
- package/dist/dto/schedule.dto.js.map +1 -1
- package/dist/orchestrationApi.module.d.ts +1 -1
- package/dist/orchestrationApi.module.js +1 -0
- package/dist/orchestrationApi.module.js.map +1 -1
- package/dist/repositories/restic.repository.d.ts +4 -1
- package/dist/repositories/restic.repository.js +23 -2
- package/dist/repositories/restic.repository.js.map +1 -1
- package/dist/repositories/runHistory.repository.d.ts +18 -1
- package/dist/repositories/runHistory.repository.js +13 -1
- package/dist/repositories/runHistory.repository.js.map +1 -1
- package/dist/repositories/schedule.repository.d.ts +2 -2
- package/dist/services/bootstrap.service.d.ts +3 -3
- package/dist/services/bootstrap.service.js +7 -7
- package/dist/services/bootstrap.service.js.map +1 -1
- package/dist/services/integrations.service.d.ts +12 -3
- package/dist/services/integrations.service.js +37 -2
- package/dist/services/integrations.service.js.map +1 -1
- package/dist/services/repository.service.js +10 -2
- package/dist/services/repository.service.js.map +1 -1
- package/dist/services/runHistory.service.d.ts +8 -1
- package/dist/services/runHistory.service.js +44 -2
- package/dist/services/runHistory.service.js.map +1 -1
- package/package.json +3 -3
|
@@ -12,18 +12,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.ResticRepository = void 0;
|
|
13
13
|
const restic_wrapper_1 = require("@futo-org/restic-wrapper");
|
|
14
14
|
const common_1 = require("@nestjs/common");
|
|
15
|
+
const node_path_1 = require("node:path");
|
|
15
16
|
const restic_1 = require("../utils/restic");
|
|
16
17
|
const config_repository_1 = require("./config.repository");
|
|
18
|
+
const moduleConfig_repository_1 = require("./moduleConfig.repository");
|
|
17
19
|
let ResticRepository = class ResticRepository {
|
|
18
20
|
config;
|
|
19
|
-
|
|
21
|
+
moduleConfig;
|
|
22
|
+
constructor(config, moduleConfig) {
|
|
20
23
|
this.config = config;
|
|
24
|
+
this.moduleConfig = moduleConfig;
|
|
25
|
+
}
|
|
26
|
+
get cacheDir() {
|
|
27
|
+
return (0, node_path_1.join)(this.moduleConfig.get().statePath, 'restic-cache');
|
|
21
28
|
}
|
|
22
29
|
async init(repository, key, placement) {
|
|
23
30
|
const { connections } = await this.config.getResticOptions(placement);
|
|
24
31
|
await (0, restic_wrapper_1.init)()
|
|
25
32
|
.option(`rest.connections=${connections}`)
|
|
26
33
|
.repository(repository)
|
|
34
|
+
.cacheDir(this.cacheDir)
|
|
27
35
|
.password(Buffer.from(key).toString('hex'))
|
|
28
36
|
.run();
|
|
29
37
|
}
|
|
@@ -34,9 +42,11 @@ let ResticRepository = class ResticRepository {
|
|
|
34
42
|
.option(`rest.connections=${connections}`)
|
|
35
43
|
.packSize(packSizeMib)
|
|
36
44
|
.repository(repository)
|
|
45
|
+
.cacheDir(this.cacheDir)
|
|
37
46
|
.password(Buffer.from(key).toString('hex'))
|
|
38
47
|
.tag(...tags)
|
|
39
48
|
.addFile(...paths)
|
|
49
|
+
.exclude(this.cacheDir)
|
|
40
50
|
.signal(signal)
|
|
41
51
|
.on('event', write)
|
|
42
52
|
.run();
|
|
@@ -47,6 +57,7 @@ let ResticRepository = class ResticRepository {
|
|
|
47
57
|
let command = (0, restic_wrapper_1.restore)()
|
|
48
58
|
.option(`rest.connections=${connections}`)
|
|
49
59
|
.repository(repository)
|
|
60
|
+
.cacheDir(this.cacheDir)
|
|
50
61
|
.password(Buffer.from(key).toString('hex'))
|
|
51
62
|
.snapshot(snapshotId)
|
|
52
63
|
.target(target ?? '/')
|
|
@@ -62,6 +73,7 @@ let ResticRepository = class ResticRepository {
|
|
|
62
73
|
return await (0, restic_wrapper_1.ls)()
|
|
63
74
|
.option(`rest.connections=${connections}`)
|
|
64
75
|
.repository(repository)
|
|
76
|
+
.cacheDir(this.cacheDir)
|
|
65
77
|
.password(Buffer.from(key).toString('hex'))
|
|
66
78
|
.snapshot(snapshotId)
|
|
67
79
|
.directory(path)
|
|
@@ -72,6 +84,7 @@ let ResticRepository = class ResticRepository {
|
|
|
72
84
|
return await (0, restic_wrapper_1.stats)()
|
|
73
85
|
.option(`rest.connections=${connections}`)
|
|
74
86
|
.repository(repository)
|
|
87
|
+
.cacheDir(this.cacheDir)
|
|
75
88
|
.password(Buffer.from(key).toString('hex'))
|
|
76
89
|
.modeRawData()
|
|
77
90
|
.run();
|
|
@@ -81,6 +94,7 @@ let ResticRepository = class ResticRepository {
|
|
|
81
94
|
return await (0, restic_wrapper_1.snapshots)()
|
|
82
95
|
.option(`rest.connections=${connections}`)
|
|
83
96
|
.repository(repository)
|
|
97
|
+
.cacheDir(this.cacheDir)
|
|
84
98
|
.password(Buffer.from(key).toString('hex'))
|
|
85
99
|
.run();
|
|
86
100
|
}
|
|
@@ -89,6 +103,7 @@ let ResticRepository = class ResticRepository {
|
|
|
89
103
|
return await (0, restic_wrapper_1.snapshots)()
|
|
90
104
|
.option(`rest.connections=${connections}`)
|
|
91
105
|
.repository(repository)
|
|
106
|
+
.cacheDir(this.cacheDir)
|
|
92
107
|
.password(Buffer.from(key).toString('hex'))
|
|
93
108
|
.snapshot(snapshotId)
|
|
94
109
|
.run();
|
|
@@ -98,6 +113,7 @@ let ResticRepository = class ResticRepository {
|
|
|
98
113
|
return await (0, restic_wrapper_1.forget)()
|
|
99
114
|
.option(`rest.connections=${connections}`)
|
|
100
115
|
.repository(repository)
|
|
116
|
+
.cacheDir(this.cacheDir)
|
|
101
117
|
.password(Buffer.from(key).toString('hex'))
|
|
102
118
|
.snapshot(snapshotId)
|
|
103
119
|
.prune(prune)
|
|
@@ -109,6 +125,7 @@ let ResticRepository = class ResticRepository {
|
|
|
109
125
|
return await (0, restic_wrapper_1.forget)()
|
|
110
126
|
.option(`rest.connections=${connections}`)
|
|
111
127
|
.repository(repository)
|
|
128
|
+
.cacheDir(this.cacheDir)
|
|
112
129
|
.password(Buffer.from(key).toString('hex'))
|
|
113
130
|
.signal(signal)
|
|
114
131
|
.keepLast(policy.keepLast)
|
|
@@ -126,6 +143,7 @@ let ResticRepository = class ResticRepository {
|
|
|
126
143
|
.option(`rest.connections=${connections}`)
|
|
127
144
|
.packSize(packSizeMib)
|
|
128
145
|
.repository(repository)
|
|
146
|
+
.cacheDir(this.cacheDir)
|
|
129
147
|
.password(Buffer.from(key).toString('hex'))
|
|
130
148
|
.signal(signal)
|
|
131
149
|
.run();
|
|
@@ -135,6 +153,7 @@ let ResticRepository = class ResticRepository {
|
|
|
135
153
|
return await (0, restic_wrapper_1.keyList)()
|
|
136
154
|
.option(`rest.connections=${connections}`)
|
|
137
155
|
.repository(repository)
|
|
156
|
+
.cacheDir(this.cacheDir)
|
|
138
157
|
.password(Buffer.from(key).toString('hex'))
|
|
139
158
|
.run();
|
|
140
159
|
}
|
|
@@ -144,6 +163,7 @@ let ResticRepository = class ResticRepository {
|
|
|
144
163
|
.option(`rest.connections=${connections}`)
|
|
145
164
|
.removeAll()
|
|
146
165
|
.repository(repository)
|
|
166
|
+
.cacheDir(this.cacheDir)
|
|
147
167
|
.password(Buffer.from(key).toString('hex'))
|
|
148
168
|
.run();
|
|
149
169
|
}
|
|
@@ -151,6 +171,7 @@ let ResticRepository = class ResticRepository {
|
|
|
151
171
|
exports.ResticRepository = ResticRepository;
|
|
152
172
|
exports.ResticRepository = ResticRepository = __decorate([
|
|
153
173
|
(0, common_1.Injectable)(),
|
|
154
|
-
__metadata("design:paramtypes", [config_repository_1.ConfigRepository
|
|
174
|
+
__metadata("design:paramtypes", [config_repository_1.ConfigRepository,
|
|
175
|
+
moduleConfig_repository_1.ModuleConfigRepository])
|
|
155
176
|
], ResticRepository);
|
|
156
177
|
//# sourceMappingURL=restic.repository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restic.repository.js","sourceRoot":"","sources":["../../src/repositories/restic.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6DAAuH;AACvH,2CAA4C;
|
|
1
|
+
{"version":3,"file":"restic.repository.js","sourceRoot":"","sources":["../../src/repositories/restic.repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,6 +49,23 @@ export declare class RunHistoryRepository {
|
|
|
49
49
|
end: string | undefined;
|
|
50
50
|
logFilePath: string;
|
|
51
51
|
}[]>;
|
|
52
|
+
getLatest(repositoryId: string, type: RunType): Promise<{
|
|
53
|
+
id: string;
|
|
54
|
+
type: RunType;
|
|
55
|
+
status: TaskStatus;
|
|
56
|
+
repositoryId: string;
|
|
57
|
+
start: string;
|
|
58
|
+
end: string | undefined;
|
|
59
|
+
logFilePath: string;
|
|
60
|
+
} | undefined>;
|
|
52
61
|
getObservable(id: string): import("rxjs").Observable<MessageEvent<any>>;
|
|
53
|
-
markIncompleteAsFailed(): Promise<
|
|
62
|
+
markIncompleteAsFailed(): Promise<{
|
|
63
|
+
id: string;
|
|
64
|
+
type: RunType;
|
|
65
|
+
status: TaskStatus;
|
|
66
|
+
repositoryId: string;
|
|
67
|
+
start: string;
|
|
68
|
+
end: string | undefined;
|
|
69
|
+
logFilePath: string;
|
|
70
|
+
}[]>;
|
|
54
71
|
}
|
|
@@ -184,6 +184,16 @@ let RunHistoryRepository = RunHistoryRepository_1 = class RunHistoryRepository {
|
|
|
184
184
|
async getAll(repositoryId) {
|
|
185
185
|
return this.db.selectFrom('runHistory').selectAll('runHistory').where('repositoryId', '=', repositoryId).execute();
|
|
186
186
|
}
|
|
187
|
+
async getLatest(repositoryId, type) {
|
|
188
|
+
return this.db
|
|
189
|
+
.selectFrom('runHistory')
|
|
190
|
+
.selectAll('runHistory')
|
|
191
|
+
.where('repositoryId', '=', repositoryId)
|
|
192
|
+
.where('type', '=', type)
|
|
193
|
+
.orderBy('start', 'desc')
|
|
194
|
+
.limit(1)
|
|
195
|
+
.executeTakeFirst();
|
|
196
|
+
}
|
|
187
197
|
getObservable(id) {
|
|
188
198
|
const db = this.db;
|
|
189
199
|
const ephemeralPath = this.ephemeralLogs.get(id);
|
|
@@ -217,10 +227,12 @@ let RunHistoryRepository = RunHistoryRepository_1 = class RunHistoryRepository {
|
|
|
217
227
|
}));
|
|
218
228
|
}
|
|
219
229
|
async markIncompleteAsFailed() {
|
|
220
|
-
|
|
230
|
+
return this.db
|
|
221
231
|
.updateTable('runHistory')
|
|
222
232
|
.set('status', enum_1.TaskStatus.Failed)
|
|
233
|
+
.set('end', new Date().toISOString())
|
|
223
234
|
.where('status', '=', enum_1.TaskStatus.Incomplete)
|
|
235
|
+
.returningAll()
|
|
224
236
|
.execute();
|
|
225
237
|
}
|
|
226
238
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runHistory.repository.js","sourceRoot":"","sources":["../../src/repositories/runHistory.repository.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"runHistory.repository.js","sourceRoot":"","sources":["../../src/repositories/runHistory.repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,8 @@ export declare class ScheduleRepository {
|
|
|
7
7
|
create(schedule: Insertable<ScheduleTable>): Promise<{
|
|
8
8
|
id: string;
|
|
9
9
|
name: string;
|
|
10
|
-
cron: string;
|
|
11
10
|
paused: number;
|
|
11
|
+
cron: string;
|
|
12
12
|
lastRun: string | undefined;
|
|
13
13
|
lastFinished: string | undefined;
|
|
14
14
|
ordering: string;
|
|
@@ -35,8 +35,8 @@ export declare class ScheduleRepository {
|
|
|
35
35
|
updateSchedule(id: string, schedule: Updateable<ScheduleTable>): Promise<{
|
|
36
36
|
id: string;
|
|
37
37
|
name: string;
|
|
38
|
-
cron: string;
|
|
39
38
|
paused: number;
|
|
39
|
+
cron: string;
|
|
40
40
|
lastRun: string | undefined;
|
|
41
41
|
lastFinished: string | undefined;
|
|
42
42
|
ordering: string;
|
|
@@ -2,14 +2,14 @@ import { OnApplicationBootstrap } from '@nestjs/common';
|
|
|
2
2
|
import { BootstrapRepository } from '../repositories/bootstrap.repository';
|
|
3
3
|
import { ConfigRepository } from '../repositories/config.repository';
|
|
4
4
|
import { DatabaseRepository } from '../repositories/database.repository';
|
|
5
|
-
import {
|
|
5
|
+
import { RunHistoryService } from './runHistory.service';
|
|
6
6
|
import { ScheduleService } from './schedule.service';
|
|
7
7
|
export declare class BootstrapService implements OnApplicationBootstrap {
|
|
8
8
|
private readonly database;
|
|
9
9
|
private readonly config;
|
|
10
10
|
private readonly schedule;
|
|
11
|
-
private readonly runHistoryRepository;
|
|
12
11
|
private readonly bootstrap;
|
|
13
|
-
|
|
12
|
+
private readonly runHistory;
|
|
13
|
+
constructor(database: DatabaseRepository, config: ConfigRepository, schedule: ScheduleService, bootstrap: BootstrapRepository, runHistory: RunHistoryService);
|
|
14
14
|
onApplicationBootstrap(): Promise<void>;
|
|
15
15
|
}
|
|
@@ -14,27 +14,27 @@ const common_1 = require("@nestjs/common");
|
|
|
14
14
|
const bootstrap_repository_1 = require("../repositories/bootstrap.repository");
|
|
15
15
|
const config_repository_1 = require("../repositories/config.repository");
|
|
16
16
|
const database_repository_1 = require("../repositories/database.repository");
|
|
17
|
-
const
|
|
17
|
+
const runHistory_service_1 = require("./runHistory.service");
|
|
18
18
|
const schedule_service_1 = require("./schedule.service");
|
|
19
19
|
let BootstrapService = class BootstrapService {
|
|
20
20
|
database;
|
|
21
21
|
config;
|
|
22
22
|
schedule;
|
|
23
|
-
runHistoryRepository;
|
|
24
23
|
bootstrap;
|
|
25
|
-
|
|
24
|
+
runHistory;
|
|
25
|
+
constructor(database, config, schedule, bootstrap, runHistory) {
|
|
26
26
|
this.database = database;
|
|
27
27
|
this.config = config;
|
|
28
28
|
this.schedule = schedule;
|
|
29
|
-
this.runHistoryRepository = runHistoryRepository;
|
|
30
29
|
this.bootstrap = bootstrap;
|
|
30
|
+
this.runHistory = runHistory;
|
|
31
31
|
}
|
|
32
32
|
async onApplicationBootstrap() {
|
|
33
33
|
try {
|
|
34
34
|
await this.database.runMigrations();
|
|
35
35
|
await this.config.bootstrap();
|
|
36
36
|
await this.schedule.bootstrap();
|
|
37
|
-
await this.
|
|
37
|
+
await this.runHistory.reconcileInterruptedRuns();
|
|
38
38
|
this.bootstrap.markReady();
|
|
39
39
|
}
|
|
40
40
|
catch (error) {
|
|
@@ -48,7 +48,7 @@ exports.BootstrapService = BootstrapService = __decorate([
|
|
|
48
48
|
__metadata("design:paramtypes", [database_repository_1.DatabaseRepository,
|
|
49
49
|
config_repository_1.ConfigRepository,
|
|
50
50
|
schedule_service_1.ScheduleService,
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
bootstrap_repository_1.BootstrapRepository,
|
|
52
|
+
runHistory_service_1.RunHistoryService])
|
|
53
53
|
], BootstrapService);
|
|
54
54
|
//# sourceMappingURL=bootstrap.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.service.js","sourceRoot":"","sources":["../../src/services/bootstrap.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAoE;AACpE,+EAA2E;AAC3E,yEAAqE;AACrE,6EAAyE;AACzE,
|
|
1
|
+
{"version":3,"file":"bootstrap.service.js","sourceRoot":"","sources":["../../src/services/bootstrap.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAoE;AACpE,+EAA2E;AAC3E,yEAAqE;AACrE,6EAAyE;AACzE,6DAAyD;AACzD,yDAAqD;AAG9C,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAER;IACA;IACA;IACA;IACA;IALnB,YACmB,QAA4B,EAC5B,MAAwB,EACxB,QAAyB,EACzB,SAA8B,EAC9B,UAA6B;QAJ7B,aAAQ,GAAR,QAAQ,CAAoB;QAC5B,WAAM,GAAN,MAAM,CAAkB;QACxB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,cAAS,GAAT,SAAS,CAAqB;QAC9B,eAAU,GAAV,UAAU,CAAmB;IAC7C,CAAC;IAEJ,KAAK,CAAC,sBAAsB;QAC1B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC;YAEjD,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CACF,CAAA;AArBY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;qCAGkB,wCAAkB;QACpB,oCAAgB;QACd,kCAAe;QACd,0CAAmB;QAClB,sCAAiB;GANrC,gBAAgB,CAqB5B"}
|
|
@@ -1,24 +1,33 @@
|
|
|
1
|
-
import { ConfigureImmichIntegrationRequestDto, ImmichRollbackRequestDto, IntegrationsResponseDto } from '../dto/integrations.dto';
|
|
1
|
+
import { ConfigureImmichIntegrationRequestDto, ImmichBackupStatusDto, ImmichRollbackRequestDto, IntegrationsResponseDto } from '../dto/integrations.dto';
|
|
2
2
|
import { EventsGateway } from '../events/events.gateway';
|
|
3
3
|
import type { ModuleConfig } from '../moduleConfig';
|
|
4
4
|
import { ModuleConfigRepository } from '../repositories/moduleConfig.repository';
|
|
5
5
|
import { RepositoryIntegrationImmichRepository } from '../repositories/repositoryIntegrationImmich.repository';
|
|
6
6
|
import { RepositoryPathRepository } from '../repositories/repositoryPath.repository';
|
|
7
|
+
import { RunHistoryRepository } from '../repositories/runHistory.repository';
|
|
8
|
+
import { ScheduleRepository } from '../repositories/schedule.repository';
|
|
9
|
+
import { BackendService } from './backend.service';
|
|
7
10
|
import { RepositoryService } from './repository.service';
|
|
8
11
|
import { ScheduleService } from './schedule.service';
|
|
9
12
|
import { TelemetryService } from './telemetry.service';
|
|
10
13
|
export declare class IntegrationsService {
|
|
14
|
+
private readonly backendService;
|
|
11
15
|
private readonly events;
|
|
12
16
|
private readonly moduleConfig;
|
|
13
17
|
private readonly repositoryIntegrationImmich;
|
|
14
18
|
private readonly repositoryPath;
|
|
15
19
|
private readonly repositoryService;
|
|
20
|
+
private readonly runHistory;
|
|
21
|
+
private readonly schedule;
|
|
16
22
|
private readonly scheduleService;
|
|
17
23
|
private readonly telemetry;
|
|
18
|
-
constructor(events: EventsGateway, moduleConfig: ModuleConfigRepository, repositoryIntegrationImmich: RepositoryIntegrationImmichRepository, repositoryPath: RepositoryPathRepository, repositoryService: RepositoryService, scheduleService: ScheduleService, telemetry: TelemetryService);
|
|
24
|
+
constructor(backendService: BackendService, events: EventsGateway, moduleConfig: ModuleConfigRepository, repositoryIntegrationImmich: RepositoryIntegrationImmichRepository, repositoryPath: RepositoryPathRepository, repositoryService: RepositoryService, runHistory: RunHistoryRepository, schedule: ScheduleRepository, scheduleService: ScheduleService, telemetry: TelemetryService);
|
|
19
25
|
onModuleConfigUpdate(moduleConfig: ModuleConfig): Promise<void>;
|
|
20
26
|
getIntegrationsConfig(): Promise<IntegrationsResponseDto>;
|
|
21
|
-
|
|
27
|
+
getImmichBackupStatus(): Promise<ImmichBackupStatusDto>;
|
|
28
|
+
configureImmichIntegration(dto: ConfigureImmichIntegrationRequestDto): Promise<{
|
|
29
|
+
repositoryId: string;
|
|
30
|
+
}>;
|
|
22
31
|
enterImmichMaintenanceRollback(dto: ImmichRollbackRequestDto): Promise<{
|
|
23
32
|
jwt: string;
|
|
24
33
|
}>;
|
|
@@ -18,23 +18,32 @@ const events_gateway_1 = require("../events/events.gateway");
|
|
|
18
18
|
const moduleConfig_repository_1 = require("../repositories/moduleConfig.repository");
|
|
19
19
|
const repositoryIntegrationImmich_repository_1 = require("../repositories/repositoryIntegrationImmich.repository");
|
|
20
20
|
const repositoryPath_repository_1 = require("../repositories/repositoryPath.repository");
|
|
21
|
+
const runHistory_repository_1 = require("../repositories/runHistory.repository");
|
|
22
|
+
const schedule_repository_1 = require("../repositories/schedule.repository");
|
|
23
|
+
const backend_service_1 = require("./backend.service");
|
|
21
24
|
const repository_service_1 = require("./repository.service");
|
|
22
25
|
const schedule_service_1 = require("./schedule.service");
|
|
23
26
|
const telemetry_service_1 = require("./telemetry.service");
|
|
24
27
|
let IntegrationsService = class IntegrationsService {
|
|
28
|
+
backendService;
|
|
25
29
|
events;
|
|
26
30
|
moduleConfig;
|
|
27
31
|
repositoryIntegrationImmich;
|
|
28
32
|
repositoryPath;
|
|
29
33
|
repositoryService;
|
|
34
|
+
runHistory;
|
|
35
|
+
schedule;
|
|
30
36
|
scheduleService;
|
|
31
37
|
telemetry;
|
|
32
|
-
constructor(events, moduleConfig, repositoryIntegrationImmich, repositoryPath, repositoryService, scheduleService, telemetry) {
|
|
38
|
+
constructor(backendService, events, moduleConfig, repositoryIntegrationImmich, repositoryPath, repositoryService, runHistory, schedule, scheduleService, telemetry) {
|
|
39
|
+
this.backendService = backendService;
|
|
33
40
|
this.events = events;
|
|
34
41
|
this.moduleConfig = moduleConfig;
|
|
35
42
|
this.repositoryIntegrationImmich = repositoryIntegrationImmich;
|
|
36
43
|
this.repositoryPath = repositoryPath;
|
|
37
44
|
this.repositoryService = repositoryService;
|
|
45
|
+
this.runHistory = runHistory;
|
|
46
|
+
this.schedule = schedule;
|
|
38
47
|
this.scheduleService = scheduleService;
|
|
39
48
|
this.telemetry = telemetry;
|
|
40
49
|
}
|
|
@@ -55,6 +64,26 @@ let IntegrationsService = class IntegrationsService {
|
|
|
55
64
|
immichIntegration,
|
|
56
65
|
};
|
|
57
66
|
}
|
|
67
|
+
async getImmichBackupStatus() {
|
|
68
|
+
const integration = await this.repositoryIntegrationImmich.get();
|
|
69
|
+
if (!integration) {
|
|
70
|
+
return {};
|
|
71
|
+
}
|
|
72
|
+
const [{ repositories }, { backends }, schedule, latestBackupRun] = await Promise.all([
|
|
73
|
+
this.repositoryService.getRepositories(),
|
|
74
|
+
this.backendService.getBackends(),
|
|
75
|
+
this.schedule.get(integration.scheduleId),
|
|
76
|
+
this.runHistory.getLatest(integration.id, enum_1.TaskType.Backup),
|
|
77
|
+
]);
|
|
78
|
+
const repository = repositories.find((entry) => entry.id === integration.id);
|
|
79
|
+
return {
|
|
80
|
+
integration,
|
|
81
|
+
repository,
|
|
82
|
+
backend: backends.find((entry) => entry.id === repository?.backends?.primary.id),
|
|
83
|
+
schedule,
|
|
84
|
+
latestBackupRun,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
58
87
|
async configureImmichIntegration(dto) {
|
|
59
88
|
const { immichIntegration } = this.moduleConfig.get();
|
|
60
89
|
if (!immichIntegration) {
|
|
@@ -111,6 +140,9 @@ let IntegrationsService = class IntegrationsService {
|
|
|
111
140
|
type: 'IntegrationUpdate',
|
|
112
141
|
integrations: await this.getIntegrationsConfig(),
|
|
113
142
|
});
|
|
143
|
+
return {
|
|
144
|
+
repositoryId,
|
|
145
|
+
};
|
|
114
146
|
}
|
|
115
147
|
async enterImmichMaintenanceRollback(dto) {
|
|
116
148
|
const { immichIntegration } = this.moduleConfig.get();
|
|
@@ -166,11 +198,14 @@ __decorate([
|
|
|
166
198
|
], IntegrationsService.prototype, "onModuleConfigUpdate", null);
|
|
167
199
|
exports.IntegrationsService = IntegrationsService = __decorate([
|
|
168
200
|
(0, common_1.Injectable)(),
|
|
169
|
-
__metadata("design:paramtypes", [
|
|
201
|
+
__metadata("design:paramtypes", [backend_service_1.BackendService,
|
|
202
|
+
events_gateway_1.EventsGateway,
|
|
170
203
|
moduleConfig_repository_1.ModuleConfigRepository,
|
|
171
204
|
repositoryIntegrationImmich_repository_1.RepositoryIntegrationImmichRepository,
|
|
172
205
|
repositoryPath_repository_1.RepositoryPathRepository,
|
|
173
206
|
repository_service_1.RepositoryService,
|
|
207
|
+
runHistory_repository_1.RunHistoryRepository,
|
|
208
|
+
schedule_repository_1.ScheduleRepository,
|
|
174
209
|
schedule_service_1.ScheduleService,
|
|
175
210
|
telemetry_service_1.TelemetryService])
|
|
176
211
|
], IntegrationsService);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integrations.service.js","sourceRoot":"","sources":["../../src/services/integrations.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAiE;AACjE,yDAAgD;AAChD,yCAAiC;
|
|
1
|
+
{"version":3,"file":"integrations.service.js","sourceRoot":"","sources":["../../src/services/integrations.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -381,8 +381,16 @@ let RepositoryService = RepositoryService_1 = class RepositoryService {
|
|
|
381
381
|
try {
|
|
382
382
|
if (options.resticParameters) {
|
|
383
383
|
const { endpoint, key, placement } = options.resticParameters;
|
|
384
|
-
|
|
385
|
-
|
|
384
|
+
try {
|
|
385
|
+
const { total_size } = await this.restic.stats(endpoint, key, placement);
|
|
386
|
+
metrics.sizeBytes = total_size;
|
|
387
|
+
}
|
|
388
|
+
catch (error) {
|
|
389
|
+
this.telemetry.submitStructuredLog('Failed to read repository stats', {
|
|
390
|
+
repositoryId: id,
|
|
391
|
+
error,
|
|
392
|
+
});
|
|
393
|
+
}
|
|
386
394
|
}
|
|
387
395
|
const updatedMetrics = await this.repositoryLocalMetrics.save(id, metrics);
|
|
388
396
|
this.events.publish({
|