@supraio/client-sdk 0.0.1-mz-warmup.4 → 0.0.1-mz-standalone-processes.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/browser/src/Firebase/collections.d.ts +8 -7
- package/dist/browser/src/Firebase/collections.js +15 -7
- package/dist/browser/src/Firebase/collections.js.map +1 -1
- package/dist/browser/src/Options.d.ts +55 -0
- package/dist/browser/src/Platform/daemonHelper.d.ts +2 -5
- package/dist/browser/src/Platform/daemonHelper.js +10 -10
- package/dist/browser/src/Platform/daemonHelper.js.map +1 -1
- package/dist/browser/src/Platform/pathHelper.d.ts +3 -3
- package/dist/browser/src/Platform/pathHelper.js +3 -3
- package/dist/browser/src/Platform/pathHelper.js.map +1 -1
- package/dist/browser/src/Platform/sshHelper.js.map +1 -1
- package/dist/browser/src/Process/Options.d.ts +3 -11
- package/dist/browser/src/Process/Process.d.ts +3 -1
- package/dist/browser/src/Process/ProcessSdk.d.ts +16 -12
- package/dist/browser/src/Process/ProcessSdk.js +77 -38
- package/dist/browser/src/Process/ProcessSdk.js.map +1 -1
- package/dist/browser/src/Sdk.js +29 -20
- package/dist/browser/src/Sdk.js.map +1 -1
- package/dist/browser/src/Server/ServerSdk.d.ts +2 -2
- package/dist/browser/src/Server/ServerSdk.js +6 -4
- package/dist/browser/src/Server/ServerSdk.js.map +1 -1
- package/dist/browser/src/Session/FSSessionStorage.js +3 -2
- package/dist/browser/src/Session/FSSessionStorage.js.map +1 -1
- package/dist/browser/src/Session/RemoteSession.d.ts +2 -4
- package/dist/browser/src/Session/SessionSdk.d.ts +10 -2
- package/dist/browser/src/Session/SessionSdk.js +35 -7
- package/dist/browser/src/Session/SessionSdk.js.map +1 -1
- package/dist/browser/src/Session/sessionStorageFactory.js.map +1 -1
- package/dist/browser/src/polyfill.d.ts +0 -1
- package/dist/browser/src/polyfill.js.map +1 -1
- package/dist/node/src/Firebase/collections.d.ts +8 -7
- package/dist/node/src/Firebase/collections.js +25 -17
- package/dist/node/src/Firebase/collections.js.map +1 -1
- package/dist/node/src/Hash/generator.js +4 -5
- package/dist/node/src/Hash/generator.js.map +1 -1
- package/dist/node/src/Options.d.ts +55 -0
- package/dist/node/src/Options.js +2 -2
- package/dist/node/src/Options.js.map +1 -1
- package/dist/node/src/Platform/daemonHelper.d.ts +2 -5
- package/dist/node/src/Platform/daemonHelper.js +16 -16
- package/dist/node/src/Platform/daemonHelper.js.map +1 -1
- package/dist/node/src/Platform/pathHelper.d.ts +3 -3
- package/dist/node/src/Platform/pathHelper.js +15 -16
- package/dist/node/src/Platform/pathHelper.js.map +1 -1
- package/dist/node/src/Platform/sshHelper.js +4 -5
- package/dist/node/src/Platform/sshHelper.js.map +1 -1
- package/dist/node/src/Process/Options.d.ts +3 -11
- package/dist/node/src/Process/Process.d.ts +3 -1
- package/dist/node/src/Process/ProcessSdk.d.ts +16 -12
- package/dist/node/src/Process/ProcessSdk.js +83 -44
- package/dist/node/src/Process/ProcessSdk.js.map +1 -1
- package/dist/node/src/Sdk.js +36 -26
- package/dist/node/src/Sdk.js.map +1 -1
- package/dist/node/src/Server/Server.js +1 -1
- package/dist/node/src/Server/Server.js.map +1 -1
- package/dist/node/src/Server/ServerSdk.d.ts +2 -2
- package/dist/node/src/Server/ServerSdk.js +8 -6
- package/dist/node/src/Server/ServerSdk.js.map +1 -1
- package/dist/node/src/Session/FSSessionStorage.js +3 -2
- package/dist/node/src/Session/FSSessionStorage.js.map +1 -1
- package/dist/node/src/Session/RemoteSession.d.ts +2 -4
- package/dist/node/src/Session/SessionSdk.d.ts +10 -2
- package/dist/node/src/Session/SessionSdk.js +44 -16
- package/dist/node/src/Session/SessionSdk.js.map +1 -1
- package/dist/node/src/Session/sessionStorageFactory.js +1 -2
- package/dist/node/src/Session/sessionStorageFactory.js.map +1 -1
- package/dist/node/src/Timer/wait.js +1 -2
- package/dist/node/src/Timer/wait.js.map +1 -1
- package/dist/node/src/index.js +5 -1
- package/dist/node/src/index.js.map +1 -1
- package/dist/node/src/polyfill.d.ts +0 -1
- package/dist/node/src/polyfill.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProcessSdk.js","sourceRoot":"","sources":["../../../../src/Process/ProcessSdk.ts"],"names":[],"mappings":"AACA,OAAO,EACN,aAAa,EACb,MAAM,EAKN,OAAO,GACP,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"ProcessSdk.js","sourceRoot":"","sources":["../../../../src/Process/ProcessSdk.ts"],"names":[],"mappings":"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"}
|
package/dist/browser/src/Sdk.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { getApp, getApps, initializeApp } from '@firebase/app';
|
|
2
|
+
import { getAuth, OAuthCredential, signInWithCredential } from '@firebase/auth';
|
|
2
3
|
import { ProcessSdk } from "./Process/ProcessSdk";
|
|
3
4
|
import { SessionSdk } from "./Session/SessionSdk";
|
|
4
5
|
import * as defaultFirebaseOptions from '../firebase.json';
|
|
@@ -7,30 +8,22 @@ import { wait } from './Timer/wait';
|
|
|
7
8
|
import { ServerSdk } from './Server/ServerSdk';
|
|
8
9
|
const FIREBASE_APP_NAME = 'sdk';
|
|
9
10
|
export class Sdk {
|
|
11
|
+
options;
|
|
12
|
+
session;
|
|
13
|
+
server;
|
|
14
|
+
process;
|
|
15
|
+
firebaseApp;
|
|
10
16
|
constructor(options) {
|
|
11
17
|
this.options = options;
|
|
12
|
-
this.getAuthenticatedFirebaseApp = async () => {
|
|
13
|
-
if (!this.firebaseApp.auth().currentUser) {
|
|
14
|
-
const tokenCredentials = this.options?.auth?.token;
|
|
15
|
-
if (!tokenCredentials) {
|
|
16
|
-
throw new Error(`No "options.auth.token" specified`);
|
|
17
|
-
}
|
|
18
|
-
const userCredentials = firebase.auth.AuthCredential.fromJSON(tokenCredentials);
|
|
19
|
-
if (!userCredentials) {
|
|
20
|
-
throw new Error(`Invalid "options.auth.token" user credentials`);
|
|
21
|
-
}
|
|
22
|
-
await this.safeAuth(userCredentials);
|
|
23
|
-
}
|
|
24
|
-
return this.firebaseApp;
|
|
25
|
-
};
|
|
26
18
|
const firebaseOptions = this.options?.firebase ?? defaultFirebaseOptions;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
19
|
+
const firebaseApps = getApps();
|
|
20
|
+
this.firebaseApp = !firebaseApps.some((a) => a.name === FIREBASE_APP_NAME)
|
|
21
|
+
? initializeApp(firebaseOptions, FIREBASE_APP_NAME)
|
|
22
|
+
: getApp(FIREBASE_APP_NAME);
|
|
30
23
|
const sessionStorage = createSessionStorage(this.options);
|
|
31
24
|
this.session = new SessionSdk(this.options, this.getAuthenticatedFirebaseApp, sessionStorage);
|
|
32
25
|
this.server = new ServerSdk(this.getAuthenticatedFirebaseApp);
|
|
33
|
-
this.process = new ProcessSdk(this.options, this.session, this.server);
|
|
26
|
+
this.process = new ProcessSdk(this.options?.service, this.session, this.server);
|
|
34
27
|
}
|
|
35
28
|
/**
|
|
36
29
|
* @alias sdk.session.connect
|
|
@@ -38,13 +31,29 @@ export class Sdk {
|
|
|
38
31
|
async connect(connectOptions) {
|
|
39
32
|
return this.session.connect(connectOptions);
|
|
40
33
|
}
|
|
34
|
+
getAuthenticatedFirebaseApp = async () => {
|
|
35
|
+
const firebaseAuth = getAuth(this.firebaseApp);
|
|
36
|
+
if (!firebaseAuth.currentUser) {
|
|
37
|
+
const tokenCredentials = this.options?.auth?.token;
|
|
38
|
+
if (!tokenCredentials) {
|
|
39
|
+
throw new Error(`No "options.auth.token" specified`);
|
|
40
|
+
}
|
|
41
|
+
const userCredentials = OAuthCredential.fromJSON(tokenCredentials);
|
|
42
|
+
if (!userCredentials) {
|
|
43
|
+
throw new Error(`Invalid "options.auth.token" user credentials`);
|
|
44
|
+
}
|
|
45
|
+
await this.safeAuth(userCredentials);
|
|
46
|
+
}
|
|
47
|
+
return this.firebaseApp;
|
|
48
|
+
};
|
|
41
49
|
async safeAuth(userCredentials) {
|
|
50
|
+
const firebaseAuth = getAuth(this.firebaseApp);
|
|
42
51
|
let lastError;
|
|
43
52
|
for (let i = 0; i < 3; i++) {
|
|
44
53
|
try {
|
|
45
54
|
// With no reason, the auth fails always for the first time with following error:
|
|
46
55
|
// Failed check current session validity Error: addEventListener and attachEvent are unavailable.
|
|
47
|
-
await
|
|
56
|
+
await signInWithCredential(firebaseAuth, userCredentials);
|
|
48
57
|
return;
|
|
49
58
|
}
|
|
50
59
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sdk.js","sourceRoot":"","sources":["../../../src/Sdk.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Sdk.js","sourceRoot":"","sources":["../../../src/Sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { FirebaseApp } from '@firebase/app';
|
|
2
2
|
import { FindServerOptions, GetServersOptions } from './Options';
|
|
3
3
|
export declare class ServerSdk {
|
|
4
4
|
private firebaseApp;
|
|
5
|
-
constructor(firebaseApp: () => Promise<
|
|
5
|
+
constructor(firebaseApp: () => Promise<FirebaseApp>);
|
|
6
6
|
getServers(options?: GetServersOptions): Promise<import("./Server").Server[]>;
|
|
7
7
|
findServer(processOptions: FindServerOptions): Promise<import("./Server").Server>;
|
|
8
8
|
}
|
|
@@ -1,21 +1,23 @@
|
|
|
1
|
+
import { getDocs, query, where } from '@firebase/firestore';
|
|
1
2
|
import { getServerCollection } from '../Firebase/collections';
|
|
2
3
|
export class ServerSdk {
|
|
4
|
+
firebaseApp;
|
|
3
5
|
constructor(firebaseApp) {
|
|
4
6
|
this.firebaseApp = firebaseApp;
|
|
5
7
|
}
|
|
6
8
|
async getServers(options) {
|
|
7
9
|
const firebaseApp = await this.firebaseApp();
|
|
8
10
|
const serversCol = await getServerCollection(firebaseApp);
|
|
9
|
-
const
|
|
10
|
-
? serversCol
|
|
11
|
+
const q = options?.serverUids
|
|
12
|
+
? query(serversCol, where('serverUid', 'in', options.serverUids))
|
|
11
13
|
: serversCol;
|
|
12
|
-
const serversDocument = await
|
|
14
|
+
const serversDocument = await getDocs(q);
|
|
13
15
|
return serversDocument.docs.map((doc) => doc.data());
|
|
14
16
|
}
|
|
15
17
|
async findServer(processOptions) {
|
|
16
18
|
const firebaseApp = await this.firebaseApp();
|
|
17
19
|
const serversCol = await getServerCollection(firebaseApp);
|
|
18
|
-
const serversDocument = await serversCol
|
|
20
|
+
const serversDocument = await getDocs(serversCol);
|
|
19
21
|
const firstServerDocument = serversDocument.docs.find((s) => s.data().serverUid === processOptions.serverUid);
|
|
20
22
|
if (!firstServerDocument) {
|
|
21
23
|
throw new Error(`No servers found for user`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerSdk.js","sourceRoot":"","sources":["../../../../src/Server/ServerSdk.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,MAAM,OAAO,SAAS;
|
|
1
|
+
{"version":3,"file":"ServerSdk.js","sourceRoot":"","sources":["../../../../src/Server/ServerSdk.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,MAAM,OAAO,SAAS;IAGZ;IADT,YACS,WAAuC;QAAvC,gBAAW,GAAX,WAAW,CAA4B;IAC7C,CAAC;IAEG,KAAK,CAAC,UAAU,CAAC,OAA2B;QAClD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC1D,MAAM,CAAC,GAAG,OAAO,EAAE,UAAU;YAC5B,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YACjE,CAAC,CAAC,UAAU,CAAC;QACd,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,cAAiC;QACxD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC1D,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,mBAAmB,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,KAAK,cAAc,CAAC,SAAS,CAAC,CAAC;QAC9G,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAC;QAC/C,OAAO,WAAW,CAAC;IACpB,CAAC;CACD"}
|
|
@@ -2,9 +2,10 @@ import path from 'path';
|
|
|
2
2
|
import { getRunPath } from '../Platform/pathHelper';
|
|
3
3
|
const CURRENT_SESSIONS_FILENAME = 'sessions';
|
|
4
4
|
export class FSSessionStorage {
|
|
5
|
+
options;
|
|
6
|
+
fs = eval('require')('fs-extra'); // TODO make it better than eval()
|
|
5
7
|
constructor(options) {
|
|
6
8
|
this.options = options;
|
|
7
|
-
this.fs = eval('require')('fs-extra'); // TODO make it better than eval()
|
|
8
9
|
}
|
|
9
10
|
async setSessions(sessions) {
|
|
10
11
|
const currentSessionsPath = await this.getCurrentSessionsPath();
|
|
@@ -18,7 +19,7 @@ export class FSSessionStorage {
|
|
|
18
19
|
return sessions;
|
|
19
20
|
}
|
|
20
21
|
async getCurrentSessionsPath() {
|
|
21
|
-
const runPath = getRunPath(this.options);
|
|
22
|
+
const runPath = getRunPath(this.options?.service);
|
|
22
23
|
await this.fs.ensureDir(runPath);
|
|
23
24
|
return path.join(runPath, CURRENT_SESSIONS_FILENAME);
|
|
24
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FSSessionStorage.js","sourceRoot":"","sources":["../../../../src/Session/FSSessionStorage.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,MAAM,yBAAyB,GAAG,UAAU,CAAC;AAE7C,MAAM,OAAO,gBAAgB;
|
|
1
|
+
{"version":3,"file":"FSSessionStorage.js","sourceRoot":"","sources":["../../../../src/Session/FSSessionStorage.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,MAAM,yBAAyB,GAAG,UAAU,CAAC;AAE7C,MAAM,OAAO,gBAAgB;IAKnB;IAHD,EAAE,GAAkB,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,kCAAkC;IAE3F,YACS,OAA4B;QAA5B,YAAO,GAAP,OAAO,CAAqB;IAClC,CAAC;IAEG,KAAK,CAAC,WAAW,CAAC,QAA0B;QAClD,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChE,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxE,CAAC;IAEM,KAAK,CAAC,WAAW;QACvB,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChE,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC7E,MAAM,QAAQ,GAAqB,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,OAAO,QAAQ,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,sBAAsB;QACnC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IACtD,CAAC;CACD"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { Options } from "../Options";
|
|
2
2
|
import { ConnectOptions } from "./Options";
|
|
3
3
|
import { CurrentSession } from './CurrentSession';
|
|
4
|
-
import
|
|
4
|
+
import { FirebaseApp } from '@firebase/app';
|
|
5
5
|
import { RemoteSession } from './RemoteSession';
|
|
6
6
|
import { ISessionStorage } from './ISessionStorage';
|
|
7
7
|
export declare class SessionSdk {
|
|
8
8
|
private readonly options;
|
|
9
9
|
private firebaseApp;
|
|
10
10
|
private sessionStorage;
|
|
11
|
-
constructor(options: Options | undefined, firebaseApp: () => Promise<
|
|
11
|
+
constructor(options: Options | undefined, firebaseApp: () => Promise<FirebaseApp>, sessionStorage: ISessionStorage);
|
|
12
12
|
/**
|
|
13
13
|
* Connect a new session if doesn't exist.
|
|
14
14
|
* Reuse & return existing connection if already exists.
|
|
@@ -26,6 +26,14 @@ export declare class SessionSdk {
|
|
|
26
26
|
* @throws an Error when no valid session is available
|
|
27
27
|
*/
|
|
28
28
|
get(): Promise<CurrentSession>;
|
|
29
|
+
/**
|
|
30
|
+
* Remove all currently active sessions for current computer
|
|
31
|
+
*/
|
|
32
|
+
remove(): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Remove one currently active session for current computer
|
|
35
|
+
*/
|
|
36
|
+
removeOne(session: CurrentSession): Promise<void>;
|
|
29
37
|
private getOrConnectNew;
|
|
30
38
|
private connectNew;
|
|
31
39
|
private createRemoteSession;
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { generateClientId, generateClientSecret, generateUniqueHash } from '../Hash/generator';
|
|
2
2
|
import { getLocalSshPublicKey } from '../Platform/sshHelper';
|
|
3
3
|
import { getSessionCollection, getUserDocument } from '../Firebase/collections';
|
|
4
|
+
import { deleteDoc, doc, getDoc, setDoc, updateDoc } from "firebase/firestore";
|
|
4
5
|
const DEFAULT_RETRIES = 2;
|
|
5
6
|
export class SessionSdk {
|
|
7
|
+
options;
|
|
8
|
+
firebaseApp;
|
|
9
|
+
sessionStorage;
|
|
6
10
|
constructor(options, firebaseApp, sessionStorage) {
|
|
7
11
|
this.options = options;
|
|
8
12
|
this.firebaseApp = firebaseApp;
|
|
@@ -54,12 +58,34 @@ export class SessionSdk {
|
|
|
54
58
|
return session;
|
|
55
59
|
}
|
|
56
60
|
else {
|
|
57
|
-
await this.
|
|
58
|
-
await this.deleteRemoteSession(session);
|
|
61
|
+
await this.removeOne(session);
|
|
59
62
|
}
|
|
60
63
|
}
|
|
61
64
|
throw new Error(`No valid current session found`);
|
|
62
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Remove all currently active sessions for current computer
|
|
68
|
+
*/
|
|
69
|
+
async remove() {
|
|
70
|
+
const sessions = await this.sessionStorage.getSessions();
|
|
71
|
+
for (const session of sessions) {
|
|
72
|
+
try {
|
|
73
|
+
await this.removeOne(session);
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
console.error('Cannot remove session', error);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Remove one currently active session for current computer
|
|
82
|
+
*/
|
|
83
|
+
async removeOne(session) {
|
|
84
|
+
await Promise.all([
|
|
85
|
+
this.deleteRemoteSession(session),
|
|
86
|
+
this.removeSession(session),
|
|
87
|
+
]);
|
|
88
|
+
}
|
|
63
89
|
async getOrConnectNew() {
|
|
64
90
|
const sessions = await this.sessionStorage.getSessions();
|
|
65
91
|
if (sessions.length === 0) {
|
|
@@ -89,21 +115,23 @@ export class SessionSdk {
|
|
|
89
115
|
createdAt: session.createdAt,
|
|
90
116
|
};
|
|
91
117
|
const sessionsCol = await getSessionCollection(firebaseApp);
|
|
92
|
-
|
|
118
|
+
setDoc(doc(sessionsCol, session.uid), remoteSession);
|
|
93
119
|
const userDoc = await getUserDocument(firebaseApp);
|
|
94
|
-
await userDoc
|
|
95
|
-
|
|
120
|
+
await updateDoc(userDoc, {
|
|
121
|
+
performRequests: {
|
|
122
|
+
ensureSessionsAt: new Date(),
|
|
123
|
+
},
|
|
96
124
|
});
|
|
97
125
|
}
|
|
98
126
|
async deleteRemoteSession(session) {
|
|
99
127
|
const firebaseApp = await this.firebaseApp();
|
|
100
128
|
const sessionsCol = await getSessionCollection(firebaseApp);
|
|
101
|
-
await
|
|
129
|
+
await deleteDoc(doc(sessionsCol, session.uid));
|
|
102
130
|
}
|
|
103
131
|
async getRemoteByCurrent(session) {
|
|
104
132
|
const firebaseApp = await this.firebaseApp();
|
|
105
133
|
const sessionsCol = await getSessionCollection(firebaseApp);
|
|
106
|
-
const sessionDocument = await
|
|
134
|
+
const sessionDocument = await getDoc(doc(sessionsCol, session.uid));
|
|
107
135
|
const remoteSession = sessionDocument.data();
|
|
108
136
|
if (!remoteSession) {
|
|
109
137
|
throw new Error(`No valid remote session found`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionSdk.js","sourceRoot":"","sources":["../../../../src/Session/SessionSdk.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"SessionSdk.js","sourceRoot":"","sources":["../../../../src/Session/SessionSdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionStorageFactory.js","sourceRoot":"","sources":["../../../../src/Session/sessionStorageFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,UAAU,oBAAoB,CAAC,OAA4B;IAChE,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"sessionStorageFactory.js","sourceRoot":"","sources":["../../../../src/Session/sessionStorageFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,UAAU,oBAAoB,CAAC,OAA4B;IAChE,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,IAAI,gBAAgB,EAAE,CAAC;IAC/B,CAAC;SAAM,CAAC;QACP,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polyfill.js","sourceRoot":"","sources":["../../../src/polyfill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,MAAM,IAAI,CAAC;AAQpB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;
|
|
1
|
+
{"version":3,"file":"polyfill.js","sourceRoot":"","sources":["../../../src/polyfill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,MAAM,IAAI,CAAC;AAQpB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IACnC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC;IACxC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI;QAClC,GAAG,EAAE;YACJ,MAAM,EAAE,SAAS;SACjB;KACD,CAAC;IACF,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC;IACxC,IAAI,OAAO,EAAE,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QACtC,EAAE,CAAC,QAAkC,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC;IACxD,CAAC;IACD,IAAI,OAAO,EAAE,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QACrC,EAAE,CAAC,OAAwB,GAAG,EAAE,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,OAAO,EAAE,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QAEtC,EAAE,CAAC,QAA8D,GAAG,EAAE,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IACpI,CAAC;AACF,CAAC;KAAM,CAAC;IACP,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,MAAiB,CAAC;AACpD,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { FirebaseApp } from '@firebase/app';
|
|
2
|
+
import { DocumentReference, CollectionReference } from '@firebase/firestore';
|
|
2
3
|
import { ServerApp } from '../Process/App/App';
|
|
3
4
|
import { Server } from '../Server/Server';
|
|
4
5
|
import { ServerVolume } from '../Process/Volume/Volume';
|
|
@@ -15,9 +16,9 @@ export declare enum UserServerCollection {
|
|
|
15
16
|
APP = "apps",
|
|
16
17
|
VOLUME = "volumes"
|
|
17
18
|
}
|
|
18
|
-
export declare function getUserDocument(firebaseApp:
|
|
19
|
-
export declare function getServerDocument(firebaseApp:
|
|
20
|
-
export declare function getServerCollection(firebaseApp:
|
|
21
|
-
export declare function getSessionCollection(firebaseApp:
|
|
22
|
-
export declare function getServerAppCollection(firebaseApp:
|
|
23
|
-
export declare function getServerVolumeCollection(firebaseApp:
|
|
19
|
+
export declare function getUserDocument(firebaseApp: FirebaseApp): Promise<DocumentReference<User>>;
|
|
20
|
+
export declare function getServerDocument(firebaseApp: FirebaseApp, serverUid: string): Promise<DocumentReference<Server>>;
|
|
21
|
+
export declare function getServerCollection(firebaseApp: FirebaseApp): Promise<CollectionReference<Server>>;
|
|
22
|
+
export declare function getSessionCollection(firebaseApp: FirebaseApp): Promise<CollectionReference<RemoteSession>>;
|
|
23
|
+
export declare function getServerAppCollection(firebaseApp: FirebaseApp, serverUid: string): Promise<CollectionReference<ServerApp>>;
|
|
24
|
+
export declare function getServerVolumeCollection(firebaseApp: FirebaseApp, serverUid: string): Promise<CollectionReference<ServerVolume>>;
|
|
@@ -1,61 +1,69 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.UserServerCollection = exports.UserCollection = exports.MainCollection = void 0;
|
|
4
|
+
exports.getUserDocument = getUserDocument;
|
|
5
|
+
exports.getServerDocument = getServerDocument;
|
|
6
|
+
exports.getServerCollection = getServerCollection;
|
|
7
|
+
exports.getSessionCollection = getSessionCollection;
|
|
8
|
+
exports.getServerAppCollection = getServerAppCollection;
|
|
9
|
+
exports.getServerVolumeCollection = getServerVolumeCollection;
|
|
10
|
+
const auth_1 = require("@firebase/auth");
|
|
11
|
+
const firestore_1 = require("@firebase/firestore");
|
|
4
12
|
var MainCollection;
|
|
5
13
|
(function (MainCollection) {
|
|
6
14
|
MainCollection["USER"] = "user";
|
|
7
|
-
})(MainCollection
|
|
15
|
+
})(MainCollection || (exports.MainCollection = MainCollection = {}));
|
|
8
16
|
var UserCollection;
|
|
9
17
|
(function (UserCollection) {
|
|
10
18
|
UserCollection["SESSION"] = "session";
|
|
11
19
|
UserCollection["SERVER"] = "server";
|
|
12
|
-
})(UserCollection
|
|
20
|
+
})(UserCollection || (exports.UserCollection = UserCollection = {}));
|
|
13
21
|
var UserServerCollection;
|
|
14
22
|
(function (UserServerCollection) {
|
|
15
23
|
UserServerCollection["APP"] = "apps";
|
|
16
24
|
UserServerCollection["VOLUME"] = "volumes";
|
|
17
|
-
})(UserServerCollection
|
|
25
|
+
})(UserServerCollection || (exports.UserServerCollection = UserServerCollection = {}));
|
|
18
26
|
async function getUserDocument(firebaseApp) {
|
|
19
|
-
const
|
|
27
|
+
const firebaseAuth = (0, auth_1.getAuth)(firebaseApp);
|
|
28
|
+
const user = firebaseAuth.currentUser;
|
|
20
29
|
if (!user) {
|
|
21
30
|
throw new Error(`User is not authenticated`);
|
|
22
31
|
}
|
|
23
|
-
const
|
|
32
|
+
const firestore = (0, firestore_1.getFirestore)(firebaseApp);
|
|
33
|
+
const usersSnapshot = await (0, firestore_1.getDocs)((0, firestore_1.query)((0, firestore_1.collection)(firestore, MainCollection.USER), (0, firestore_1.where)('uid', '==', user.uid)));
|
|
24
34
|
if (usersSnapshot.empty) {
|
|
25
35
|
throw new Error(`User was not found: ${user.uid}`);
|
|
26
36
|
}
|
|
27
37
|
const userSnapshot = usersSnapshot.docs[0];
|
|
28
38
|
return userSnapshot.ref;
|
|
29
39
|
}
|
|
30
|
-
exports.getUserDocument = getUserDocument;
|
|
31
40
|
async function getServerDocument(firebaseApp, serverUid) {
|
|
32
41
|
const serverCollection = await getServerCollection(firebaseApp);
|
|
33
|
-
const serversSnapshot = await serverCollection.where('serverUid', '==', serverUid)
|
|
42
|
+
const serversSnapshot = await (0, firestore_1.getDocs)((0, firestore_1.query)(serverCollection, (0, firestore_1.where)('serverUid', '==', serverUid)));
|
|
34
43
|
if (serversSnapshot.empty) {
|
|
35
44
|
throw new Error(`Server was not found: ${serverUid}`);
|
|
36
45
|
}
|
|
37
46
|
const serverSnapshot = serversSnapshot.docs[0];
|
|
38
47
|
return serverSnapshot.ref;
|
|
39
48
|
}
|
|
40
|
-
exports.getServerDocument = getServerDocument;
|
|
41
49
|
async function getServerCollection(firebaseApp) {
|
|
42
50
|
const userDoc = await getUserDocument(firebaseApp);
|
|
43
|
-
|
|
51
|
+
const firestore = (0, firestore_1.getFirestore)(firebaseApp);
|
|
52
|
+
return (0, firestore_1.collection)(firestore, userDoc.path, UserCollection.SERVER);
|
|
44
53
|
}
|
|
45
|
-
exports.getServerCollection = getServerCollection;
|
|
46
54
|
async function getSessionCollection(firebaseApp) {
|
|
47
55
|
const userDoc = await getUserDocument(firebaseApp);
|
|
48
|
-
|
|
56
|
+
const firestore = (0, firestore_1.getFirestore)(firebaseApp);
|
|
57
|
+
return (0, firestore_1.collection)(firestore, userDoc.path, UserCollection.SESSION);
|
|
49
58
|
}
|
|
50
|
-
exports.getSessionCollection = getSessionCollection;
|
|
51
59
|
async function getServerAppCollection(firebaseApp, serverUid) {
|
|
52
60
|
const serverDoc = await getServerDocument(firebaseApp, serverUid);
|
|
53
|
-
|
|
61
|
+
const firestore = (0, firestore_1.getFirestore)(firebaseApp);
|
|
62
|
+
return (0, firestore_1.collection)(firestore, serverDoc.path, UserServerCollection.APP);
|
|
54
63
|
}
|
|
55
|
-
exports.getServerAppCollection = getServerAppCollection;
|
|
56
64
|
async function getServerVolumeCollection(firebaseApp, serverUid) {
|
|
57
65
|
const serverDoc = await getServerDocument(firebaseApp, serverUid);
|
|
58
|
-
|
|
66
|
+
const firestore = (0, firestore_1.getFirestore)(firebaseApp);
|
|
67
|
+
return (0, firestore_1.collection)(firestore, serverDoc.path, UserServerCollection.VOLUME);
|
|
59
68
|
}
|
|
60
|
-
exports.getServerVolumeCollection = getServerVolumeCollection;
|
|
61
69
|
//# sourceMappingURL=collections.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collections.js","sourceRoot":"","sources":["../../../../src/Firebase/collections.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"collections.js","sourceRoot":"","sources":["../../../../src/Firebase/collections.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.generateUniqueHash = generateUniqueHash;
|
|
4
|
+
exports.generateClientId = generateClientId;
|
|
5
|
+
exports.generateClientSecret = generateClientSecret;
|
|
4
6
|
const crypto_1 = require("crypto");
|
|
5
7
|
function generateUniqueHash(length = 50) {
|
|
6
|
-
const hash = crypto_1.createHash('sha256');
|
|
8
|
+
const hash = (0, crypto_1.createHash)('sha256');
|
|
7
9
|
hash.update('' + new Date().valueOf() + Math.random());
|
|
8
10
|
return hash.digest('hex').substring(0, length);
|
|
9
11
|
}
|
|
10
|
-
exports.generateUniqueHash = generateUniqueHash;
|
|
11
12
|
/** The id has to have length 20 chars */
|
|
12
13
|
function generateClientId() {
|
|
13
14
|
return generateUniqueHash(20);
|
|
14
15
|
}
|
|
15
|
-
exports.generateClientId = generateClientId;
|
|
16
16
|
/** The secret has to have length 40 chars */
|
|
17
17
|
function generateClientSecret() {
|
|
18
18
|
return generateUniqueHash(40);
|
|
19
19
|
}
|
|
20
|
-
exports.generateClientSecret = generateClientSecret;
|
|
21
20
|
//# sourceMappingURL=generator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../src/Hash/generator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../src/Hash/generator.ts"],"names":[],"mappings":";;AAEA,gDAIC;AAGD,4CAEC;AAGD,oDAEC;AAhBD,mCAAoC;AAEpC,SAAgB,kBAAkB,CAAC,MAAM,GAAG,EAAE;IAC7C,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACvD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,yCAAyC;AACzC,SAAgB,gBAAgB;IAC/B,OAAO,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED,6CAA6C;AAC7C,SAAgB,oBAAoB;IACnC,OAAO,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -27,6 +27,49 @@ export declare enum NetPacketDriver {
|
|
|
27
27
|
/** TCP replacement for simple_udp which prevents loosing packets */
|
|
28
28
|
DriverSimpleTCP = "simple_tcp"
|
|
29
29
|
}
|
|
30
|
+
export interface ClientOptions {
|
|
31
|
+
/**
|
|
32
|
+
* The clientID that is used to authenticate the client againts the server.
|
|
33
|
+
*/
|
|
34
|
+
id: string;
|
|
35
|
+
/**
|
|
36
|
+
* The clientSecret that is used to authenticate the client againts the server.
|
|
37
|
+
*/
|
|
38
|
+
secret: string;
|
|
39
|
+
}
|
|
40
|
+
export interface ServerOptions {
|
|
41
|
+
/**
|
|
42
|
+
* The hostname of the server where the metadata and screen server is located.
|
|
43
|
+
* It's hostname so it doesn't contain protocol or port.
|
|
44
|
+
* I.e. `metadata.example.com` or `192.168.1.2`
|
|
45
|
+
*/
|
|
46
|
+
hostname: string;
|
|
47
|
+
/**
|
|
48
|
+
* If the connection to the server should be secured using TLS (https).
|
|
49
|
+
* Default to false.
|
|
50
|
+
*/
|
|
51
|
+
secure?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* The port where the screen server is located.
|
|
54
|
+
* Default to 6113.
|
|
55
|
+
*/
|
|
56
|
+
metadataPort?: number;
|
|
57
|
+
/**
|
|
58
|
+
* The port where the metadata server is located.
|
|
59
|
+
* Default to 6116.
|
|
60
|
+
*/
|
|
61
|
+
metadataWSPort?: number;
|
|
62
|
+
/**
|
|
63
|
+
* The port where the screen server is located.
|
|
64
|
+
* Default to 6114.
|
|
65
|
+
*/
|
|
66
|
+
screenPort?: number;
|
|
67
|
+
/**
|
|
68
|
+
* The port where the screen server is located.
|
|
69
|
+
* Default to 6117.
|
|
70
|
+
*/
|
|
71
|
+
screenWSPort?: number;
|
|
72
|
+
}
|
|
30
73
|
export interface ServiceOptions {
|
|
31
74
|
/**
|
|
32
75
|
* Where are the runtime options stored.
|
|
@@ -60,6 +103,18 @@ export interface ServiceOptions {
|
|
|
60
103
|
* Defaults to NetPacketDriver.DriverSimpleUDP=simple_udp
|
|
61
104
|
*/
|
|
62
105
|
screenDriver?: NetPacketDriver;
|
|
106
|
+
/**
|
|
107
|
+
* The server where the metadata and screen server is located.
|
|
108
|
+
* If specified, it will use this server prior to the server related to the session.
|
|
109
|
+
* If not specified, it will fetch the best server from the database based on the current firebase session.
|
|
110
|
+
*/
|
|
111
|
+
server?: ServerOptions;
|
|
112
|
+
/**
|
|
113
|
+
* The client options that are used to authenticate the client against the server.
|
|
114
|
+
* If specified, it will use this client prior to the client related to the remote session.
|
|
115
|
+
* If not specified, it will fetch the best client from the database based on the current firebase session.
|
|
116
|
+
*/
|
|
117
|
+
client?: ClientOptions;
|
|
63
118
|
}
|
|
64
119
|
export interface FirebaseOptions {
|
|
65
120
|
apiKey: string;
|