@futo-org/backups-orchestrator-api 0.3.1 → 0.4.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/backend.d.ts +2 -2
- package/dist/backends/backend.js +2 -5
- package/dist/backends/backend.js.map +1 -1
- package/dist/backends/local.backend.d.ts +1 -0
- package/dist/backends/local.backend.js +3 -0
- package/dist/backends/local.backend.js.map +1 -1
- package/dist/backends/s3.backend.d.ts +1 -0
- package/dist/backends/s3.backend.js +3 -0
- package/dist/backends/s3.backend.js.map +1 -1
- package/dist/backends/yucca.backend.d.ts +19 -3
- package/dist/backends/yucca.backend.js +47 -22
- package/dist/backends/yucca.backend.js.map +1 -1
- package/dist/const.d.ts +2 -1
- package/dist/const.js +3 -2
- package/dist/const.js.map +1 -1
- package/dist/controllers/onboarding.controller.d.ts +2 -0
- package/dist/controllers/onboarding.controller.js +18 -0
- package/dist/controllers/onboarding.controller.js.map +1 -1
- package/dist/dto/onboarding.dto.d.ts +4 -0
- package/dist/dto/onboarding.dto.js +16 -0
- package/dist/dto/onboarding.dto.js.map +1 -1
- package/dist/enum.d.ts +10 -0
- package/dist/enum.js +13 -1
- package/dist/enum.js.map +1 -1
- package/dist/interceptors/telemetry-error.interceptor.d.ts +8 -0
- package/dist/interceptors/telemetry-error.interceptor.js +47 -0
- package/dist/interceptors/telemetry-error.interceptor.js.map +1 -0
- package/dist/moduleConfig.d.ts +1 -1
- package/dist/orchestrationApi.module.d.ts +5 -3
- package/dist/orchestrationApi.module.js +13 -4
- package/dist/orchestrationApi.module.js.map +1 -1
- package/dist/repositories/backend.repository.d.ts +2 -0
- package/dist/repositories/backend.repository.js +8 -3
- package/dist/repositories/backend.repository.js.map +1 -1
- package/dist/repositories/bootstrap.repository.d.ts +9 -0
- package/dist/repositories/bootstrap.repository.js +33 -0
- package/dist/repositories/bootstrap.repository.js.map +1 -0
- package/dist/repositories/config.repository.d.ts +2 -0
- package/dist/repositories/config.repository.js +6 -0
- package/dist/repositories/config.repository.js.map +1 -1
- package/dist/repositories/restic.repository.d.ts +32 -3
- package/dist/repositories/restic.repository.js +3 -7
- package/dist/repositories/restic.repository.js.map +1 -1
- package/dist/schema/tables/backend.table.d.ts +1 -0
- package/dist/schema/tables/backend.table.js.map +1 -1
- package/dist/services/auth.service.d.ts +3 -1
- package/dist/services/auth.service.js +19 -7
- package/dist/services/auth.service.js.map +1 -1
- package/dist/services/backend.service.d.ts +3 -3
- package/dist/services/backend.service.js +12 -8
- package/dist/services/backend.service.js.map +1 -1
- package/dist/services/bootstrap.service.d.ts +3 -1
- package/dist/services/bootstrap.service.js +16 -6
- package/dist/services/bootstrap.service.js.map +1 -1
- package/dist/services/integrations.service.d.ts +3 -1
- package/dist/services/integrations.service.js +10 -2
- package/dist/services/integrations.service.js.map +1 -1
- package/dist/services/onboarding.service.d.ts +7 -1
- package/dist/services/onboarding.service.js +37 -2
- package/dist/services/onboarding.service.js.map +1 -1
- package/dist/services/repository.service.d.ts +3 -1
- package/dist/services/repository.service.js +178 -75
- package/dist/services/repository.service.js.map +1 -1
- package/dist/services/schedule.service.d.ts +3 -1
- package/dist/services/schedule.service.js +26 -2
- package/dist/services/schedule.service.js.map +1 -1
- package/dist/services/telemetry.service.d.ts +9 -0
- package/dist/services/telemetry.service.js +59 -0
- package/dist/services/telemetry.service.js.map +1 -0
- package/package.json +3 -3
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { RepositoryCreateRequestDto, RepositoryCreateResponseDto, RepositoryGetResponseDto, RepositoryListResponseDto, RepositoryUpdateRequestDto, RepositoryUpdateResponseDto } from '@futo-org/backups-api-client';
|
|
2
|
-
import { ModuleConfig } from '../moduleConfig';
|
|
3
2
|
import { BackendConfiguration } from '../schema/tables/backend.table';
|
|
4
3
|
export declare abstract class Backend {
|
|
5
4
|
protected readonly configuration: BackendConfiguration;
|
|
@@ -16,7 +15,8 @@ export declare abstract class Backend {
|
|
|
16
15
|
abstract submitMetricBackupStart(id: string): Promise<void>;
|
|
17
16
|
abstract submitMetricBackupEnd(id: string, success: boolean, duration: number): Promise<void>;
|
|
18
17
|
abstract submitMetricRepositorySize(id: string, size: number): Promise<void>;
|
|
19
|
-
|
|
18
|
+
abstract submitStructuredLog(summary: string, data: object): void;
|
|
19
|
+
static from(configuration: BackendConfiguration): LocalBackend | S3Backend | YuccaBackend;
|
|
20
20
|
}
|
|
21
21
|
import { LocalBackend } from './local.backend';
|
|
22
22
|
import { S3Backend } from './s3.backend';
|
package/dist/backends/backend.js
CHANGED
|
@@ -7,13 +7,10 @@ class Backend {
|
|
|
7
7
|
constructor(configuration) {
|
|
8
8
|
this.configuration = configuration;
|
|
9
9
|
}
|
|
10
|
-
static from(configuration
|
|
10
|
+
static from(configuration) {
|
|
11
11
|
switch (configuration.type) {
|
|
12
12
|
case enum_1.BackendType.Yucca: {
|
|
13
|
-
return new yucca_backend_1.YuccaBackend(
|
|
14
|
-
url: moduleConfig.yuccaProductionApi,
|
|
15
|
-
...configuration,
|
|
16
|
-
});
|
|
13
|
+
return new yucca_backend_1.YuccaBackend(configuration);
|
|
17
14
|
}
|
|
18
15
|
case enum_1.BackendType.Local: {
|
|
19
16
|
return new local_backend_1.LocalBackend(configuration);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/backends/backend.ts"],"names":[],"mappings":";;;AAQA,kCAAsC;
|
|
1
|
+
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/backends/backend.ts"],"names":[],"mappings":";;;AAQA,kCAAsC;AAGtC,MAAsB,OAAO;IACI;IAA/B,YAA+B,aAAmC;QAAnC,kBAAa,GAAb,aAAa,CAAsB;IAAG,CAAC;IAmBtE,MAAM,CAAC,IAAI,CAAC,aAAmC;QAC7C,QAAQ,aAAa,CAAC,IAAI,EAAE,CAAC;YAC3B,KAAK,kBAAW,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvB,OAAO,IAAI,4BAAY,CAAC,aAAa,CAAC,CAAC;YACzC,CAAC;YACD,KAAK,kBAAW,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvB,OAAO,IAAI,4BAAY,CAAC,aAAa,CAAC,CAAC;YACzC,CAAC;YACD,KAAK,kBAAW,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpB,OAAO,IAAI,sBAAS,CAAC,aAAa,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAjCD,0BAiCC;AAED,mDAA+C;AAC/C,6CAAyC;AACzC,mDAA+C"}
|
|
@@ -87,6 +87,9 @@ class LocalBackend extends backend_1.Backend {
|
|
|
87
87
|
submitMetricRepositorySize() {
|
|
88
88
|
throw new Error('not capable');
|
|
89
89
|
}
|
|
90
|
+
submitStructuredLog() {
|
|
91
|
+
throw new Error('not capable');
|
|
92
|
+
}
|
|
90
93
|
}
|
|
91
94
|
exports.LocalBackend = LocalBackend;
|
|
92
95
|
//# sourceMappingURL=local.backend.js.map
|
|
@@ -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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"}
|
|
@@ -42,6 +42,9 @@ class S3Backend extends backend_1.Backend {
|
|
|
42
42
|
submitMetricRepositorySize() {
|
|
43
43
|
throw new Error('not capable');
|
|
44
44
|
}
|
|
45
|
+
submitStructuredLog() {
|
|
46
|
+
throw new Error('not capable');
|
|
47
|
+
}
|
|
45
48
|
}
|
|
46
49
|
exports.S3Backend = S3Backend;
|
|
47
50
|
//# sourceMappingURL=s3.backend.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3.backend.js","sourceRoot":"","sources":["../../src/backends/s3.backend.ts"],"names":[],"mappings":";;;AAYA,uCAAoC;AAEpC,MAAa,SAAU,SAAQ,iBAAO;IACL;IAA/B,YAA+B,aAA8D;QAC3F,KAAK,CAAC,aAAa,CAAC,CAAC;QADQ,kBAAa,GAAb,aAAa,CAAiD;IAE7F,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,WAAW,KAAmB,CAAC;IAErC,gBAAgB,CAAC,IAAgC;QAC/C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,gBAAgB,CAAC,GAAW,EAAE,IAAgC;QAC5D,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,aAAa,CAAC,GAAW;QACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,eAAe;QACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAAW;QAChC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,EAAU;QAEhC,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;IACnD,CAAC;IAED,uBAAuB;QACrB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAED,qBAAqB;QACnB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAED,0BAA0B;QACxB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"s3.backend.js","sourceRoot":"","sources":["../../src/backends/s3.backend.ts"],"names":[],"mappings":";;;AAYA,uCAAoC;AAEpC,MAAa,SAAU,SAAQ,iBAAO;IACL;IAA/B,YAA+B,aAA8D;QAC3F,KAAK,CAAC,aAAa,CAAC,CAAC;QADQ,kBAAa,GAAb,aAAa,CAAiD;IAE7F,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,WAAW,KAAmB,CAAC;IAErC,gBAAgB,CAAC,IAAgC;QAC/C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,gBAAgB,CAAC,GAAW,EAAE,IAAgC;QAC5D,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,aAAa,CAAC,GAAW;QACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,eAAe;QACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAAW;QAChC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,EAAU;QAEhC,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;IACnD,CAAC;IAED,uBAAuB;QACrB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAED,qBAAqB;QACnB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAED,0BAA0B;QACxB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAED,mBAAmB;QACjB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;CACF;AAvDD,8BAuDC"}
|
|
@@ -2,16 +2,30 @@ import { RepositoryCreateRequestDto, RepositoryUpdateRequestDto } from '@futo-or
|
|
|
2
2
|
import { BackendType } from '../enum';
|
|
3
3
|
import { BackendConfiguration } from '../schema/tables/backend.table';
|
|
4
4
|
import { Backend } from './backend';
|
|
5
|
+
type WellKnown = {
|
|
6
|
+
backends: Record<string, {
|
|
7
|
+
displayName: string;
|
|
8
|
+
api: string;
|
|
9
|
+
}>;
|
|
10
|
+
defaultBackend: string;
|
|
11
|
+
};
|
|
12
|
+
declare class YuccaWellKnown {
|
|
13
|
+
private data?;
|
|
14
|
+
get(): Promise<WellKnown>;
|
|
15
|
+
getBaseUrlById(id: string): Promise<string>;
|
|
16
|
+
getBaseUrl(): Promise<string>;
|
|
17
|
+
}
|
|
18
|
+
export declare const yuccaWellKnown: YuccaWellKnown;
|
|
5
19
|
export declare class YuccaBackend extends Backend {
|
|
6
20
|
protected readonly configuration: BackendConfiguration & {
|
|
7
21
|
type: BackendType.Yucca;
|
|
8
|
-
url
|
|
22
|
+
url?: string;
|
|
9
23
|
};
|
|
10
24
|
constructor(configuration: BackendConfiguration & {
|
|
11
25
|
type: BackendType.Yucca;
|
|
12
|
-
url
|
|
26
|
+
url?: string;
|
|
13
27
|
});
|
|
14
|
-
private
|
|
28
|
+
private getRequestOptions;
|
|
15
29
|
isBackupCapable(): boolean;
|
|
16
30
|
isMetricsCapable(): boolean;
|
|
17
31
|
checkOnline(): Promise<void>;
|
|
@@ -24,4 +38,6 @@ export declare class YuccaBackend extends Backend {
|
|
|
24
38
|
submitMetricBackupStart(id: string): Promise<void>;
|
|
25
39
|
submitMetricBackupEnd(id: string, success: boolean, durationMs: number): Promise<void>;
|
|
26
40
|
submitMetricRepositorySize(id: string, sizeBytes: number): Promise<void>;
|
|
41
|
+
submitStructuredLog(summary: string, data: object): void;
|
|
27
42
|
}
|
|
43
|
+
export {};
|
|
@@ -1,18 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.YuccaBackend = void 0;
|
|
3
|
+
exports.YuccaBackend = exports.yuccaWellKnown = void 0;
|
|
4
4
|
const backups_api_client_1 = require("@futo-org/backups-api-client");
|
|
5
|
+
const const_1 = require("../const");
|
|
5
6
|
const enum_1 = require("../enum");
|
|
6
7
|
const backend_1 = require("./backend");
|
|
8
|
+
class YuccaWellKnown {
|
|
9
|
+
data;
|
|
10
|
+
async get() {
|
|
11
|
+
this.data ??= await fetch(const_1.YUCCA_WELL_KNOWN).then((response) => response.json());
|
|
12
|
+
return this.data;
|
|
13
|
+
}
|
|
14
|
+
async getBaseUrlById(id) {
|
|
15
|
+
const { backends } = await this.get();
|
|
16
|
+
return backends[id].api;
|
|
17
|
+
}
|
|
18
|
+
async getBaseUrl() {
|
|
19
|
+
const { backends, defaultBackend } = await this.get();
|
|
20
|
+
return backends[defaultBackend].api;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.yuccaWellKnown = new YuccaWellKnown();
|
|
7
24
|
class YuccaBackend extends backend_1.Backend {
|
|
8
25
|
configuration;
|
|
9
26
|
constructor(configuration) {
|
|
10
27
|
super(configuration);
|
|
11
28
|
this.configuration = configuration;
|
|
12
29
|
}
|
|
13
|
-
|
|
30
|
+
async getRequestOptions() {
|
|
14
31
|
return {
|
|
15
|
-
baseUrl: this.configuration.url
|
|
32
|
+
baseUrl: this.configuration.url ??
|
|
33
|
+
(this.configuration.uuid
|
|
34
|
+
? await exports.yuccaWellKnown.getBaseUrlById(this.configuration.uuid)
|
|
35
|
+
: await exports.yuccaWellKnown.getBaseUrl()),
|
|
16
36
|
headers: {
|
|
17
37
|
cookie: `${enum_1.CookieName.YuccaAccessToken}=${this.configuration.accessToken}`,
|
|
18
38
|
},
|
|
@@ -25,38 +45,43 @@ class YuccaBackend extends backend_1.Backend {
|
|
|
25
45
|
return true;
|
|
26
46
|
}
|
|
27
47
|
async checkOnline() {
|
|
28
|
-
await (0, backups_api_client_1.getAuth)(this.
|
|
48
|
+
await (0, backups_api_client_1.getAuth)(await this.getRequestOptions());
|
|
29
49
|
}
|
|
30
|
-
createRepository(dto) {
|
|
31
|
-
return (0, backups_api_client_1.createRepository)(dto, this.
|
|
50
|
+
async createRepository(dto) {
|
|
51
|
+
return await (0, backups_api_client_1.createRepository)(dto, await this.getRequestOptions());
|
|
32
52
|
}
|
|
33
|
-
updateRepository(id, dto) {
|
|
34
|
-
return (0, backups_api_client_1.updateRepository)(id, dto, this.
|
|
53
|
+
async updateRepository(id, dto) {
|
|
54
|
+
return await (0, backups_api_client_1.updateRepository)(id, dto, await this.getRequestOptions());
|
|
35
55
|
}
|
|
36
|
-
getRepository(id) {
|
|
37
|
-
return (0, backups_api_client_1.getRepository)(id, this.
|
|
56
|
+
async getRepository(id) {
|
|
57
|
+
return await (0, backups_api_client_1.getRepository)(id, await this.getRequestOptions());
|
|
38
58
|
}
|
|
39
|
-
getRepositories() {
|
|
40
|
-
return (0, backups_api_client_1.getRepositories)(this.
|
|
59
|
+
async getRepositories() {
|
|
60
|
+
return await (0, backups_api_client_1.getRepositories)(await this.getRequestOptions());
|
|
41
61
|
}
|
|
42
|
-
deleteRepository(id) {
|
|
43
|
-
return (0, backups_api_client_1.deleteRepository)(id, this.
|
|
62
|
+
async deleteRepository(id) {
|
|
63
|
+
return await (0, backups_api_client_1.deleteRepository)(id, await this.getRequestOptions());
|
|
44
64
|
}
|
|
45
65
|
async getResticEndpoint(id) {
|
|
46
|
-
const { url } = await (0, backups_api_client_1.createResticUrl)(id, this.
|
|
66
|
+
const { url } = await (0, backups_api_client_1.createResticUrl)(id, await this.getRequestOptions());
|
|
47
67
|
return url;
|
|
48
68
|
}
|
|
49
|
-
submitMetricBackupStart(id) {
|
|
50
|
-
return (0, backups_api_client_1.submitMetricBackupStart)(id, this.
|
|
69
|
+
async submitMetricBackupStart(id) {
|
|
70
|
+
return await (0, backups_api_client_1.submitMetricBackupStart)(id, await this.getRequestOptions());
|
|
51
71
|
}
|
|
52
|
-
submitMetricBackupEnd(id, success, durationMs) {
|
|
53
|
-
return (0, backups_api_client_1.submitMetricBackupEnd)(id, {
|
|
72
|
+
async submitMetricBackupEnd(id, success, durationMs) {
|
|
73
|
+
return await (0, backups_api_client_1.submitMetricBackupEnd)(id, {
|
|
54
74
|
durationMs,
|
|
55
75
|
success,
|
|
56
|
-
}, this.
|
|
76
|
+
}, await this.getRequestOptions());
|
|
77
|
+
}
|
|
78
|
+
async submitMetricRepositorySize(id, sizeBytes) {
|
|
79
|
+
return await (0, backups_api_client_1.submitMetricRepositorySize)(id, { sizeBytes }, await this.getRequestOptions());
|
|
57
80
|
}
|
|
58
|
-
|
|
59
|
-
|
|
81
|
+
submitStructuredLog(summary, data) {
|
|
82
|
+
void this.getRequestOptions()
|
|
83
|
+
.then((requestOptions) => (0, backups_api_client_1.submitStructuredLog)({ summary, data }, requestOptions))
|
|
84
|
+
.catch((error) => console.error('Failed to submit log', error));
|
|
60
85
|
}
|
|
61
86
|
}
|
|
62
87
|
exports.YuccaBackend = YuccaBackend;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yucca.backend.js","sourceRoot":"","sources":["../../src/backends/yucca.backend.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"yucca.backend.js","sourceRoot":"","sources":["../../src/backends/yucca.backend.ts"],"names":[],"mappings":"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"}
|
package/dist/const.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export declare const ORCHESTRATION_PORT = 22676;
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const REPOSITORY_DEFAULT_CLOUD_UUID = "d0368cdd-39ae-40e1-91d6-d81815c65c7e";
|
|
3
|
+
export declare const YUCCA_WELL_KNOWN = "https://futo.cloud/.well-known/yucca.json";
|
package/dist/const.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.YUCCA_WELL_KNOWN = exports.REPOSITORY_DEFAULT_CLOUD_UUID = exports.ORCHESTRATION_PORT = void 0;
|
|
4
4
|
exports.ORCHESTRATION_PORT = 22_676;
|
|
5
|
-
exports.
|
|
5
|
+
exports.REPOSITORY_DEFAULT_CLOUD_UUID = 'd0368cdd-39ae-40e1-91d6-d81815c65c7e';
|
|
6
|
+
exports.YUCCA_WELL_KNOWN = 'https://futo.cloud/.well-known/yucca.json';
|
|
6
7
|
//# sourceMappingURL=const.js.map
|
package/dist/const.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,MAAM,CAAC;AAC5B,QAAA,
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,MAAM,CAAC;AAC5B,QAAA,6BAA6B,GAAG,sCAAsC,CAAC;AACvE,QAAA,gBAAgB,GAAG,2CAA2C,CAAC"}
|
|
@@ -37,6 +37,12 @@ let OnboardingController = class OnboardingController {
|
|
|
37
37
|
async skipOnboardingExtraConfig() {
|
|
38
38
|
await this.service.skipExtraConfig();
|
|
39
39
|
}
|
|
40
|
+
async enableTelemetry() {
|
|
41
|
+
await this.service.enableTelemetry();
|
|
42
|
+
}
|
|
43
|
+
reportError() {
|
|
44
|
+
this.service.reportError();
|
|
45
|
+
}
|
|
40
46
|
};
|
|
41
47
|
exports.OnboardingController = OnboardingController;
|
|
42
48
|
__decorate([
|
|
@@ -73,6 +79,18 @@ __decorate([
|
|
|
73
79
|
__metadata("design:paramtypes", []),
|
|
74
80
|
__metadata("design:returntype", Promise)
|
|
75
81
|
], OnboardingController.prototype, "skipOnboardingExtraConfig", null);
|
|
82
|
+
__decorate([
|
|
83
|
+
(0, common_1.Post)('/telemetry'),
|
|
84
|
+
__metadata("design:type", Function),
|
|
85
|
+
__metadata("design:paramtypes", []),
|
|
86
|
+
__metadata("design:returntype", Promise)
|
|
87
|
+
], OnboardingController.prototype, "enableTelemetry", null);
|
|
88
|
+
__decorate([
|
|
89
|
+
(0, common_1.Post)('/report-error'),
|
|
90
|
+
__metadata("design:type", Function),
|
|
91
|
+
__metadata("design:paramtypes", []),
|
|
92
|
+
__metadata("design:returntype", void 0)
|
|
93
|
+
], OnboardingController.prototype, "reportError", null);
|
|
76
94
|
exports.OnboardingController = OnboardingController = __decorate([
|
|
77
95
|
(0, common_1.Controller)('/yucca/onboarding'),
|
|
78
96
|
__metadata("design:paramtypes", [onboarding_service_1.OnboardingService])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding.controller.js","sourceRoot":"","sources":["../../src/controllers/onboarding.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAkE;AAClE,6CAAyD;AACzD,0DAI+B;AAC/B,uEAAmE;AAG5D,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IACV;IAArB,YAAqB,OAA0B;QAA1B,YAAO,GAAP,OAAO,CAAmB;IAAG,CAAC;IAI7C,AAAN,KAAK,CAAC,gBAAgB;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IACzC,CAAC;IAIK,AAAN,KAAK,CAAC,kBAAkB;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAC3C,CAAC;IAIK,AAAN,KAAK,CAAC,iBAAiB,CAAS,GAA6B;QAC3D,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACxD,CAAC;IAGK,AAAN,KAAK,CAAC,kBAAkB;QACtB,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAC1C,CAAC;IAGK,AAAN,KAAK,CAAC,yBAAyB;QAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;IACvC,CAAC;CACF,CAAA;
|
|
1
|
+
{"version":3,"file":"onboarding.controller.js","sourceRoot":"","sources":["../../src/controllers/onboarding.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAkE;AAClE,6CAAyD;AACzD,0DAI+B;AAC/B,uEAAmE;AAG5D,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IACV;IAArB,YAAqB,OAA0B;QAA1B,YAAO,GAAP,OAAO,CAAmB;IAAG,CAAC;IAI7C,AAAN,KAAK,CAAC,gBAAgB;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IACzC,CAAC;IAIK,AAAN,KAAK,CAAC,kBAAkB;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAC3C,CAAC;IAIK,AAAN,KAAK,CAAC,iBAAiB,CAAS,GAA6B;QAC3D,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACxD,CAAC;IAGK,AAAN,KAAK,CAAC,kBAAkB;QACtB,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAC1C,CAAC;IAGK,AAAN,KAAK,CAAC,yBAAyB;QAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;IACvC,CAAC;IAGK,AAAN,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;IACvC,CAAC;IAGD,WAAW;QACT,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC;CACF,CAAA;AAxCY,oDAAoB;AAKzB;IAFL,IAAA,YAAG,GAAE;IACL,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,4CAA2B,EAAE,CAAC;;;;4DAGpD;AAIK;IAFL,IAAA,YAAG,EAAC,eAAe,CAAC;IACpB,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,2CAA0B,EAAE,CAAC;;;;8DAGnD;AAIK;IAFL,IAAA,YAAG,EAAC,eAAe,CAAC;IACpB,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,yCAAwB,EAAE,CAAC;IACnB,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,yCAAwB;;6DAE5D;AAGK;IADL,IAAA,aAAI,EAAC,eAAe,CAAC;;;;8DAGrB;AAGK;IADL,IAAA,aAAI,EAAC,OAAO,CAAC;;;;qEAGb;AAGK;IADL,IAAA,aAAI,EAAC,YAAY,CAAC;;;;2DAGlB;AAGD;IADC,IAAA,aAAI,EAAC,eAAe,CAAC;;;;uDAGrB;+BAvCU,oBAAoB;IADhC,IAAA,mBAAU,EAAC,mBAAmB,CAAC;qCAEA,sCAAiB;GADpC,oBAAoB,CAwChC"}
|
|
@@ -12,7 +12,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.ImportRecoveryKeyRequest = exports.CurrentRecoveryKeyResponse = exports.OnboardingStatusResponseDto = void 0;
|
|
13
13
|
const swagger_1 = require("@nestjs/swagger");
|
|
14
14
|
const class_validator_1 = require("class-validator");
|
|
15
|
+
const enum_1 = require("../enum");
|
|
15
16
|
class OnboardingStatusResponseDto {
|
|
17
|
+
status;
|
|
18
|
+
error;
|
|
19
|
+
hasTelemetry;
|
|
16
20
|
hasOnboardedKey;
|
|
17
21
|
hasBackend;
|
|
18
22
|
hasBackup;
|
|
@@ -20,6 +24,18 @@ class OnboardingStatusResponseDto {
|
|
|
20
24
|
hasSkippedExtraConfig;
|
|
21
25
|
}
|
|
22
26
|
exports.OnboardingStatusResponseDto = OnboardingStatusResponseDto;
|
|
27
|
+
__decorate([
|
|
28
|
+
(0, swagger_1.ApiProperty)({ enum: enum_1.BootstrapStatus, enumName: 'BootstrapStatus' }),
|
|
29
|
+
__metadata("design:type", String)
|
|
30
|
+
], OnboardingStatusResponseDto.prototype, "status", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, swagger_1.ApiProperty)({ type: String, required: false }),
|
|
33
|
+
__metadata("design:type", String)
|
|
34
|
+
], OnboardingStatusResponseDto.prototype, "error", void 0);
|
|
35
|
+
__decorate([
|
|
36
|
+
(0, swagger_1.ApiProperty)({ enum: enum_1.TelemetryLevel, enumName: 'TelemetryLevel' }),
|
|
37
|
+
__metadata("design:type", String)
|
|
38
|
+
], OnboardingStatusResponseDto.prototype, "hasTelemetry", void 0);
|
|
23
39
|
__decorate([
|
|
24
40
|
(0, swagger_1.ApiProperty)({ type: Boolean }),
|
|
25
41
|
__metadata("design:type", Boolean)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding.dto.js","sourceRoot":"","sources":["../../src/dto/onboarding.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qDAA2C;
|
|
1
|
+
{"version":3,"file":"onboarding.dto.js","sourceRoot":"","sources":["../../src/dto/onboarding.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qDAA2C;AAC3C,kCAA0D;AAE1D,MAAa,2BAA2B;IAEtC,MAAM,CAAmB;IAGzB,KAAK,CAAU;IAGf,YAAY,CAAkB;IAG9B,eAAe,CAAW;IAG1B,UAAU,CAAW;IAGrB,SAAS,CAAW;IAGpB,WAAW,CAAW;IAGtB,qBAAqB,CAAW;CACjC;AAxBD,kEAwBC;AAtBC;IADC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,sBAAe,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;;2DAC3C;AAGzB;IADC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;0DAChC;AAGf;IADC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,qBAAc,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;;iEACpC;AAG9B;IADC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;oEACL;AAG1B;IADC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;+DACV;AAGrB;IADC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;8DACX;AAGpB;IADC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;gEACT;AAGtB;IADC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;0EACC;AAGlC,MAAa,0BAA0B;IAErC,WAAW,CAAU;CACtB;AAHD,gEAGC;AADC;IADC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;+DACT;AAGvB,MAAa,wBAAwB;IAGnC,WAAW,CAAU;CACtB;AAJD,4DAIC;AADC;IAFC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7B,IAAA,0BAAQ,GAAE;;6DACU"}
|
package/dist/enum.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export declare enum CookieName {
|
|
|
9
9
|
export declare enum ConfigurationKey {
|
|
10
10
|
EncryptionKey = "encryption-key",
|
|
11
11
|
OnboardedKey = "onboarded-key",
|
|
12
|
+
Telemetry = "telemetry",
|
|
12
13
|
SkippedOnboardingExtraConfig = "skipped-onboarding-extra-config"
|
|
13
14
|
}
|
|
14
15
|
export declare enum BackendType {
|
|
@@ -30,3 +31,12 @@ export declare enum TaskType {
|
|
|
30
31
|
export declare enum InternalEvent {
|
|
31
32
|
ModuleConfigUpdated = "yucca.moduleConfig.updated"
|
|
32
33
|
}
|
|
34
|
+
export declare enum BootstrapStatus {
|
|
35
|
+
NotReady = "not-ready",
|
|
36
|
+
Ready = "ready",
|
|
37
|
+
Error = "error"
|
|
38
|
+
}
|
|
39
|
+
export declare enum TelemetryLevel {
|
|
40
|
+
Full = "full",
|
|
41
|
+
None = "none"
|
|
42
|
+
}
|
package/dist/enum.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InternalEvent = exports.TaskType = exports.TaskStatus = exports.BackendType = exports.ConfigurationKey = exports.CookieName = void 0;
|
|
3
|
+
exports.TelemetryLevel = exports.BootstrapStatus = exports.InternalEvent = exports.TaskType = exports.TaskStatus = exports.BackendType = exports.ConfigurationKey = exports.CookieName = void 0;
|
|
4
4
|
var CookieName;
|
|
5
5
|
(function (CookieName) {
|
|
6
6
|
CookieName["NextUrl"] = "sdk-next";
|
|
@@ -14,6 +14,7 @@ var ConfigurationKey;
|
|
|
14
14
|
(function (ConfigurationKey) {
|
|
15
15
|
ConfigurationKey["EncryptionKey"] = "encryption-key";
|
|
16
16
|
ConfigurationKey["OnboardedKey"] = "onboarded-key";
|
|
17
|
+
ConfigurationKey["Telemetry"] = "telemetry";
|
|
17
18
|
ConfigurationKey["SkippedOnboardingExtraConfig"] = "skipped-onboarding-extra-config";
|
|
18
19
|
})(ConfigurationKey || (exports.ConfigurationKey = ConfigurationKey = {}));
|
|
19
20
|
var BackendType;
|
|
@@ -39,4 +40,15 @@ var InternalEvent;
|
|
|
39
40
|
(function (InternalEvent) {
|
|
40
41
|
InternalEvent["ModuleConfigUpdated"] = "yucca.moduleConfig.updated";
|
|
41
42
|
})(InternalEvent || (exports.InternalEvent = InternalEvent = {}));
|
|
43
|
+
var BootstrapStatus;
|
|
44
|
+
(function (BootstrapStatus) {
|
|
45
|
+
BootstrapStatus["NotReady"] = "not-ready";
|
|
46
|
+
BootstrapStatus["Ready"] = "ready";
|
|
47
|
+
BootstrapStatus["Error"] = "error";
|
|
48
|
+
})(BootstrapStatus || (exports.BootstrapStatus = BootstrapStatus = {}));
|
|
49
|
+
var TelemetryLevel;
|
|
50
|
+
(function (TelemetryLevel) {
|
|
51
|
+
TelemetryLevel["Full"] = "full";
|
|
52
|
+
TelemetryLevel["None"] = "none";
|
|
53
|
+
})(TelemetryLevel || (exports.TelemetryLevel = TelemetryLevel = {}));
|
|
42
54
|
//# sourceMappingURL=enum.js.map
|
package/dist/enum.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum.js","sourceRoot":"","sources":["../src/enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAOX;AAPD,WAAY,UAAU;IACpB,kCAAoB,CAAA;IACpB,0CAA4B,CAAA;IAC5B,yDAA2C,CAAA;IAC3C,qDAAuC,CAAA;IACvC,iDAAmC,CAAA;IACnC,gEAAkD,CAAA;AACpD,CAAC,EAPW,UAAU,0BAAV,UAAU,QAOrB;AAED,IAAY,
|
|
1
|
+
{"version":3,"file":"enum.js","sourceRoot":"","sources":["../src/enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAOX;AAPD,WAAY,UAAU;IACpB,kCAAoB,CAAA;IACpB,0CAA4B,CAAA;IAC5B,yDAA2C,CAAA;IAC3C,qDAAuC,CAAA;IACvC,iDAAmC,CAAA;IACnC,gEAAkD,CAAA;AACpD,CAAC,EAPW,UAAU,0BAAV,UAAU,QAOrB;AAED,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,oDAAgC,CAAA;IAChC,kDAA8B,CAAA;IAC9B,2CAAuB,CAAA;IACvB,oFAAgE,CAAA;AAClE,CAAC,EALW,gBAAgB,gCAAhB,gBAAgB,QAK3B;AAED,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,8BAAe,CAAA;IACf,wBAAS,CAAA;AACX,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB;AAED,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,uCAAyB,CAAA;IACzB,mCAAqB,CAAA;IACrB,+BAAiB,CAAA;AACnB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAED,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,iCAAqB,CAAA;IACrB,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;AACnB,CAAC,EALW,QAAQ,wBAAR,QAAQ,QAKnB;AAED,IAAY,aAEX;AAFD,WAAY,aAAa;IACvB,mEAAkD,CAAA;AACpD,CAAC,EAFW,aAAa,6BAAb,aAAa,QAExB;AAED,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,yCAAsB,CAAA;IACtB,kCAAe,CAAA;IACf,kCAAe,CAAA;AACjB,CAAC,EAJW,eAAe,+BAAf,eAAe,QAI1B;AAED,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,+BAAa,CAAA;AACf,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { TelemetryService } from '../services/telemetry.service';
|
|
4
|
+
export declare class TelemetryErrorInterceptor implements NestInterceptor {
|
|
5
|
+
private readonly telemetry;
|
|
6
|
+
constructor(telemetry: TelemetryService);
|
|
7
|
+
intercept(context: ExecutionContext, next: CallHandler): Observable<unknown>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.TelemetryErrorInterceptor = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const constants_1 = require("@nestjs/common/constants");
|
|
15
|
+
const rxjs_1 = require("rxjs");
|
|
16
|
+
const telemetry_service_1 = require("../services/telemetry.service");
|
|
17
|
+
let TelemetryErrorInterceptor = class TelemetryErrorInterceptor {
|
|
18
|
+
telemetry;
|
|
19
|
+
constructor(telemetry) {
|
|
20
|
+
this.telemetry = telemetry;
|
|
21
|
+
}
|
|
22
|
+
intercept(context, next) {
|
|
23
|
+
const controllerPath = Reflect.getMetadata(constants_1.PATH_METADATA, context.getClass());
|
|
24
|
+
const isYuccaRoute = typeof controllerPath === 'string' && controllerPath.replace(/^\/+/, '').startsWith('yucca');
|
|
25
|
+
if (!isYuccaRoute) {
|
|
26
|
+
return next.handle();
|
|
27
|
+
}
|
|
28
|
+
return next.handle().pipe((0, rxjs_1.catchError)((error) => {
|
|
29
|
+
const status = error instanceof common_1.HttpException ? error.getStatus() : 500;
|
|
30
|
+
if (status >= 500) {
|
|
31
|
+
const request = context.switchToHttp().getRequest();
|
|
32
|
+
this.telemetry.submitStructuredLog('Unhandled request error', {
|
|
33
|
+
method: request?.method,
|
|
34
|
+
path: request?.url,
|
|
35
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
return (0, rxjs_1.throwError)(() => error);
|
|
39
|
+
}));
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
exports.TelemetryErrorInterceptor = TelemetryErrorInterceptor;
|
|
43
|
+
exports.TelemetryErrorInterceptor = TelemetryErrorInterceptor = __decorate([
|
|
44
|
+
(0, common_1.Injectable)(),
|
|
45
|
+
__metadata("design:paramtypes", [telemetry_service_1.TelemetryService])
|
|
46
|
+
], TelemetryErrorInterceptor);
|
|
47
|
+
//# sourceMappingURL=telemetry-error.interceptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry-error.interceptor.js","sourceRoot":"","sources":["../../src/interceptors/telemetry-error.interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA2G;AAC3G,wDAAyD;AAEzD,+BAA0D;AAC1D,qEAAiE;AAG1D,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IACP;IAA7B,YAA6B,SAA2B;QAA3B,cAAS,GAAT,SAAS,CAAkB;IAAG,CAAC;IAE5D,SAAS,CAAC,OAAyB,EAAE,IAAiB;QACpD,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,yBAAa,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9E,MAAM,YAAY,GAAG,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAElH,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,iBAAU,EAAC,CAAC,KAAc,EAAE,EAAE;YAC5B,MAAM,MAAM,GAAG,KAAK,YAAY,sBAAa,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAExE,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;gBAClB,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAuB,CAAC;gBAEzE,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,yBAAyB,EAAE;oBAC5D,MAAM,EAAE,OAAO,EAAE,MAAM;oBACvB,IAAI,EAAE,OAAO,EAAE,GAAG;oBAClB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iBACjE,CAAC,CAAC;YACL,CAAC;YAED,OAAO,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AA7BY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;qCAE6B,oCAAgB;GAD7C,yBAAyB,CA6BrC"}
|
package/dist/moduleConfig.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ import { RunningTasksController } from './controllers/runningTasks.controller';
|
|
|
11
11
|
import { ScheduleController } from './controllers/schedule.controller';
|
|
12
12
|
import { type ModuleConfig } from './moduleConfig';
|
|
13
13
|
import { BackendRepository } from './repositories/backend.repository';
|
|
14
|
+
import { BootstrapRepository } from './repositories/bootstrap.repository';
|
|
14
15
|
import { ConfigRepository } from './repositories/config.repository';
|
|
15
16
|
import { DatabaseRepository } from './repositories/database.repository';
|
|
16
17
|
import { ModuleConfigRepository } from './repositories/moduleConfig.repository';
|
|
@@ -34,9 +35,10 @@ import { RepositoryService } from './services/repository.service';
|
|
|
34
35
|
import { RunHistoryService } from './services/runHistory.service';
|
|
35
36
|
import { RunningTasksService } from './services/runningTasks.service';
|
|
36
37
|
import { ScheduleService } from './services/schedule.service';
|
|
38
|
+
import { TelemetryService } from './services/telemetry.service';
|
|
37
39
|
export declare const controllers: (typeof AuthController | typeof BackendController | typeof DevelopmentController | typeof FilesystemController | typeof IntegrationsController | typeof OnboardingController | typeof RepositoryController | typeof RunHistoryController | typeof RunningTasksController | typeof ScheduleController)[];
|
|
38
|
-
export declare const repositories: (typeof ModuleConfigRepository | typeof BackendRepository | typeof ConfigRepository | typeof StorageRepository | typeof DatabaseRepository | typeof RunHistoryRepository | typeof RepositoryIntegrationImmichRepository | typeof RunningTasksRepository | typeof ScheduleRepository | typeof RepositoryRepository | typeof RepositoryLocalMetricsRepository | typeof RepositoryPathRepository | typeof ResticRepository)[];
|
|
39
|
-
export declare const services: (typeof AuthService | typeof BackendService | typeof RepositoryService | typeof BootstrapService | typeof ScheduleService | typeof DevelopmentService | typeof FilesystemService | typeof IntegrationsService | typeof OnboardingService | typeof RunningTasksService | typeof RunHistoryService)[];
|
|
40
|
+
export declare const repositories: (typeof ModuleConfigRepository | typeof BackendRepository | typeof ConfigRepository | typeof BootstrapRepository | typeof StorageRepository | typeof DatabaseRepository | typeof RunHistoryRepository | typeof RepositoryIntegrationImmichRepository | typeof RunningTasksRepository | typeof ScheduleRepository | typeof RepositoryRepository | typeof RepositoryLocalMetricsRepository | typeof RepositoryPathRepository | typeof ResticRepository)[];
|
|
41
|
+
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)[];
|
|
40
42
|
export declare class OrchestrationApiModule {
|
|
41
|
-
static forRoot(config: Partial<ModuleConfig>
|
|
43
|
+
static forRoot(config: Partial<ModuleConfig>): DynamicModule;
|
|
42
44
|
}
|
|
@@ -12,6 +12,7 @@ var OrchestrationApiModule_1;
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
exports.OrchestrationApiModule = exports.services = exports.repositories = exports.controllers = void 0;
|
|
14
14
|
const common_1 = require("@nestjs/common");
|
|
15
|
+
const core_1 = require("@nestjs/core");
|
|
15
16
|
const event_emitter_1 = require("@nestjs/event-emitter");
|
|
16
17
|
const schedule_1 = require("@nestjs/schedule");
|
|
17
18
|
const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
|
|
@@ -31,8 +32,10 @@ const runHistory_controller_1 = require("./controllers/runHistory.controller");
|
|
|
31
32
|
const runningTasks_controller_1 = require("./controllers/runningTasks.controller");
|
|
32
33
|
const schedule_controller_1 = require("./controllers/schedule.controller");
|
|
33
34
|
const events_gateway_1 = require("./events/events.gateway");
|
|
35
|
+
const telemetry_error_interceptor_1 = require("./interceptors/telemetry-error.interceptor");
|
|
34
36
|
const moduleConfig_1 = require("./moduleConfig");
|
|
35
37
|
const backend_repository_1 = require("./repositories/backend.repository");
|
|
38
|
+
const bootstrap_repository_1 = require("./repositories/bootstrap.repository");
|
|
36
39
|
const config_repository_1 = require("./repositories/config.repository");
|
|
37
40
|
const database_repository_1 = require("./repositories/database.repository");
|
|
38
41
|
const moduleConfig_repository_1 = require("./repositories/moduleConfig.repository");
|
|
@@ -56,6 +59,7 @@ const repository_service_1 = require("./services/repository.service");
|
|
|
56
59
|
const runHistory_service_1 = require("./services/runHistory.service");
|
|
57
60
|
const runningTasks_service_1 = require("./services/runningTasks.service");
|
|
58
61
|
const schedule_service_1 = require("./services/schedule.service");
|
|
62
|
+
const telemetry_service_1 = require("./services/telemetry.service");
|
|
59
63
|
exports.controllers = [
|
|
60
64
|
auth_controller_1.AuthController,
|
|
61
65
|
backend_controller_1.BackendController,
|
|
@@ -70,6 +74,7 @@ exports.controllers = [
|
|
|
70
74
|
];
|
|
71
75
|
exports.repositories = [
|
|
72
76
|
backend_repository_1.BackendRepository,
|
|
77
|
+
bootstrap_repository_1.BootstrapRepository,
|
|
73
78
|
config_repository_1.ConfigRepository,
|
|
74
79
|
database_repository_1.DatabaseRepository,
|
|
75
80
|
moduleConfig_repository_1.ModuleConfigRepository,
|
|
@@ -95,13 +100,11 @@ exports.services = [
|
|
|
95
100
|
runHistory_service_1.RunHistoryService,
|
|
96
101
|
runningTasks_service_1.RunningTasksService,
|
|
97
102
|
schedule_service_1.ScheduleService,
|
|
103
|
+
telemetry_service_1.TelemetryService,
|
|
98
104
|
];
|
|
99
105
|
let OrchestrationApiModule = OrchestrationApiModule_1 = class OrchestrationApiModule {
|
|
100
106
|
static forRoot(config) {
|
|
101
107
|
config.statePath ??= (0, node_path_1.resolve)((0, node_os_1.homedir)(), '.yucca');
|
|
102
|
-
if (!config.yuccaProductionApi) {
|
|
103
|
-
throw new Error('config.yuccaProductionApi is missing');
|
|
104
|
-
}
|
|
105
108
|
return {
|
|
106
109
|
module: OrchestrationApiModule_1,
|
|
107
110
|
imports: [
|
|
@@ -122,7 +125,13 @@ let OrchestrationApiModule = OrchestrationApiModule_1 = class OrchestrationApiMo
|
|
|
122
125
|
schedule_1.ScheduleModule.forRoot(),
|
|
123
126
|
],
|
|
124
127
|
controllers: exports.controllers,
|
|
125
|
-
providers: [
|
|
128
|
+
providers: [
|
|
129
|
+
{ provide: moduleConfig_1.ModuleConfigProvider, useValue: config },
|
|
130
|
+
{ provide: core_1.APP_INTERCEPTOR, useClass: telemetry_error_interceptor_1.TelemetryErrorInterceptor },
|
|
131
|
+
events_gateway_1.EventsGateway,
|
|
132
|
+
...exports.repositories,
|
|
133
|
+
...exports.services,
|
|
134
|
+
],
|
|
126
135
|
exports: [events_gateway_1.EventsGateway, moduleConfig_repository_1.ModuleConfigRepository],
|
|
127
136
|
};
|
|
128
137
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrationApi.module.js","sourceRoot":"","sources":["../src/orchestrationApi.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAuD;AACvD,yDAA2D;AAC3D,+CAAkD;AAClD,oEAAsC;AACtC,mCAAuC;AACvC,iDAA6C;AAC7C,qCAAgD;AAChD,qCAAkC;AAClC,yCAAoC;AACpC,mEAA+D;AAC/D,yEAAqE;AACrE,iFAA6E;AAC7E,+EAA2E;AAC3E,mFAA+E;AAC/E,+EAA2E;AAC3E,+EAA2E;AAC3E,+EAA2E;AAC3E,mFAA+E;AAC/E,2EAAuE;AACvE,4DAAwD;AACxD,iDAAyE;AACzE,0EAAsE;AACtE,wEAAoE;AACpE,4EAAwE;AACxE,oFAAgF;AAChF,gFAA4E;AAC5E,kHAA8G;AAC9G,wGAAoG;AACpG,wFAAoF;AACpF,wEAAoE;AACpE,gFAA4E;AAC5E,oFAAgF;AAChF,4EAAwE;AACxE,0EAAsE;AACtE,0DAAsD;AACtD,gEAA4D;AAC5D,oEAAgE;AAChE,wEAAoE;AACpE,sEAAkE;AAClE,0EAAsE;AACtE,sEAAkE;AAClE,sEAAkE;AAClE,sEAAkE;AAClE,0EAAsE;AACtE,kEAA8D;
|
|
1
|
+
{"version":3,"file":"orchestrationApi.module.js","sourceRoot":"","sources":["../src/orchestrationApi.module.ts"],"names":[],"mappings":"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"}
|