@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.
- 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/enum.d.ts +2 -1
- package/dist/enum.js +1 -0
- package/dist/enum.js.map +1 -1
- package/dist/orchestrationApi.module.d.ts +3 -1
- package/dist/orchestrationApi.module.js +18 -10
- package/dist/orchestrationApi.module.js.map +1 -1
- package/dist/repositories/config.repository.d.ts +7 -1
- package/dist/repositories/config.repository.js +42 -4
- package/dist/repositories/config.repository.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
|
@@ -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
|
-
|
|
152
|
-
|
|
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":";;;;;;;;;;;;;
|
|
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
|
-
|
|
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
|
-
|
|
26
|
+
const logging_repository_1 = require("./logging.repository");
|
|
27
|
+
let ConfigRepository = ConfigRepository_1 = class ConfigRepository {
|
|
24
28
|
db;
|
|
25
|
-
|
|
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
|
-
|
|
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":"
|
|
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
|
-
|
|
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
|
-
|
|
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
|
}>;
|