@futo-org/backups-orchestrator-api 0.42.0 → 0.43.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.
@@ -12,6 +12,11 @@ export declare class ConfigRepository {
12
12
  private readonly logger;
13
13
  constructor(db: Kysely<DB>, moduleConfig: ModuleConfig, logger: LoggingRepository);
14
14
  bootstrap(): Promise<void>;
15
+ getStateSummary(): Promise<{
16
+ backends: number;
17
+ repositories: number;
18
+ activeSchedules: number;
19
+ }>;
15
20
  private assertStateIsEmpty;
16
21
  private recordStatePath;
17
22
  private set;
@@ -48,7 +48,7 @@ let ConfigRepository = ConfigRepository_1 = class ConfigRepository {
48
48
  await this.set(enum_1.ConfigurationKey.SessionSecret, (0, node_crypto_1.randomBytes)(32).toString('hex'));
49
49
  }
50
50
  }
51
- async assertStateIsEmpty(statePath) {
51
+ async getStateSummary() {
52
52
  const [{ backends }] = await this.db
53
53
  .selectFrom('backends')
54
54
  .select((eb) => eb.fn.countAll().as('backends'))
@@ -57,6 +57,15 @@ let ConfigRepository = ConfigRepository_1 = class ConfigRepository {
57
57
  .selectFrom('repositories')
58
58
  .select((eb) => eb.fn.countAll().as('repositories'))
59
59
  .execute();
60
+ const [{ activeSchedules }] = await this.db
61
+ .selectFrom('schedules')
62
+ .where('paused', '!=', 1)
63
+ .select((eb) => eb.fn.countAll().as('activeSchedules'))
64
+ .execute();
65
+ return { backends, repositories, activeSchedules };
66
+ }
67
+ async assertStateIsEmpty(statePath) {
68
+ const { backends, repositories } = await this.getStateSummary();
60
69
  if (backends === 0 && repositories === 0) {
61
70
  return;
62
71
  }
@@ -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,14 +2,16 @@ 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 { LoggingRepository } from '../repositories/logging.repository';
5
6
  import { RunHistoryService } from './runHistory.service';
6
7
  import { ScheduleService } from './schedule.service';
7
8
  export declare class BootstrapService implements OnApplicationBootstrap {
9
+ private readonly logger;
8
10
  private readonly database;
9
11
  private readonly config;
10
12
  private readonly schedule;
11
13
  private readonly bootstrap;
12
14
  private readonly runHistory;
13
- constructor(database: DatabaseRepository, config: ConfigRepository, schedule: ScheduleService, bootstrap: BootstrapRepository, runHistory: RunHistoryService);
15
+ constructor(logger: LoggingRepository, database: DatabaseRepository, config: ConfigRepository, schedule: ScheduleService, bootstrap: BootstrapRepository, runHistory: RunHistoryService);
14
16
  onApplicationBootstrap(): Promise<void>;
15
17
  }
@@ -8,26 +8,31 @@ 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 BootstrapService_1;
11
12
  Object.defineProperty(exports, "__esModule", { value: true });
12
13
  exports.BootstrapService = void 0;
13
14
  const common_1 = require("@nestjs/common");
14
15
  const bootstrap_repository_1 = require("../repositories/bootstrap.repository");
15
16
  const config_repository_1 = require("../repositories/config.repository");
16
17
  const database_repository_1 = require("../repositories/database.repository");
18
+ const logging_repository_1 = require("../repositories/logging.repository");
17
19
  const runHistory_service_1 = require("./runHistory.service");
18
20
  const schedule_service_1 = require("./schedule.service");
19
- let BootstrapService = class BootstrapService {
21
+ let BootstrapService = BootstrapService_1 = class BootstrapService {
22
+ logger;
20
23
  database;
21
24
  config;
22
25
  schedule;
23
26
  bootstrap;
24
27
  runHistory;
25
- constructor(database, config, schedule, bootstrap, runHistory) {
28
+ constructor(logger, database, config, schedule, bootstrap, runHistory) {
29
+ this.logger = logger;
26
30
  this.database = database;
27
31
  this.config = config;
28
32
  this.schedule = schedule;
29
33
  this.bootstrap = bootstrap;
30
34
  this.runHistory = runHistory;
35
+ this.logger.setContext(BootstrapService_1.name);
31
36
  }
32
37
  async onApplicationBootstrap() {
33
38
  try {
@@ -35,17 +40,22 @@ let BootstrapService = class BootstrapService {
35
40
  await this.config.bootstrap();
36
41
  await this.schedule.bootstrap();
37
42
  await this.runHistory.reconcileInterruptedRuns();
43
+ const { backends, repositories, activeSchedules } = await this.config.getStateSummary();
44
+ this.logger.log('Successfully finished FUTO Backups bootstrap.');
45
+ this.logger.log(`Found ${backends} ${backends === 1 ? 'backend' : 'backends'}, ${repositories} ${repositories === 1 ? 'repository' : 'repositories'}, and ${activeSchedules} active ${activeSchedules === 1 ? 'schedule' : 'schedules'}.`);
38
46
  this.bootstrap.markReady();
39
47
  }
40
48
  catch (error) {
49
+ this.logger.error('Failed to initialise FUTO Backups with cause:', error);
41
50
  this.bootstrap.markFailed(error);
42
51
  }
43
52
  }
44
53
  };
45
54
  exports.BootstrapService = BootstrapService;
46
- exports.BootstrapService = BootstrapService = __decorate([
55
+ exports.BootstrapService = BootstrapService = BootstrapService_1 = __decorate([
47
56
  (0, common_1.Injectable)(),
48
- __metadata("design:paramtypes", [database_repository_1.DatabaseRepository,
57
+ __metadata("design:paramtypes", [logging_repository_1.LoggingRepository,
58
+ database_repository_1.DatabaseRepository,
49
59
  config_repository_1.ConfigRepository,
50
60
  schedule_service_1.ScheduleService,
51
61
  bootstrap_repository_1.BootstrapRepository,
@@ -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,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
+ {"version":3,"file":"bootstrap.service.js","sourceRoot":"","sources":["../../src/services/bootstrap.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoE;AACpE,+EAA2E;AAC3E,yEAAqE;AACrE,6EAAyE;AACzE,2EAAuE;AACvE,6DAAyD;AACzD,yDAAqD;AAG9C,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAER;IACA;IACA;IACA;IACA;IACA;IANnB,YACmB,MAAyB,EACzB,QAA4B,EAC5B,MAAwB,EACxB,QAAyB,EACzB,SAA8B,EAC9B,UAA6B;QAL7B,WAAM,GAAN,MAAM,CAAmB;QACzB,aAAQ,GAAR,QAAQ,CAAoB;QAC5B,WAAM,GAAN,MAAM,CAAkB;QACxB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,cAAS,GAAT,SAAS,CAAqB;QAC9B,eAAU,GAAV,UAAU,CAAmB;QAE9C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAgB,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,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,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YACxF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,SAAS,QAAQ,IAAI,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,KAAK,YAAY,IAAI,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,SAAS,eAAe,WAAW,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,GAAG,CAC1N,CAAC;YAEF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAC;YAC1E,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CACF,CAAA;AA/BY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;qCAGgB,sCAAiB;QACf,wCAAkB;QACpB,oCAAgB;QACd,kCAAe;QACd,0CAAmB;QAClB,sCAAiB;GAPrC,gBAAgB,CA+B5B"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@futo-org/backups-orchestrator-api",
3
3
  "repository": "https://github.com/immich-app/yucca",
4
- "version": "0.42.0",
4
+ "version": "0.43.0",
5
5
  "description": "Backups orchestrator (API)",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -34,7 +34,7 @@
34
34
  "socket.io": "^4.8.3",
35
35
  "tail": "^2.2.6",
36
36
  "zod": "4.4.3",
37
- "@futo-org/backups-api-client": "^0.42.0"
37
+ "@futo-org/backups-api-client": "^0.43.0"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@nestjs/cli": "^11.0.14",