@futo-org/backups-orchestrator-api 0.40.2 → 0.42.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.
Files changed (43) hide show
  1. package/dist/controllers/integrations.controller.d.ts +3 -2
  2. package/dist/controllers/integrations.controller.js +12 -1
  3. package/dist/controllers/integrations.controller.js.map +1 -1
  4. package/dist/dto/backend.dto.d.ts +7 -0
  5. package/dist/dto/backend.dto.js +5 -5
  6. package/dist/dto/backend.dto.js.map +1 -1
  7. package/dist/dto/integrations.dto.d.ts +85 -0
  8. package/dist/dto/integrations.dto.js +23 -1
  9. package/dist/dto/integrations.dto.js.map +1 -1
  10. package/dist/dto/repository.dto.d.ts +51 -0
  11. package/dist/dto/repository.dto.js +11 -11
  12. package/dist/dto/repository.dto.js.map +1 -1
  13. package/dist/dto/schedule.dto.d.ts +9 -0
  14. package/dist/dto/schedule.dto.js +6 -6
  15. package/dist/dto/schedule.dto.js.map +1 -1
  16. package/dist/enum.d.ts +2 -1
  17. package/dist/enum.js +1 -0
  18. package/dist/enum.js.map +1 -1
  19. package/dist/orchestrationApi.module.d.ts +3 -1
  20. package/dist/orchestrationApi.module.js +18 -10
  21. package/dist/orchestrationApi.module.js.map +1 -1
  22. package/dist/repositories/config.repository.d.ts +7 -1
  23. package/dist/repositories/config.repository.js +42 -4
  24. package/dist/repositories/config.repository.js.map +1 -1
  25. package/dist/repositories/restic.repository.d.ts +4 -1
  26. package/dist/repositories/restic.repository.js +23 -2
  27. package/dist/repositories/restic.repository.js.map +1 -1
  28. package/dist/repositories/runHistory.repository.d.ts +18 -1
  29. package/dist/repositories/runHistory.repository.js +13 -1
  30. package/dist/repositories/runHistory.repository.js.map +1 -1
  31. package/dist/repositories/schedule.repository.d.ts +2 -2
  32. package/dist/services/bootstrap.service.d.ts +3 -3
  33. package/dist/services/bootstrap.service.js +7 -7
  34. package/dist/services/bootstrap.service.js.map +1 -1
  35. package/dist/services/integrations.service.d.ts +12 -3
  36. package/dist/services/integrations.service.js +37 -2
  37. package/dist/services/integrations.service.js.map +1 -1
  38. package/dist/services/repository.service.js +10 -2
  39. package/dist/services/repository.service.js.map +1 -1
  40. package/dist/services/runHistory.service.d.ts +8 -1
  41. package/dist/services/runHistory.service.js +44 -2
  42. package/dist/services/runHistory.service.js.map +1 -1
  43. package/package.json +3 -3
@@ -11,6 +11,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
11
11
  var OrchestrationConfigModule_1, OrchestrationApiModule_1;
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.OrchestrationApiModule = exports.services = exports.repositories = exports.controllers = void 0;
14
+ exports.openStateDatabase = openStateDatabase;
14
15
  const common_1 = require("@nestjs/common");
15
16
  const core_1 = require("@nestjs/core");
16
17
  const event_emitter_1 = require("@nestjs/event-emitter");
@@ -112,6 +113,20 @@ exports.services = [
112
113
  telemetry_service_1.TelemetryService,
113
114
  yucca_service_1.YuccaService,
114
115
  ];
