@futo-org/backups-orchestrator-api 0.25.0 → 0.27.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/backends/local.backend.js +6 -0
- package/dist/backends/local.backend.js.map +1 -1
- package/dist/orchestrationApi.module.d.ts +1 -1
- package/dist/services/auth.service.d.ts +7 -1
- package/dist/services/auth.service.js +59 -5
- package/dist/services/auth.service.js.map +1 -1
- package/package.json +2 -2
|
@@ -30,6 +30,8 @@ class LocalBackend extends backend_1.Backend {
|
|
|
30
30
|
worm: dto.worm,
|
|
31
31
|
siteCode: null,
|
|
32
32
|
storageClusterCode: null,
|
|
33
|
+
connectionId: '',
|
|
34
|
+
connectionType: 'local',
|
|
33
35
|
metrics: {
|
|
34
36
|
sizeBytes: 0,
|
|
35
37
|
},
|
|
@@ -44,6 +46,8 @@ class LocalBackend extends backend_1.Backend {
|
|
|
44
46
|
worm: false,
|
|
45
47
|
siteCode: null,
|
|
46
48
|
storageClusterCode: null,
|
|
49
|
+
connectionId: '',
|
|
50
|
+
connectionType: 'local',
|
|
47
51
|
metrics: {
|
|
48
52
|
sizeBytes: 0,
|
|
49
53
|
},
|
|
@@ -70,6 +74,8 @@ class LocalBackend extends backend_1.Backend {
|
|
|
70
74
|
worm: false,
|
|
71
75
|
siteCode: null,
|
|
72
76
|
storageClusterCode: null,
|
|
77
|
+
connectionId: '',
|
|
78
|
+
connectionType: 'local',
|
|
73
79
|
metrics: {
|
|
74
80
|
sizeBytes: 0,
|
|
75
81
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.backend.js","sourceRoot":"","sources":["../../src/backends/local.backend.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"local.backend.js","sourceRoot":"","sources":["../../src/backends/local.backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,7 +39,7 @@ import { ScheduleService } from './services/schedule.service';
|
|
|
39
39
|
import { TelemetryService } from './services/telemetry.service';
|
|
40
40
|
import { YuccaService } from './services/yucca.service';
|
|
41
41
|
export declare const controllers: (typeof AuthController | typeof BackendController | typeof DevelopmentController | typeof FilesystemController | typeof IntegrationsController | typeof OnboardingController | typeof RepositoryController | typeof RunHistoryController | typeof RunningTasksController | typeof ScheduleController)[];
|
|
42
|
-
export declare const repositories: (typeof ModuleConfigRepository | typeof LoggingRepository | typeof BackendRepository | typeof ConfigRepository | typeof BootstrapRepository | typeof StorageRepository | typeof DatabaseRepository | typeof RunHistoryRepository | typeof RepositoryIntegrationImmichRepository | typeof RunningTasksRepository | typeof ScheduleRepository | typeof
|
|
42
|
+
export declare const repositories: (typeof ModuleConfigRepository | typeof LoggingRepository | typeof BackendRepository | typeof ConfigRepository | typeof RepositoryRepository | typeof BootstrapRepository | typeof StorageRepository | typeof DatabaseRepository | typeof RunHistoryRepository | typeof RepositoryIntegrationImmichRepository | typeof RunningTasksRepository | typeof ScheduleRepository | typeof RepositoryLocalMetricsRepository | typeof RepositoryPathRepository | typeof ResticRepository)[];
|
|
43
43
|
export declare const services: (typeof TelemetryService | typeof AuthService | typeof BackendService | typeof RepositoryService | typeof BootstrapService | typeof ScheduleService | typeof DevelopmentService | typeof FilesystemService | typeof IntegrationsService | typeof OnboardingService | typeof RunningTasksService | typeof RunHistoryService | typeof YuccaService)[];
|
|
44
44
|
export interface OrchestrationApiModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
|
|
45
45
|
inject?: FactoryProvider['inject'];
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { EventsGateway } from '../events/events.gateway';
|
|
2
2
|
import { BackendRepository } from '../repositories/backend.repository';
|
|
3
3
|
import { ConfigRepository } from '../repositories/config.repository';
|
|
4
|
+
import { ModuleConfigRepository } from '../repositories/moduleConfig.repository';
|
|
5
|
+
import { RepositoryRepository } from '../repositories/repository.repository';
|
|
4
6
|
import { TelemetryService } from './telemetry.service';
|
|
5
7
|
export declare class AuthService {
|
|
6
8
|
readonly config: ConfigRepository;
|
|
7
9
|
readonly backend: BackendRepository;
|
|
10
|
+
readonly moduleConfig: ModuleConfigRepository;
|
|
8
11
|
readonly events: EventsGateway;
|
|
9
12
|
readonly telemetry: TelemetryService;
|
|
10
|
-
|
|
13
|
+
readonly repository: RepositoryRepository;
|
|
14
|
+
constructor(config: ConfigRepository, backend: BackendRepository, moduleConfig: ModuleConfigRepository, events: EventsGateway, telemetry: TelemetryService, repository: RepositoryRepository);
|
|
15
|
+
private connectionName;
|
|
16
|
+
private adoptOwnRepositories;
|
|
11
17
|
private waitForDeviceFlow;
|
|
12
18
|
oidcDeviceFlow(): Promise<{
|
|
13
19
|
userCode: string;
|
|
@@ -10,27 +10,74 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.AuthService = void 0;
|
|
13
|
+
const backups_api_client_1 = require("@futo-org/backups-api-client");
|
|
13
14
|
const common_1 = require("@nestjs/common");
|
|
14
15
|
const eventsource_client_1 = require("eventsource-client");
|
|
16
|
+
const node_os_1 = require("node:os");
|
|
15
17
|
const const_1 = require("../const");
|
|
16
18
|
const enum_1 = require("../enum");
|
|
17
19
|
const events_gateway_1 = require("../events/events.gateway");
|
|
18
20
|
const backend_repository_1 = require("../repositories/backend.repository");
|
|
19
21
|
const config_repository_1 = require("../repositories/config.repository");
|
|
22
|
+
const moduleConfig_repository_1 = require("../repositories/moduleConfig.repository");
|
|
23
|
+
const repository_repository_1 = require("../repositories/repository.repository");
|
|
20
24
|
const wellKnown_1 = require("../wellKnown");
|
|
21
25
|
const telemetry_service_1 = require("./telemetry.service");
|
|
22
26
|
let AuthService = class AuthService {
|
|
23
27
|
config;
|
|
24
28
|
backend;
|
|
29
|
+
moduleConfig;
|
|
25
30
|
events;
|
|
26
31
|
telemetry;
|
|
27
|
-
|
|
32
|
+
repository;
|
|
33
|
+
constructor(config, backend, moduleConfig, events, telemetry, repository) {
|
|
28
34
|
this.config = config;
|
|
29
35
|
this.backend = backend;
|
|
36
|
+
this.moduleConfig = moduleConfig;
|
|
30
37
|
this.events = events;
|
|
31
38
|
this.telemetry = telemetry;
|
|
39
|
+
this.repository = repository;
|
|
32
40
|
}
|
|
33
|
-
|
|
41
|
+
connectionName() {
|
|
42
|
+
const external = this.moduleConfig.get().externalBaseUrl;
|
|
43
|
+
if (external) {
|
|
44
|
+
try {
|
|
45
|
+
return new URL(external).host;
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
return (0, node_os_1.hostname)() || 'immich';
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return (0, node_os_1.hostname)() || 'immich';
|
|
52
|
+
}
|
|
53
|
+
async adoptOwnRepositories(endpoint, accessToken) {
|
|
54
|
+
try {
|
|
55
|
+
const requestOptions = {
|
|
56
|
+
baseUrl: endpoint,
|
|
57
|
+
headers: { cookie: `${enum_1.CookieName.YuccaAccessToken}=${accessToken}` },
|
|
58
|
+
};
|
|
59
|
+
const auth = await (0, backups_api_client_1.getAuth)(requestOptions);
|
|
60
|
+
if (!auth.connectionId) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
const repositories = await this.repository.getAll();
|
|
64
|
+
const repositoryIds = repositories
|
|
65
|
+
.filter((row) => row.backendId === const_1.REPOSITORY_DEFAULT_CLOUD_UUID)
|
|
66
|
+
.map((row) => row.remoteId);
|
|
67
|
+
if (repositoryIds.length === 0) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
await (0, backups_api_client_1.adoptRepositories)(auth.connectionId, { repositoryIds }, requestOptions);
|
|
71
|
+
this.telemetry.submitStructuredLog('Adopted repositories into instance connection', {
|
|
72
|
+
connectionId: auth.connectionId,
|
|
73
|
+
count: repositoryIds.length,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
this.telemetry.submitStructuredLog('Repository adoption skipped', { error: String(error) });
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
async waitForDeviceFlow(events, overrideEndpoint, endpoint) {
|
|
34
81
|
for await (const { data } of events) {
|
|
35
82
|
const { type, accessToken } = JSON.parse(data);
|
|
36
83
|
switch (type) {
|
|
@@ -38,7 +85,9 @@ let AuthService = class AuthService {
|
|
|
38
85
|
await this.backend.updateBackend(const_1.REPOSITORY_DEFAULT_CLOUD_UUID, {
|
|
39
86
|
type: enum_1.BackendType.Yucca,
|
|
40
87
|
accessToken,
|
|
88
|
+
url: overrideEndpoint,
|
|
41
89
|
});
|
|
90
|
+
await this.adoptOwnRepositories(endpoint, accessToken);
|
|
42
91
|
this.telemetry.submitStructuredLog('Connected FUTO Backups backend', {
|
|
43
92
|
backendId: const_1.REPOSITORY_DEFAULT_CLOUD_UUID,
|
|
44
93
|
});
|
|
@@ -66,15 +115,18 @@ let AuthService = class AuthService {
|
|
|
66
115
|
}
|
|
67
116
|
async oidcDeviceFlow() {
|
|
68
117
|
const endpoint = await wellKnown_1.yuccaWellKnown.getBaseUrl();
|
|
118
|
+
const url = new URL('/api/auth/oidc/device', endpoint);
|
|
119
|
+
url.searchParams.set('connection_type', 'immich');
|
|
120
|
+
url.searchParams.set('connection_name', this.connectionName());
|
|
69
121
|
const events = (0, eventsource_client_1.createEventSource)({
|
|
70
|
-
url
|
|
122
|
+
url,
|
|
71
123
|
onDisconnect: () => events.close(),
|
|
72
124
|
});
|
|
73
125
|
const connectTimeout = setTimeout(() => events.close(), 10_000);
|
|
74
126
|
for await (const { data } of events) {
|
|
75
127
|
clearTimeout(connectTimeout);
|
|
76
128
|
const { userCode, verificationUri } = JSON.parse(data);
|
|
77
|
-
void this.waitForDeviceFlow(events).catch((error) => {
|
|
129
|
+
void this.waitForDeviceFlow(events, undefined, endpoint).catch((error) => {
|
|
78
130
|
this.telemetry.submitStructuredLog('Device flow authentication errored', { error });
|
|
79
131
|
this.events.publish({ type: 'DeviceFlowFailure' });
|
|
80
132
|
});
|
|
@@ -91,7 +143,9 @@ exports.AuthService = AuthService = __decorate([
|
|
|
91
143
|
(0, common_1.Injectable)(),
|
|
92
144
|
__metadata("design:paramtypes", [config_repository_1.ConfigRepository,
|
|
93
145
|
backend_repository_1.BackendRepository,
|
|
146
|
+
moduleConfig_repository_1.ModuleConfigRepository,
|
|
94
147
|
events_gateway_1.EventsGateway,
|
|
95
|
-
telemetry_service_1.TelemetryService
|
|
148
|
+
telemetry_service_1.TelemetryService,
|
|
149
|
+
repository_repository_1.RepositoryRepository])
|
|
96
150
|
], AuthService);
|
|
97
151
|
//# sourceMappingURL=auth.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA0E;AAC1E,2DAA0E;AAC1E,oCAAyD;AACzD,
|
|
1
|
+
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"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"}
|
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.
|
|
4
|
+
"version": "0.27.0",
|
|
5
5
|
"description": "Backups orchestrator (API)",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"socket.io": "^4.8.3",
|
|
33
33
|
"tail": "^2.2.6",
|
|
34
34
|
"zod": "^4.3.5",
|
|
35
|
-
"@futo-org/backups-api-client": "^0.
|
|
35
|
+
"@futo-org/backups-api-client": "^0.27.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@nestjs/cli": "^11.0.14",
|