116
+ function openStateDatabase(config, logger = logging_repository_1.LoggingRepository.create('State')) {
117
+ (0, node_fs_1.mkdirSync)(config.statePath, { recursive: true });
118
+ const databasePath = (0, node_path_1.resolve)(config.statePath, 'state.sqlite3');
119
+ if ((0, node_fs_1.existsSync)(databasePath)) {
120
+ logger.log(`Opened existing state database at ${databasePath}`);
121
+ }
122
+ else {
123
+ logger.warn(`No state database at ${databasePath}, creating a new one`);
124
+ }
125
+ const database = new better_sqlite3_1.default(databasePath);
126
+ database.pragma('journal_mode = WAL');
127
+ database.pragma('wal_autocheckpoint = 1');
128
+ return database;
129
+ }
115
130
  let OrchestrationConfigModule = OrchestrationConfigModule_1 = class OrchestrationConfigModule {
116
131
  static forRootAsync(options) {
117
132
  return {
@@ -147,16 +162,9 @@ let OrchestrationApiModule = OrchestrationApiModule_1 = class OrchestrationApiMo
147
162
  namespace: 'orchestrator',
148
163
  imports: [configModule],
149
164
  inject: [moduleConfig_1.ModuleConfigProvider],
150
- useFactory: (config) => {
151
- if (!(0, node_fs_1.existsSync)(config.statePath)) {
152
- (0, node_fs_1.mkdirSync)(config.statePath, { recursive: true });
153
- }
154
- const database = new better_sqlite3_1.default((0, node_path_1.resolve)(config.statePath, 'state.sqlite3'));
155
- database.pragma('journal_mode = WAL');
156
- return {
157
- dialect: new kysely_1.SqliteDialect({ database }),
158
- };
159
- },
165
+ useFactory: (config) => ({
166
+ dialect: new kysely_1.SqliteDialect({ database: openStateDatabase(config) }),
167
+ }),
160
168
  }),
161
169
  event_emitter_1.EventEmitterModule.forRoot(),
162
170
  jwt_1.JwtModule.register({}),
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrationApi.module.js","sourceRoot":"","sources":["../src/orchestrationApi.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrationApi.module.js","sourceRoot":"","sources":["../src/orchestrationApi.module.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,19 @@
1
1
  import { Kysely } from 'kysely';
2
+ import { type ModuleConfig } from '../moduleConfig';
2
3
  import { DB } from '../schema';
4
+ import { LoggingRepository } from './logging.repository';
3
5
  export type ResticPlacement = {
4
6
  siteCode: string | null;
5
7
  storageClusterCode: string | null;
6
8
  };
7
9
  export declare class ConfigRepository {
8
10
  private db;
9
- constructor(db: Kysely<DB>);
11
+ private moduleConfig;
12
+ private readonly logger;
13
+ constructor(db: Kysely<DB>, moduleConfig: ModuleConfig, logger: LoggingRepository);
10
14
  bootstrap(): Promise<void>;
15
+ private assertStateIsEmpty;
16
+ private recordStatePath;
11
17
  private set;
12
18
  private get;
13
19
  private getOptional;
@@ -11,6 +11,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
+ var ConfigRepository_1;
14
15
  Object.defineProperty(exports, "__esModule", { value: true });
15
16
  exports.ConfigRepository = void 0;
16
17
  const common_1 = require("@nestjs/common");
@@ -18,23 +19,59 @@ const kysely_1 = require("kysely");
18
19
  const nestjs_kysely_1 = require("nestjs-kysely");
19
20
  const node_crypto_1 = require("node:crypto");
20
21
  const node_os_1 = require("node:os");
22
+ const node_path_1 = require("node:path");
21
23
  const enum_1 = require("../enum");
24
+ const moduleConfig_1 = require("../moduleConfig");
22
25
  const wellKnown_1 = require("../wellKnown");
23
- let ConfigRepository = class ConfigRepository {
26
+ const logging_repository_1 = require("./logging.repository");
27
+ let ConfigRepository = ConfigRepository_1 = class ConfigRepository {
24
28
  db;
25
- constructor(db) {
29
+ moduleConfig;
30
+ logger;
31
+ constructor(db, moduleConfig, logger) {
26
32
  this.db = db;
33
+ this.moduleConfig = moduleConfig;
34
+ this.logger = logger;
35
+ this.logger.setContext(ConfigRepository_1.name);
27
36
  }
28
37
  async bootstrap() {
38
+ const statePath = (0, node_path_1.resolve)(this.moduleConfig.statePath);
29
39
  const hasKey = await this.hasEncryptionKey();
30
40
  if (!hasKey) {
41
+ await this.assertStateIsEmpty(statePath);
42
+ this.logger.warn(`Generating a new master encryption key for the state in ${statePath}. Backups written with a previous key cannot be decrypted with this one.`);
31
43
  await this.set(enum_1.ConfigurationKey.EncryptionKey, (0, node_crypto_1.randomBytes)(32).toString('hex'));
32
44
  }
45
+ await this.recordStatePath(statePath);
33
46
  const hasSecret = await this.hasSessionSecret();
34
47
  if (!hasSecret) {
35
48
  await this.set(enum_1.ConfigurationKey.SessionSecret, (0, node_crypto_1.randomBytes)(32).toString('hex'));
36
49
  }
37
50
  }
51
+ async assertStateIsEmpty(statePath) {
52
+ const [{ backends }] = await this.db
53
+ .selectFrom('backends')
54
+ .select((eb) => eb.fn.countAll().as('backends'))
55
+ .execute();
56
+ const [{ repositories }] = await this.db
57
+ .selectFrom('repositories')
58
+ .select((eb) => eb.fn.countAll().as('repositories'))
59
+ .execute();
60
+ if (backends === 0 && repositories === 0) {
61
+ return;
62
+ }
63
+ throw new Error(`The state in ${statePath} has ${backends} backend(s) and ${repositories} repository(ies) but no master encryption key. Refusing to generate one, as that would make those backups undecryptable. Restore the original state database.`);
64
+ }
65
+ async recordStatePath(statePath) {
66
+ const previous = await this.getOptional(enum_1.ConfigurationKey.StatePath);
67
+ if (previous === statePath) {
68
+ return;
69
+ }
70
+ if (previous) {
71
+ this.logger.warn(`The state database was created in ${previous} but is being opened from ${statePath}. If the original directory is still populated, two installations are now diverging.`);
72
+ }
73
+ await this.set(enum_1.ConfigurationKey.StatePath, statePath);
74
+ }
38
75
  async set(key, value) {
39
76
  await this.db
40
77
  .insertInto('config')
@@ -121,9 +158,10 @@ let ConfigRepository = class ConfigRepository {
121
158
  }
122
159
  };
123
160
  exports.ConfigRepository = ConfigRepository;
124
- exports.ConfigRepository = ConfigRepository = __decorate([
161
+ exports.ConfigRepository = ConfigRepository = ConfigRepository_1 = __decorate([
125
162
  (0, common_1.Injectable)(),
126
163
  __param(0, (0, nestjs_kysely_1.InjectKysely)('orchestrator')),
127
- __metadata("design:paramtypes", [kysely_1.Kysely])
164
+ __param(1, (0, common_1.Inject)(moduleConfig_1.ModuleConfigProvider)),
165
+ __metadata("design:paramtypes", [kysely_1.Kysely, Object, logging_repository_1.LoggingRepository])
128
166
  ], ConfigRepository);
129
167
  //# sourceMappingURL=config.repository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.repository.js","sourceRoot":"","sources":["../../src/repositories/config.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.repository.js","sourceRoot":"","sources":["../../src/repositories/config.repository.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,12 @@ import { Writable } from 'node:stream';
2
2
  import { RepositorySnapshotRestoreRequestDto } from '../dto/repository.dto';
3
3
  import { RetentionPolicy } from '../utils/restic';
4
4
  import { ConfigRepository, ResticPlacement } from './config.repository';
5
+ import { ModuleConfigRepository } from './moduleConfig.repository';
5
6
  export declare class ResticRepository {
6
7
  private readonly config;
7
- constructor(config: ConfigRepository);
8
+ private readonly moduleConfig;
9
+ constructor(config: ConfigRepository, moduleConfig: ModuleConfigRepository);
10
+ private get cacheDir();
8
11
  init(repository: string, key: Uint8Array, placement: ResticPlacement): Promise<void>;
9
12
  backup(repository: string, key: Uint8Array, placement: ResticPlacement, paths: string[], logStream?: Writable, signal?: AbortSignal, tags?: string[]): Promise<{
10
13
  message_type: "summary";
@@ -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
- constructor(config) {
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":"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"}
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<void>;
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
- await this.db
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 { RunHistoryRepository } from '../repositories/runHistory.repository';
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
- constructor(database: DatabaseRepository, config: ConfigRepository, schedule: ScheduleService, runHistoryRepository: RunHistoryRepository, bootstrap: BootstrapRepository);
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 runHistory_repository_1 = require("../repositories/runHistory.repository");
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
- constructor(database, config, schedule, runHistoryRepository, bootstrap) {
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.runHistoryRepository.markIncompleteAsFailed();
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
- runHistory_repository_1.RunHistoryRepository,
52
- bootstrap_repository_1.BootstrapRepository])
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,iFAA6E;AAC7E,yDAAqD;AAG9C,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAER;IACA;IACA;IACA;IACA;IALnB,YACmB,QAA4B,EAC5B,MAAwB,EACxB,QAAyB,EACzB,oBAA0C,EAC1C,SAA8B;QAJ9B,aAAQ,GAAR,QAAQ,CAAoB;QAC5B,WAAM,GAAN,MAAM,CAAkB;QACxB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,cAAS,GAAT,SAAS,CAAqB;IAC9C,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,oBAAoB,CAAC,sBAAsB,EAAE,CAAC;YAEzD,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;QACH,4CAAoB;QAC/B,0CAAmB;GANtC,gBAAgB,CAqB5B"}
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
- configureImmichIntegration(dto: ConfigureImmichIntegrationRequestDto): Promise<void>;
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
  }>;