@supraio/client-sdk 0.0.1-master.8 → 0.0.1-master.9
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 +7 -6
- package/dist/browser/src/Firebase/collections.js +27 -12
- package/dist/browser/src/Firebase/collections.js.map +1 -1
- package/dist/browser/src/Platform/daemonHelper.d.ts +1 -1
- package/dist/browser/src/Process/Options.d.ts +12 -0
- package/dist/browser/src/Process/ProcessSdk.d.ts +22 -10
- package/dist/browser/src/Process/ProcessSdk.js +52 -37
- package/dist/browser/src/Process/ProcessSdk.js.map +1 -1
- package/dist/browser/src/Sdk.d.ts +2 -0
- package/dist/browser/src/Sdk.js +3 -1
- package/dist/browser/src/Sdk.js.map +1 -1
- package/dist/browser/src/Server/Options.d.ts +8 -0
- package/dist/browser/src/Server/Options.js +2 -0
- package/dist/browser/src/Server/Options.js.map +1 -0
- package/dist/browser/src/{Process → Server}/Server.d.ts +0 -0
- package/dist/browser/src/{Process → Server}/Server.js +0 -0
- package/dist/browser/src/Server/Server.js.map +1 -0
- package/dist/browser/src/Server/ServerSdk.d.ts +8 -0
- package/dist/browser/src/Server/ServerSdk.js +27 -0
- package/dist/browser/src/Server/ServerSdk.js.map +1 -0
- package/dist/browser/src/Session/SessionSdk.js +4 -4
- package/dist/browser/src/Session/SessionSdk.js.map +1 -1
- package/dist/node/src/Firebase/collections.d.ts +7 -6
- package/dist/node/src/Firebase/collections.js +30 -14
- package/dist/node/src/Firebase/collections.js.map +1 -1
- package/dist/node/src/Platform/daemonHelper.d.ts +1 -1
- package/dist/node/src/Process/Options.d.ts +12 -0
- package/dist/node/src/Process/ProcessSdk.d.ts +22 -10
- package/dist/node/src/Process/ProcessSdk.js +52 -37
- package/dist/node/src/Process/ProcessSdk.js.map +1 -1
- package/dist/node/src/Sdk.d.ts +2 -0
- package/dist/node/src/Sdk.js +3 -1
- package/dist/node/src/Sdk.js.map +1 -1
- package/dist/node/src/Server/Options.d.ts +8 -0
- package/dist/node/src/Server/Options.js +3 -0
- package/dist/node/src/Server/Options.js.map +1 -0
- package/dist/node/src/{Process → Server}/Server.d.ts +0 -0
- package/dist/node/src/{Process → Server}/Server.js +0 -0
- package/dist/node/src/Server/Server.js.map +1 -0
- package/dist/node/src/Server/ServerSdk.d.ts +8 -0
- package/dist/node/src/Server/ServerSdk.js +31 -0
- package/dist/node/src/Server/ServerSdk.js.map +1 -0
- package/dist/node/src/Session/SessionSdk.js +4 -4
- package/dist/node/src/Session/SessionSdk.js.map +1 -1
- package/package.json +1 -1
- package/dist/browser/src/Process/Server.js.map +0 -1
- package/dist/node/src/Process/Server.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import firebase from 'firebase';
|
|
2
2
|
import { ServerApp } from '../Process/App/App';
|
|
3
|
-
import { Server } from '../
|
|
3
|
+
import { Server } from '../Server/Server';
|
|
4
4
|
import { ServerVolume } from '../Process/Volume/Volume';
|
|
5
5
|
import { RemoteSession } from '../Session/RemoteSession';
|
|
6
6
|
import { User } from '../User/User';
|
|
@@ -15,8 +15,9 @@ export declare enum UserServerCollection {
|
|
|
15
15
|
APP = "apps",
|
|
16
16
|
VOLUME = "volumes"
|
|
17
17
|
}
|
|
18
|
-
export declare function getUserDocument(firebaseApp: firebase.app.App): firebase.firestore.DocumentReference<User
|
|
19
|
-
export declare function
|
|
20
|
-
export declare function
|
|
21
|
-
export declare function
|
|
22
|
-
export declare function
|
|
18
|
+
export declare function getUserDocument(firebaseApp: firebase.app.App): Promise<firebase.firestore.DocumentReference<User>>;
|
|
19
|
+
export declare function getServerDocument(firebaseApp: firebase.app.App, serverUid: string): Promise<firebase.firestore.DocumentReference<Server>>;
|
|
20
|
+
export declare function getServerCollection(firebaseApp: firebase.app.App): Promise<firebase.firestore.CollectionReference<Server>>;
|
|
21
|
+
export declare function getSessionCollection(firebaseApp: firebase.app.App): Promise<firebase.firestore.CollectionReference<RemoteSession>>;
|
|
22
|
+
export declare function getServerAppCollection(firebaseApp: firebase.app.App, serverUid: string): Promise<firebase.firestore.CollectionReference<ServerApp>>;
|
|
23
|
+
export declare function getServerVolumeCollection(firebaseApp: firebase.app.App, serverUid: string): Promise<firebase.firestore.CollectionReference<ServerVolume>>;
|
|
@@ -12,26 +12,41 @@ export var UserServerCollection;
|
|
|
12
12
|
UserServerCollection["APP"] = "apps";
|
|
13
13
|
UserServerCollection["VOLUME"] = "volumes";
|
|
14
14
|
})(UserServerCollection || (UserServerCollection = {}));
|
|
15
|
-
function
|
|
15
|
+
export async function getUserDocument(firebaseApp) {
|
|
16
16
|
const user = firebaseApp.auth().currentUser;
|
|
17
17
|
if (!user) {
|
|
18
18
|
throw new Error(`User is not authenticated`);
|
|
19
19
|
}
|
|
20
|
-
|
|
20
|
+
const usersSnapshot = await firebaseApp.firestore().collection(MainCollection.USER).where('uid', '==', user.uid).get();
|
|
21
|
+
if (usersSnapshot.empty) {
|
|
22
|
+
throw new Error(`User was not found: ${user.uid}`);
|
|
23
|
+
}
|
|
24
|
+
const userSnapshot = usersSnapshot.docs[0];
|
|
25
|
+
return userSnapshot.ref;
|
|
21
26
|
}
|
|
22
|
-
export function
|
|
23
|
-
|
|
27
|
+
export async function getServerDocument(firebaseApp, serverUid) {
|
|
28
|
+
const serverCollection = await getServerCollection(firebaseApp);
|
|
29
|
+
const serversSnapshot = await serverCollection.where('serverUid', '==', serverUid).get();
|
|
30
|
+
if (serversSnapshot.empty) {
|
|
31
|
+
throw new Error(`Server was not found: ${serverUid}`);
|
|
32
|
+
}
|
|
33
|
+
const serverSnapshot = serversSnapshot.docs[0];
|
|
34
|
+
return serverSnapshot.ref;
|
|
24
35
|
}
|
|
25
|
-
export function getServerCollection(firebaseApp) {
|
|
26
|
-
|
|
36
|
+
export async function getServerCollection(firebaseApp) {
|
|
37
|
+
const userDoc = await getUserDocument(firebaseApp);
|
|
38
|
+
return userDoc.collection(UserCollection.SERVER);
|
|
27
39
|
}
|
|
28
|
-
export function getSessionCollection(firebaseApp) {
|
|
29
|
-
|
|
40
|
+
export async function getSessionCollection(firebaseApp) {
|
|
41
|
+
const userDoc = await getUserDocument(firebaseApp);
|
|
42
|
+
return userDoc.collection(UserCollection.SESSION);
|
|
30
43
|
}
|
|
31
|
-
export function getServerAppCollection(firebaseApp, serverUid) {
|
|
32
|
-
|
|
44
|
+
export async function getServerAppCollection(firebaseApp, serverUid) {
|
|
45
|
+
const serverDoc = await getServerDocument(firebaseApp, serverUid);
|
|
46
|
+
return serverDoc.collection(UserServerCollection.APP);
|
|
33
47
|
}
|
|
34
|
-
export function getServerVolumeCollection(firebaseApp, serverUid) {
|
|
35
|
-
|
|
48
|
+
export async function getServerVolumeCollection(firebaseApp, serverUid) {
|
|
49
|
+
const serverDoc = await getServerDocument(firebaseApp, serverUid);
|
|
50
|
+
return serverDoc.collection(UserServerCollection.VOLUME);
|
|
36
51
|
}
|
|
37
52
|
//# sourceMappingURL=collections.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collections.js","sourceRoot":"","sources":["../../../../src/Firebase/collections.ts"],"names":[],"mappings":"AAOA,MAAM,CAAN,IAAY,cAEX;AAFD,WAAY,cAAc;IACzB,+BAAa,CAAA;AACd,CAAC,EAFW,cAAc,KAAd,cAAc,QAEzB;AAED,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACzB,qCAAmB,CAAA;IACnB,mCAAiB,CAAA;AAClB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC/B,oCAAY,CAAA;IACZ,0CAAkB,CAAA;AACnB,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B;AAED,
|
|
1
|
+
{"version":3,"file":"collections.js","sourceRoot":"","sources":["../../../../src/Firebase/collections.ts"],"names":[],"mappings":"AAOA,MAAM,CAAN,IAAY,cAEX;AAFD,WAAY,cAAc;IACzB,+BAAa,CAAA;AACd,CAAC,EAFW,cAAc,KAAd,cAAc,QAEzB;AAED,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACzB,qCAAmB,CAAA;IACnB,mCAAiB,CAAA;AAClB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC/B,oCAAY,CAAA;IACZ,0CAAkB,CAAA;AACnB,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,WAA6B;IAClE,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC;IAC5C,IAAI,CAAC,IAAI,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;KAC7C;IACD,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACvH,IAAI,aAAa,CAAC,KAAK,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;KACnD;IACD,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,OAAO,YAAY,CAAC,GAAiD,CAAC;AACvE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,WAA6B,EAAE,SAAiB;IACvF,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAChE,MAAM,eAAe,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;IACzF,IAAI,eAAe,CAAC,KAAK,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;KACtD;IACD,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/C,OAAO,cAAc,CAAC,GAAG,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,WAA6B;IACtE,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IACnD,OAAO,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAmD,CAAC;AACpG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,WAA6B;IACvE,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IACnD,OAAO,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAA0D,CAAC;AAC5G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,WAA6B,EAAE,SAAiB;IAC5F,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAClE,OAAO,SAAS,CAAC,UAAU,CAAC,oBAAoB,CAAC,GAAG,CAAsD,CAAC;AAC5G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,WAA6B,EAAE,SAAiB;IAC/F,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAClE,OAAO,SAAS,CAAC,UAAU,CAAC,oBAAoB,CAAC,MAAM,CAAyD,CAAC;AAClH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { Server } from '../
|
|
2
|
+
import { Server } from '../Server/Server';
|
|
3
3
|
import { RemoteSession } from '../Session/RemoteSession';
|
|
4
4
|
import { NetPacketDriver, NetStreamDriver, Options } from '../Options';
|
|
5
5
|
export declare enum MsgType {
|
|
@@ -10,9 +10,21 @@ export interface OpenOptions {
|
|
|
10
10
|
/** If this option is specified, it will fail when process of application not running */
|
|
11
11
|
runningOnly?: boolean;
|
|
12
12
|
}
|
|
13
|
+
export interface StartOptions {
|
|
14
|
+
/** Identify server where the process will be running */
|
|
15
|
+
serverUid: string;
|
|
16
|
+
/** Name of application which creating the process */
|
|
17
|
+
appName: string;
|
|
18
|
+
/** array of args passed to program process when is started */
|
|
19
|
+
appArgs: string[];
|
|
20
|
+
}
|
|
13
21
|
export interface CloseOptions {
|
|
14
22
|
/** Identify server where the process will be stopped */
|
|
15
23
|
serverUid: string;
|
|
16
24
|
/** Name of application which closing the process */
|
|
17
25
|
appName: string;
|
|
18
26
|
}
|
|
27
|
+
export interface GetProcessesOptions {
|
|
28
|
+
/** Identify server where the process will be listed */
|
|
29
|
+
serverUid: string;
|
|
30
|
+
}
|
|
@@ -1,34 +1,46 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { OpenOptions, CloseOptions } from "./Options";
|
|
1
|
+
import { OpenOptions, CloseOptions, StartOptions, GetProcessesOptions } from "./Options";
|
|
3
2
|
import { Process } from './Process';
|
|
4
3
|
import { Options } from '../Options';
|
|
5
4
|
import { SessionSdk } from '../Session/SessionSdk';
|
|
5
|
+
import { ServerSdk } from '../Server/ServerSdk';
|
|
6
6
|
export declare class ProcessSdk {
|
|
7
7
|
private options;
|
|
8
8
|
private sessionSdk;
|
|
9
|
-
private
|
|
9
|
+
private serverSdk;
|
|
10
10
|
private sockPath;
|
|
11
|
-
constructor(options: Options | undefined, sessionSdk: SessionSdk,
|
|
11
|
+
constructor(options: Options | undefined, sessionSdk: SessionSdk, serverSdk: ServerSdk);
|
|
12
12
|
/**
|
|
13
13
|
* Open process with given options.
|
|
14
14
|
* It can open existing process or create new process based on options.
|
|
15
15
|
* If not special options specified, try to reuse existing process of app.
|
|
16
16
|
*/
|
|
17
17
|
open(openOptions: OpenOptions): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Start process with given options.
|
|
20
|
+
* It's not starting new, when app is already running
|
|
21
|
+
*/
|
|
22
|
+
start(startOptions: StartOptions): Promise<{
|
|
23
|
+
screenDriver: import("../Options").NetPacketDriver;
|
|
24
|
+
metadataDriver: import("../Options").NetStreamDriver;
|
|
25
|
+
screenID: string;
|
|
26
|
+
screenHost: string;
|
|
27
|
+
metadataHost: string;
|
|
28
|
+
clientID: string;
|
|
29
|
+
clientSecret: string;
|
|
30
|
+
secure: boolean;
|
|
31
|
+
}>;
|
|
18
32
|
/**
|
|
19
33
|
* Close process with given options.
|
|
20
|
-
* It closes the given process
|
|
34
|
+
* It closes the given process remotely and locally as well.
|
|
21
35
|
*/
|
|
22
36
|
close(closeOptions: CloseOptions): Promise<void>;
|
|
23
37
|
/**
|
|
24
|
-
* Returns all currently running processes
|
|
38
|
+
* Returns all currently running processes remotely
|
|
25
39
|
*/
|
|
26
|
-
getProcesses(): Promise<Process[]>;
|
|
40
|
+
getProcesses(getProcessesOptions?: GetProcessesOptions): Promise<Process[]>;
|
|
27
41
|
/**
|
|
28
42
|
* Returns all currently running processes locally attached to this computer
|
|
29
43
|
*/
|
|
30
|
-
getAttachedProcesses(): Promise<Process[]>;
|
|
31
|
-
private getServers;
|
|
32
|
-
private findServer;
|
|
44
|
+
getAttachedProcesses(getProcessesOptions?: GetProcessesOptions): Promise<Process[]>;
|
|
33
45
|
private getServerProcesses;
|
|
34
46
|
}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { getServerInfo, invoke, MsgType, } from '../Platform/daemonHelper';
|
|
2
|
-
import { getServerCollection } from '../Firebase/collections';
|
|
3
2
|
import { getSockPath } from '../Platform/pathHelper';
|
|
4
3
|
const SCREEN_ID_SIZE = 40;
|
|
5
4
|
export class ProcessSdk {
|
|
6
|
-
constructor(options, sessionSdk,
|
|
5
|
+
constructor(options, sessionSdk, serverSdk) {
|
|
7
6
|
this.options = options;
|
|
8
7
|
this.sessionSdk = sessionSdk;
|
|
9
|
-
this.
|
|
8
|
+
this.serverSdk = serverSdk;
|
|
10
9
|
this.sockPath = getSockPath(options);
|
|
11
10
|
}
|
|
12
11
|
/**
|
|
@@ -15,7 +14,7 @@ export class ProcessSdk {
|
|
|
15
14
|
* If not special options specified, try to reuse existing process of app.
|
|
16
15
|
*/
|
|
17
16
|
async open(openOptions) {
|
|
18
|
-
const server = await this.findServer(openOptions);
|
|
17
|
+
const server = await this.serverSdk.findServer(openOptions);
|
|
19
18
|
const serverInfo = getServerInfo(server, await this.sessionSdk.getRemote(), this.options);
|
|
20
19
|
const processes = await this.getServerProcesses(server);
|
|
21
20
|
const runningProcess = processes.find((process) => process.appName === openOptions.appName);
|
|
@@ -33,12 +32,45 @@ export class ProcessSdk {
|
|
|
33
32
|
};
|
|
34
33
|
await invoke(this.sockPath, MsgType.AttachProcess, Buffer.from(JSON.stringify(attachInfo), 'ascii'));
|
|
35
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Start process with given options.
|
|
37
|
+
* It's not starting new, when app is already running
|
|
38
|
+
*/
|
|
39
|
+
async start(startOptions) {
|
|
40
|
+
const server = await this.serverSdk.findServer(startOptions);
|
|
41
|
+
const serverInfo = getServerInfo(server, await this.sessionSdk.getRemote(), this.options);
|
|
42
|
+
const processes = await this.getServerProcesses(server);
|
|
43
|
+
const runningProcess = processes.find((process) => process.appName === startOptions.appName);
|
|
44
|
+
let screenID;
|
|
45
|
+
if (!runningProcess) {
|
|
46
|
+
const startInfo = {
|
|
47
|
+
...serverInfo,
|
|
48
|
+
AppName: startOptions.appName,
|
|
49
|
+
AppArgs: startOptions.appArgs,
|
|
50
|
+
};
|
|
51
|
+
const screenIDBuffer = await invoke(this.sockPath, MsgType.StartProcess, Buffer.from(JSON.stringify(startInfo), 'utf8'));
|
|
52
|
+
screenID = screenIDBuffer.toString('ascii');
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
screenID = runningProcess.screenId;
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
screenDriver: serverInfo.ScreenDriver,
|
|
59
|
+
metadataDriver: serverInfo.MetadataDriver,
|
|
60
|
+
screenID: screenID,
|
|
61
|
+
screenHost: serverInfo.ScreenHost,
|
|
62
|
+
metadataHost: serverInfo.MetadataHost,
|
|
63
|
+
clientID: serverInfo.ClientID,
|
|
64
|
+
clientSecret: serverInfo.ClientSecret,
|
|
65
|
+
secure: serverInfo.Secure,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
36
68
|
/**
|
|
37
69
|
* Close process with given options.
|
|
38
|
-
* It closes the given process
|
|
70
|
+
* It closes the given process remotely and locally as well.
|
|
39
71
|
*/
|
|
40
72
|
async close(closeOptions) {
|
|
41
|
-
const server = await this.findServer(closeOptions);
|
|
73
|
+
const server = await this.serverSdk.findServer(closeOptions);
|
|
42
74
|
const processes = await this.getServerProcesses(server);
|
|
43
75
|
const runningProcess = processes.find((process) => process.appName === closeOptions.appName);
|
|
44
76
|
if (runningProcess) {
|
|
@@ -53,54 +85,37 @@ export class ProcessSdk {
|
|
|
53
85
|
}
|
|
54
86
|
}
|
|
55
87
|
/**
|
|
56
|
-
* Returns all currently running processes
|
|
88
|
+
* Returns all currently running processes remotely
|
|
57
89
|
*/
|
|
58
|
-
async getProcesses() {
|
|
59
|
-
const
|
|
90
|
+
async getProcesses(getProcessesOptions) {
|
|
91
|
+
const serverOptions = {};
|
|
92
|
+
if (getProcessesOptions?.serverUid) {
|
|
93
|
+
serverOptions.serverUids = [getProcessesOptions.serverUid];
|
|
94
|
+
}
|
|
95
|
+
const servers = await this.serverSdk.getServers(serverOptions);
|
|
60
96
|
const processes = [];
|
|
61
97
|
for (const server of servers) {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
processes.push(...serverProcesses);
|
|
65
|
-
}
|
|
66
|
-
catch (error) {
|
|
67
|
-
console.error(error);
|
|
68
|
-
}
|
|
98
|
+
const serverProcesses = await this.getServerProcesses(server);
|
|
99
|
+
processes.push(...serverProcesses);
|
|
69
100
|
}
|
|
70
101
|
return processes;
|
|
71
102
|
}
|
|
72
103
|
/**
|
|
73
104
|
* Returns all currently running processes locally attached to this computer
|
|
74
105
|
*/
|
|
75
|
-
async getAttachedProcesses() {
|
|
76
|
-
const processes = await this.getProcesses();
|
|
106
|
+
async getAttachedProcesses(getProcessesOptions) {
|
|
107
|
+
const processes = await this.getProcesses(getProcessesOptions);
|
|
77
108
|
const attachedScreenIdsData = await invoke(this.sockPath, MsgType.ListAttachedProcesses, Buffer.from(JSON.stringify({})));
|
|
78
109
|
const attachedScreenIds = [];
|
|
79
110
|
for (let i = 0; i < attachedScreenIdsData.byteLength; i += SCREEN_ID_SIZE) {
|
|
80
111
|
const screenId = attachedScreenIdsData.slice(i, i + SCREEN_ID_SIZE).toString('ascii');
|
|
81
112
|
attachedScreenIds.push(screenId);
|
|
82
113
|
}
|
|
83
|
-
const attachedProcesses = processes
|
|
114
|
+
const attachedProcesses = processes
|
|
115
|
+
.filter((process) => attachedScreenIds.includes(process.screenId))
|
|
116
|
+
.filter((process) => !getProcessesOptions?.serverUid || getProcessesOptions.serverUid === process.serverUid);
|
|
84
117
|
return attachedProcesses;
|
|
85
118
|
}
|
|
86
|
-
async getServers() {
|
|
87
|
-
const firebaseApp = await this.firebaseApp();
|
|
88
|
-
const serversCol = getServerCollection(firebaseApp);
|
|
89
|
-
const serversDocument = await serversCol.get();
|
|
90
|
-
return serversDocument.docs.map((doc) => doc.data());
|
|
91
|
-
}
|
|
92
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
93
|
-
async findServer(processOptions) {
|
|
94
|
-
const firebaseApp = await this.firebaseApp();
|
|
95
|
-
const serversCol = getServerCollection(firebaseApp);
|
|
96
|
-
const serversDocument = await serversCol.get();
|
|
97
|
-
const firstServerDocument = serversDocument.docs.find((s) => s.data().serverUid === processOptions.serverUid);
|
|
98
|
-
if (!firstServerDocument) {
|
|
99
|
-
throw new Error(`No servers found for user`);
|
|
100
|
-
}
|
|
101
|
-
const firstServer = firstServerDocument.data();
|
|
102
|
-
return firstServer;
|
|
103
|
-
}
|
|
104
119
|
async getServerProcesses(server) {
|
|
105
120
|
const serverInfo = getServerInfo(server, await this.sessionSdk.getRemote(), this.options);
|
|
106
121
|
const screenIdsData = await invoke(this.sockPath, MsgType.ListProcesses, Buffer.from(JSON.stringify(serverInfo)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProcessSdk.js","sourceRoot":"","sources":["../../../../src/Process/ProcessSdk.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProcessSdk.js","sourceRoot":"","sources":["../../../../src/Process/ProcessSdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,11 @@ import { Options } from "./Options";
|
|
|
2
2
|
import { ProcessSdk } from "./Process/ProcessSdk";
|
|
3
3
|
import { ConnectOptions } from './Session/Options';
|
|
4
4
|
import { SessionSdk } from "./Session/SessionSdk";
|
|
5
|
+
import { ServerSdk } from './Server/ServerSdk';
|
|
5
6
|
export declare class Sdk {
|
|
6
7
|
private readonly options?;
|
|
7
8
|
readonly session: SessionSdk;
|
|
9
|
+
readonly server: ServerSdk;
|
|
8
10
|
readonly process: ProcessSdk;
|
|
9
11
|
private readonly firebaseApp;
|
|
10
12
|
constructor(options?: Options | undefined);
|
package/dist/browser/src/Sdk.js
CHANGED
|
@@ -4,6 +4,7 @@ import { SessionSdk } from "./Session/SessionSdk";
|
|
|
4
4
|
import * as defaultFirebaseOptions from '../firebase.json';
|
|
5
5
|
import { createSessionStorage } from './Session/sessionStorageFactory';
|
|
6
6
|
import { wait } from './Timer/wait';
|
|
7
|
+
import { ServerSdk } from './Server/ServerSdk';
|
|
7
8
|
const FIREBASE_APP_NAME = 'sdk';
|
|
8
9
|
export class Sdk {
|
|
9
10
|
constructor(options) {
|
|
@@ -28,7 +29,8 @@ export class Sdk {
|
|
|
28
29
|
: firebase.app(FIREBASE_APP_NAME);
|
|
29
30
|
const sessionStorage = createSessionStorage(this.options);
|
|
30
31
|
this.session = new SessionSdk(this.options, this.getAuthenticatedFirebaseApp, sessionStorage);
|
|
31
|
-
this.
|
|
32
|
+
this.server = new ServerSdk(this.getAuthenticatedFirebaseApp);
|
|
33
|
+
this.process = new ProcessSdk(this.options, this.session, this.server);
|
|
32
34
|
}
|
|
33
35
|
/**
|
|
34
36
|
* @alias sdk.session.connect
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sdk.js","sourceRoot":"","sources":["../../../src/Sdk.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,sBAAsB,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"Sdk.js","sourceRoot":"","sources":["../../../src/Sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Options.js","sourceRoot":"","sources":["../../../../src/Server/Options.ts"],"names":[],"mappings":""}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Server.js","sourceRoot":"","sources":["../../../../src/Server/Server.ts"],"names":[],"mappings":"AACA,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IACnB,2BAAe,CAAA;IACf,+BAAmB,CAAA;AACpB,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import firebase from 'firebase';
|
|
2
|
+
import { FindServerOptions, GetServersOptions } from './Options';
|
|
3
|
+
export declare class ServerSdk {
|
|
4
|
+
private firebaseApp;
|
|
5
|
+
constructor(firebaseApp: () => Promise<firebase.app.App>);
|
|
6
|
+
getServers(options?: GetServersOptions): Promise<import("./Server").Server[]>;
|
|
7
|
+
findServer(processOptions: FindServerOptions): Promise<import("./Server").Server>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { getServerCollection } from '../Firebase/collections';
|
|
2
|
+
export class ServerSdk {
|
|
3
|
+
constructor(firebaseApp) {
|
|
4
|
+
this.firebaseApp = firebaseApp;
|
|
5
|
+
}
|
|
6
|
+
async getServers(options) {
|
|
7
|
+
const firebaseApp = await this.firebaseApp();
|
|
8
|
+
const serversCol = await getServerCollection(firebaseApp);
|
|
9
|
+
const query = options?.serverUids
|
|
10
|
+
? serversCol.where('serverUid', 'in', options.serverUids)
|
|
11
|
+
: serversCol;
|
|
12
|
+
const serversDocument = await query.get();
|
|
13
|
+
return serversDocument.docs.map((doc) => doc.data());
|
|
14
|
+
}
|
|
15
|
+
async findServer(processOptions) {
|
|
16
|
+
const firebaseApp = await this.firebaseApp();
|
|
17
|
+
const serversCol = await getServerCollection(firebaseApp);
|
|
18
|
+
const serversDocument = await serversCol.get();
|
|
19
|
+
const firstServerDocument = serversDocument.docs.find((s) => s.data().serverUid === processOptions.serverUid);
|
|
20
|
+
if (!firstServerDocument) {
|
|
21
|
+
throw new Error(`No servers found for user`);
|
|
22
|
+
}
|
|
23
|
+
const firstServer = firstServerDocument.data();
|
|
24
|
+
return firstServer;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=ServerSdk.js.map
|
|
@@ -0,0 +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;IAErB,YACS,WAA4C;QAA5C,gBAAW,GAAX,WAAW,CAAiC;IAClD,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,KAAK,GAAG,OAAO,EAAE,UAAU;YAChC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC;YACzD,CAAC,CAAC,UAAU,CAAC;QACd,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC;QAC1C,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,UAAU,CAAC,GAAG,EAAE,CAAC;QAC/C,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;YACzB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAC7C;QACD,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAC;QAC/C,OAAO,WAAW,CAAC;IACpB,CAAC;CACD"}
|
|
@@ -88,21 +88,21 @@ export class SessionSdk {
|
|
|
88
88
|
},
|
|
89
89
|
createdAt: session.createdAt,
|
|
90
90
|
};
|
|
91
|
-
const sessionsCol = getSessionCollection(firebaseApp);
|
|
91
|
+
const sessionsCol = await getSessionCollection(firebaseApp);
|
|
92
92
|
await sessionsCol.doc(session.uid).set(remoteSession);
|
|
93
|
-
const userDoc = getUserDocument(firebaseApp);
|
|
93
|
+
const userDoc = await getUserDocument(firebaseApp);
|
|
94
94
|
await userDoc.update({
|
|
95
95
|
'performRequests.ensureSessionsAt': new Date(),
|
|
96
96
|
});
|
|
97
97
|
}
|
|
98
98
|
async deleteRemoteSession(session) {
|
|
99
99
|
const firebaseApp = await this.firebaseApp();
|
|
100
|
-
const sessionsCol = getSessionCollection(firebaseApp);
|
|
100
|
+
const sessionsCol = await getSessionCollection(firebaseApp);
|
|
101
101
|
await sessionsCol.doc(session.uid).delete();
|
|
102
102
|
}
|
|
103
103
|
async getRemoteByCurrent(session) {
|
|
104
104
|
const firebaseApp = await this.firebaseApp();
|
|
105
|
-
const sessionsCol = getSessionCollection(firebaseApp);
|
|
105
|
+
const sessionsCol = await getSessionCollection(firebaseApp);
|
|
106
106
|
const sessionDocument = await sessionsCol.doc(session.uid).get();
|
|
107
107
|
const remoteSession = sessionDocument.data();
|
|
108
108
|
if (!remoteSession) {
|
|
@@ -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;AAGhF,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B,MAAM,OAAO,UAAU;IAEtB,YACkB,OAA4B,EACrC,WAA4C,EAC5C,cAA+B;QAFtB,YAAO,GAAP,OAAO,CAAqB;QACrC,gBAAW,GAAX,WAAW,CAAiC;QAC5C,mBAAc,GAAd,cAAc,CAAiB;IACrC,CAAC;IAEJ;;;OAGG;IACI,KAAK,CAAC,OAAO,CAAC,cAA+B;QACnD,IAAI;YACH,IAAI,cAAc,EAAE,SAAS,EAAE;gBAC9B,OAAO,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;aAC/B;iBAAM;gBACN,OAAO,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;aACpC;SACD;QAAC,OAAO,KAAK,EAAE;YACf,MAAM,OAAO,GAAG,cAAc,EAAE,OAAO,IAAI,eAAe,CAAC;YAC3D,IAAI,OAAO,IAAI,CAAC,EAAE;gBACjB,MAAM,KAAK,CAAC;aACZ;YAED,kFAAkF;YAClF,OAAO,IAAI,CAAC,OAAO,CAAC;gBACnB,GAAG,cAAc;gBACjB,OAAO,EAAE,OAAO,GAAG,CAAC;aACpB,CAAC,CAAC;SACH;IACF,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,SAAS;QACrB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,GAAG;QACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;QACzD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC/B,IAAI,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;gBACvC,OAAO,OAAO,CAAC;aACf;iBAAM;gBACN,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAClC,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;aACxC;SACD;QAED,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,eAAe;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;QACzD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1B,OAAO,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;SAC/B;aAAM;YACN,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;SAClB;IACF,CAAC;IAEO,KAAK,CAAC,UAAU;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAClC,OAAO,UAAU,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,OAAuB;QACxD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,aAAa,GAAkB;YACpC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,EAAE;gBACJ,SAAS,EAAE,MAAM,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC;aACnD;YACD,MAAM,EAAE;gBACP,EAAE,EAAE,gBAAgB,EAAE;gBACtB,MAAM,EAAE,oBAAoB,EAAE;aAC9B;YACD,SAAS,EAAE,OAAO,CAAC,SAAS;SAC5B,CAAC;QACF,MAAM,WAAW,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"SessionSdk.js","sourceRoot":"","sources":["../../../../src/Session/SessionSdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import firebase from 'firebase';
|
|
2
2
|
import { ServerApp } from '../Process/App/App';
|
|
3
|
-
import { Server } from '../
|
|
3
|
+
import { Server } from '../Server/Server';
|
|
4
4
|
import { ServerVolume } from '../Process/Volume/Volume';
|
|
5
5
|
import { RemoteSession } from '../Session/RemoteSession';
|
|
6
6
|
import { User } from '../User/User';
|
|
@@ -15,8 +15,9 @@ export declare enum UserServerCollection {
|
|
|
15
15
|
APP = "apps",
|
|
16
16
|
VOLUME = "volumes"
|
|
17
17
|
}
|
|
18
|
-
export declare function getUserDocument(firebaseApp: firebase.app.App): firebase.firestore.DocumentReference<User
|
|
19
|
-
export declare function
|
|
20
|
-
export declare function
|
|
21
|
-
export declare function
|
|
22
|
-
export declare function
|
|
18
|
+
export declare function getUserDocument(firebaseApp: firebase.app.App): Promise<firebase.firestore.DocumentReference<User>>;
|
|
19
|
+
export declare function getServerDocument(firebaseApp: firebase.app.App, serverUid: string): Promise<firebase.firestore.DocumentReference<Server>>;
|
|
20
|
+
export declare function getServerCollection(firebaseApp: firebase.app.App): Promise<firebase.firestore.CollectionReference<Server>>;
|
|
21
|
+
export declare function getSessionCollection(firebaseApp: firebase.app.App): Promise<firebase.firestore.CollectionReference<RemoteSession>>;
|
|
22
|
+
export declare function getServerAppCollection(firebaseApp: firebase.app.App, serverUid: string): Promise<firebase.firestore.CollectionReference<ServerApp>>;
|
|
23
|
+
export declare function getServerVolumeCollection(firebaseApp: firebase.app.App, serverUid: string): Promise<firebase.firestore.CollectionReference<ServerVolume>>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getServerVolumeCollection = exports.getServerAppCollection = exports.getSessionCollection = exports.getServerCollection = exports.getUserDocument = exports.UserServerCollection = exports.UserCollection = exports.MainCollection = void 0;
|
|
3
|
+
exports.getServerVolumeCollection = exports.getServerAppCollection = exports.getSessionCollection = exports.getServerCollection = exports.getServerDocument = exports.getUserDocument = exports.UserServerCollection = exports.UserCollection = exports.MainCollection = void 0;
|
|
4
4
|
var MainCollection;
|
|
5
5
|
(function (MainCollection) {
|
|
6
6
|
MainCollection["USER"] = "user";
|
|
@@ -15,31 +15,47 @@ var UserServerCollection;
|
|
|
15
15
|
UserServerCollection["APP"] = "apps";
|
|
16
16
|
UserServerCollection["VOLUME"] = "volumes";
|
|
17
17
|
})(UserServerCollection = exports.UserServerCollection || (exports.UserServerCollection = {}));
|
|
18
|
-
function
|
|
18
|
+
async function getUserDocument(firebaseApp) {
|
|
19
19
|
const user = firebaseApp.auth().currentUser;
|
|
20
20
|
if (!user) {
|
|
21
21
|
throw new Error(`User is not authenticated`);
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
const usersSnapshot = await firebaseApp.firestore().collection(MainCollection.USER).where('uid', '==', user.uid).get();
|
|
24
|
+
if (usersSnapshot.empty) {
|
|
25
|
+
throw new Error(`User was not found: ${user.uid}`);
|
|
26
|
+
}
|
|
27
|
+
const userSnapshot = usersSnapshot.docs[0];
|
|
28
|
+
return userSnapshot.ref;
|
|
27
29
|
}
|
|
28
30
|
exports.getUserDocument = getUserDocument;
|
|
29
|
-
function
|
|
30
|
-
|
|
31
|
+
async function getServerDocument(firebaseApp, serverUid) {
|
|
32
|
+
const serverCollection = await getServerCollection(firebaseApp);
|
|
33
|
+
const serversSnapshot = await serverCollection.where('serverUid', '==', serverUid).get();
|
|
34
|
+
if (serversSnapshot.empty) {
|
|
35
|
+
throw new Error(`Server was not found: ${serverUid}`);
|
|
36
|
+
}
|
|
37
|
+
const serverSnapshot = serversSnapshot.docs[0];
|
|
38
|
+
return serverSnapshot.ref;
|
|
39
|
+
}
|
|
40
|
+
exports.getServerDocument = getServerDocument;
|
|
41
|
+
async function getServerCollection(firebaseApp) {
|
|
42
|
+
const userDoc = await getUserDocument(firebaseApp);
|
|
43
|
+
return userDoc.collection(UserCollection.SERVER);
|
|
31
44
|
}
|
|
32
45
|
exports.getServerCollection = getServerCollection;
|
|
33
|
-
function getSessionCollection(firebaseApp) {
|
|
34
|
-
|
|
46
|
+
async function getSessionCollection(firebaseApp) {
|
|
47
|
+
const userDoc = await getUserDocument(firebaseApp);
|
|
48
|
+
return userDoc.collection(UserCollection.SESSION);
|
|
35
49
|
}
|
|
36
50
|
exports.getSessionCollection = getSessionCollection;
|
|
37
|
-
function getServerAppCollection(firebaseApp, serverUid) {
|
|
38
|
-
|
|
51
|
+
async function getServerAppCollection(firebaseApp, serverUid) {
|
|
52
|
+
const serverDoc = await getServerDocument(firebaseApp, serverUid);
|
|
53
|
+
return serverDoc.collection(UserServerCollection.APP);
|
|
39
54
|
}
|
|
40
55
|
exports.getServerAppCollection = getServerAppCollection;
|
|
41
|
-
function getServerVolumeCollection(firebaseApp, serverUid) {
|
|
42
|
-
|
|
56
|
+
async function getServerVolumeCollection(firebaseApp, serverUid) {
|
|
57
|
+
const serverDoc = await getServerDocument(firebaseApp, serverUid);
|
|
58
|
+
return serverDoc.collection(UserServerCollection.VOLUME);
|
|
43
59
|
}
|
|
44
60
|
exports.getServerVolumeCollection = getServerVolumeCollection;
|
|
45
61
|
//# sourceMappingURL=collections.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collections.js","sourceRoot":"","sources":["../../../../src/Firebase/collections.ts"],"names":[],"mappings":";;;AAOA,IAAY,cAEX;AAFD,WAAY,cAAc;IACzB,+BAAa,CAAA;AACd,CAAC,EAFW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAEzB;AAED,IAAY,cAGX;AAHD,WAAY,cAAc;IACzB,qCAAmB,CAAA;IACnB,mCAAiB,CAAA;AAClB,CAAC,EAHW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAGzB;AAED,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC/B,oCAAY,CAAA;IACZ,0CAAkB,CAAA;AACnB,CAAC,EAHW,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAG/B;
|
|
1
|
+
{"version":3,"file":"collections.js","sourceRoot":"","sources":["../../../../src/Firebase/collections.ts"],"names":[],"mappings":";;;AAOA,IAAY,cAEX;AAFD,WAAY,cAAc;IACzB,+BAAa,CAAA;AACd,CAAC,EAFW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAEzB;AAED,IAAY,cAGX;AAHD,WAAY,cAAc;IACzB,qCAAmB,CAAA;IACnB,mCAAiB,CAAA;AAClB,CAAC,EAHW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAGzB;AAED,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC/B,oCAAY,CAAA;IACZ,0CAAkB,CAAA;AACnB,CAAC,EAHW,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAG/B;AAEM,KAAK,UAAU,eAAe,CAAC,WAA6B;IAClE,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC;IAC5C,IAAI,CAAC,IAAI,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;KAC7C;IACD,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACvH,IAAI,aAAa,CAAC,KAAK,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;KACnD;IACD,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,OAAO,YAAY,CAAC,GAAiD,CAAC;AACvE,CAAC;AAXD,0CAWC;AAEM,KAAK,UAAU,iBAAiB,CAAC,WAA6B,EAAE,SAAiB;IACvF,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAChE,MAAM,eAAe,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;IACzF,IAAI,eAAe,CAAC,KAAK,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;KACtD;IACD,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/C,OAAO,cAAc,CAAC,GAAG,CAAC;AAC3B,CAAC;AARD,8CAQC;AAEM,KAAK,UAAU,mBAAmB,CAAC,WAA6B;IACtE,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IACnD,OAAO,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAmD,CAAC;AACpG,CAAC;AAHD,kDAGC;AAEM,KAAK,UAAU,oBAAoB,CAAC,WAA6B;IACvE,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IACnD,OAAO,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAA0D,CAAC;AAC5G,CAAC;AAHD,oDAGC;AAEM,KAAK,UAAU,sBAAsB,CAAC,WAA6B,EAAE,SAAiB;IAC5F,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAClE,OAAO,SAAS,CAAC,UAAU,CAAC,oBAAoB,CAAC,GAAG,CAAsD,CAAC;AAC5G,CAAC;AAHD,wDAGC;AAEM,KAAK,UAAU,yBAAyB,CAAC,WAA6B,EAAE,SAAiB;IAC/F,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAClE,OAAO,SAAS,CAAC,UAAU,CAAC,oBAAoB,CAAC,MAAM,CAAyD,CAAC;AAClH,CAAC;AAHD,8DAGC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { Server } from '../
|
|
2
|
+
import { Server } from '../Server/Server';
|
|
3
3
|
import { RemoteSession } from '../Session/RemoteSession';
|
|
4
4
|
import { NetPacketDriver, NetStreamDriver, Options } from '../Options';
|
|
5
5
|
export declare enum MsgType {
|
|
@@ -10,9 +10,21 @@ export interface OpenOptions {
|
|
|
10
10
|
/** If this option is specified, it will fail when process of application not running */
|
|
11
11
|
runningOnly?: boolean;
|
|
12
12
|
}
|
|
13
|
+
export interface StartOptions {
|
|
14
|
+
/** Identify server where the process will be running */
|
|
15
|
+
serverUid: string;
|
|
16
|
+
/** Name of application which creating the process */
|
|
17
|
+
appName: string;
|
|
18
|
+
/** array of args passed to program process when is started */
|
|
19
|
+
appArgs: string[];
|
|
20
|
+
}
|
|
13
21
|
export interface CloseOptions {
|
|
14
22
|
/** Identify server where the process will be stopped */
|
|
15
23
|
serverUid: string;
|
|
16
24
|
/** Name of application which closing the process */
|
|
17
25
|
appName: string;
|
|
18
26
|
}
|
|
27
|
+
export interface GetProcessesOptions {
|
|
28
|
+
/** Identify server where the process will be listed */
|
|
29
|
+
serverUid: string;
|
|
30
|
+
}
|
|
@@ -1,34 +1,46 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { OpenOptions, CloseOptions } from "./Options";
|
|
1
|
+
import { OpenOptions, CloseOptions, StartOptions, GetProcessesOptions } from "./Options";
|
|
3
2
|
import { Process } from './Process';
|
|
4
3
|
import { Options } from '../Options';
|
|
5
4
|
import { SessionSdk } from '../Session/SessionSdk';
|
|
5
|
+
import { ServerSdk } from '../Server/ServerSdk';
|
|
6
6
|
export declare class ProcessSdk {
|
|
7
7
|
private options;
|
|
8
8
|
private sessionSdk;
|
|
9
|
-
private
|
|
9
|
+
private serverSdk;
|
|
10
10
|
private sockPath;
|
|
11
|
-
constructor(options: Options | undefined, sessionSdk: SessionSdk,
|
|
11
|
+
constructor(options: Options | undefined, sessionSdk: SessionSdk, serverSdk: ServerSdk);
|
|
12
12
|
/**
|
|
13
13
|
* Open process with given options.
|
|
14
14
|
* It can open existing process or create new process based on options.
|
|
15
15
|
* If not special options specified, try to reuse existing process of app.
|
|
16
16
|
*/
|
|
17
17
|
open(openOptions: OpenOptions): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Start process with given options.
|
|
20
|
+
* It's not starting new, when app is already running
|
|
21
|
+
*/
|
|
22
|
+
start(startOptions: StartOptions): Promise<{
|
|
23
|
+
screenDriver: import("../Options").NetPacketDriver;
|
|
24
|
+
metadataDriver: import("../Options").NetStreamDriver;
|
|
25
|
+
screenID: string;
|
|
26
|
+
screenHost: string;
|
|
27
|
+
metadataHost: string;
|
|
28
|
+
clientID: string;
|
|
29
|
+
clientSecret: string;
|
|
30
|
+
secure: boolean;
|
|
31
|
+
}>;
|
|
18
32
|
/**
|
|
19
33
|
* Close process with given options.
|
|
20
|
-
* It closes the given process
|
|
34
|
+
* It closes the given process remotely and locally as well.
|
|
21
35
|
*/
|
|
22
36
|
close(closeOptions: CloseOptions): Promise<void>;
|
|
23
37
|
/**
|
|
24
|
-
* Returns all currently running processes
|
|
38
|
+
* Returns all currently running processes remotely
|
|
25
39
|
*/
|
|
26
|
-
getProcesses(): Promise<Process[]>;
|
|
40
|
+
getProcesses(getProcessesOptions?: GetProcessesOptions): Promise<Process[]>;
|
|
27
41
|
/**
|
|
28
42
|
* Returns all currently running processes locally attached to this computer
|
|
29
43
|
*/
|
|
30
|
-
getAttachedProcesses(): Promise<Process[]>;
|
|
31
|
-
private getServers;
|
|
32
|
-
private findServer;
|
|
44
|
+
getAttachedProcesses(getProcessesOptions?: GetProcessesOptions): Promise<Process[]>;
|
|
33
45
|
private getServerProcesses;
|
|
34
46
|
}
|
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ProcessSdk = void 0;
|
|
4
4
|
const daemonHelper_1 = require("../Platform/daemonHelper");
|
|
5
|
-
const collections_1 = require("../Firebase/collections");
|
|
6
5
|
const pathHelper_1 = require("../Platform/pathHelper");
|
|
7
6
|
const SCREEN_ID_SIZE = 40;
|
|
8
7
|
class ProcessSdk {
|
|
9
|
-
constructor(options, sessionSdk,
|
|
8
|
+
constructor(options, sessionSdk, serverSdk) {
|
|
10
9
|
this.options = options;
|
|
11
10
|
this.sessionSdk = sessionSdk;
|
|
12
|
-
this.
|
|
11
|
+
this.serverSdk = serverSdk;
|
|
13
12
|
this.sockPath = pathHelper_1.getSockPath(options);
|
|
14
13
|
}
|
|
15
14
|
/**
|
|
@@ -18,7 +17,7 @@ class ProcessSdk {
|
|
|
18
17
|
* If not special options specified, try to reuse existing process of app.
|
|
19
18
|
*/
|
|
20
19
|
async open(openOptions) {
|
|
21
|
-
const server = await this.findServer(openOptions);
|
|
20
|
+
const server = await this.serverSdk.findServer(openOptions);
|
|
22
21
|
const serverInfo = daemonHelper_1.getServerInfo(server, await this.sessionSdk.getRemote(), this.options);
|
|
23
22
|
const processes = await this.getServerProcesses(server);
|
|
24
23
|
const runningProcess = processes.find((process) => process.appName === openOptions.appName);
|
|
@@ -36,12 +35,45 @@ class ProcessSdk {
|
|
|
36
35
|
};
|
|
37
36
|
await daemonHelper_1.invoke(this.sockPath, daemonHelper_1.MsgType.AttachProcess, Buffer.from(JSON.stringify(attachInfo), 'ascii'));
|
|
38
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Start process with given options.
|
|
40
|
+
* It's not starting new, when app is already running
|
|
41
|
+
*/
|
|
42
|
+
async start(startOptions) {
|
|
43
|
+
const server = await this.serverSdk.findServer(startOptions);
|
|
44
|
+
const serverInfo = daemonHelper_1.getServerInfo(server, await this.sessionSdk.getRemote(), this.options);
|
|
45
|
+
const processes = await this.getServerProcesses(server);
|
|
46
|
+
const runningProcess = processes.find((process) => process.appName === startOptions.appName);
|
|
47
|
+
let screenID;
|
|
48
|
+
if (!runningProcess) {
|
|
49
|
+
const startInfo = {
|
|
50
|
+
...serverInfo,
|
|
51
|
+
AppName: startOptions.appName,
|
|
52
|
+
AppArgs: startOptions.appArgs,
|
|
53
|
+
};
|
|
54
|
+
const screenIDBuffer = await daemonHelper_1.invoke(this.sockPath, daemonHelper_1.MsgType.StartProcess, Buffer.from(JSON.stringify(startInfo), 'utf8'));
|
|
55
|
+
screenID = screenIDBuffer.toString('ascii');
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
screenID = runningProcess.screenId;
|
|
59
|
+
}
|
|
60
|
+
return {
|
|
61
|
+
screenDriver: serverInfo.ScreenDriver,
|
|
62
|
+
metadataDriver: serverInfo.MetadataDriver,
|
|
63
|
+
screenID: screenID,
|
|
64
|
+
screenHost: serverInfo.ScreenHost,
|
|
65
|
+
metadataHost: serverInfo.MetadataHost,
|
|
66
|
+
clientID: serverInfo.ClientID,
|
|
67
|
+
clientSecret: serverInfo.ClientSecret,
|
|
68
|
+
secure: serverInfo.Secure,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
39
71
|
/**
|
|
40
72
|
* Close process with given options.
|
|
41
|
-
* It closes the given process
|
|
73
|
+
* It closes the given process remotely and locally as well.
|
|
42
74
|
*/
|
|
43
75
|
async close(closeOptions) {
|
|
44
|
-
const server = await this.findServer(closeOptions);
|
|
76
|
+
const server = await this.serverSdk.findServer(closeOptions);
|
|
45
77
|
const processes = await this.getServerProcesses(server);
|
|
46
78
|
const runningProcess = processes.find((process) => process.appName === closeOptions.appName);
|
|
47
79
|
if (runningProcess) {
|
|
@@ -56,54 +88,37 @@ class ProcessSdk {
|
|
|
56
88
|
}
|
|
57
89
|
}
|
|
58
90
|
/**
|
|
59
|
-
* Returns all currently running processes
|
|
91
|
+
* Returns all currently running processes remotely
|
|
60
92
|
*/
|
|
61
|
-
async getProcesses() {
|
|
62
|
-
const
|
|
93
|
+
async getProcesses(getProcessesOptions) {
|
|
94
|
+
const serverOptions = {};
|
|
95
|
+
if (getProcessesOptions?.serverUid) {
|
|
96
|
+
serverOptions.serverUids = [getProcessesOptions.serverUid];
|
|
97
|
+
}
|
|
98
|
+
const servers = await this.serverSdk.getServers(serverOptions);
|
|
63
99
|
const processes = [];
|
|
64
100
|
for (const server of servers) {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
processes.push(...serverProcesses);
|
|
68
|
-
}
|
|
69
|
-
catch (error) {
|
|
70
|
-
console.error(error);
|
|
71
|
-
}
|
|
101
|
+
const serverProcesses = await this.getServerProcesses(server);
|
|
102
|
+
processes.push(...serverProcesses);
|
|
72
103
|
}
|
|
73
104
|
return processes;
|
|
74
105
|
}
|
|
75
106
|
/**
|
|
76
107
|
* Returns all currently running processes locally attached to this computer
|
|
77
108
|
*/
|
|
78
|
-
async getAttachedProcesses() {
|
|
79
|
-
const processes = await this.getProcesses();
|
|
109
|
+
async getAttachedProcesses(getProcessesOptions) {
|
|
110
|
+
const processes = await this.getProcesses(getProcessesOptions);
|
|
80
111
|
const attachedScreenIdsData = await daemonHelper_1.invoke(this.sockPath, daemonHelper_1.MsgType.ListAttachedProcesses, Buffer.from(JSON.stringify({})));
|
|
81
112
|
const attachedScreenIds = [];
|
|
82
113
|
for (let i = 0; i < attachedScreenIdsData.byteLength; i += SCREEN_ID_SIZE) {
|
|
83
114
|
const screenId = attachedScreenIdsData.slice(i, i + SCREEN_ID_SIZE).toString('ascii');
|
|
84
115
|
attachedScreenIds.push(screenId);
|
|
85
116
|
}
|
|
86
|
-
const attachedProcesses = processes
|
|
117
|
+
const attachedProcesses = processes
|
|
118
|
+
.filter((process) => attachedScreenIds.includes(process.screenId))
|
|
119
|
+
.filter((process) => !getProcessesOptions?.serverUid || getProcessesOptions.serverUid === process.serverUid);
|
|
87
120
|
return attachedProcesses;
|
|
88
121
|
}
|
|
89
|
-
async getServers() {
|
|
90
|
-
const firebaseApp = await this.firebaseApp();
|
|
91
|
-
const serversCol = collections_1.getServerCollection(firebaseApp);
|
|
92
|
-
const serversDocument = await serversCol.get();
|
|
93
|
-
return serversDocument.docs.map((doc) => doc.data());
|
|
94
|
-
}
|
|
95
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
96
|
-
async findServer(processOptions) {
|
|
97
|
-
const firebaseApp = await this.firebaseApp();
|
|
98
|
-
const serversCol = collections_1.getServerCollection(firebaseApp);
|
|
99
|
-
const serversDocument = await serversCol.get();
|
|
100
|
-
const firstServerDocument = serversDocument.docs.find((s) => s.data().serverUid === processOptions.serverUid);
|
|
101
|
-
if (!firstServerDocument) {
|
|
102
|
-
throw new Error(`No servers found for user`);
|
|
103
|
-
}
|
|
104
|
-
const firstServer = firstServerDocument.data();
|
|
105
|
-
return firstServer;
|
|
106
|
-
}
|
|
107
122
|
async getServerProcesses(server) {
|
|
108
123
|
const serverInfo = daemonHelper_1.getServerInfo(server, await this.sessionSdk.getRemote(), this.options);
|
|
109
124
|
const screenIdsData = await daemonHelper_1.invoke(this.sockPath, daemonHelper_1.MsgType.ListProcesses, Buffer.from(JSON.stringify(serverInfo)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProcessSdk.js","sourceRoot":"","sources":["../../../../src/Process/ProcessSdk.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ProcessSdk.js","sourceRoot":"","sources":["../../../../src/Process/ProcessSdk.ts"],"names":[],"mappings":"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"}
|
package/dist/node/src/Sdk.d.ts
CHANGED
|
@@ -2,9 +2,11 @@ import { Options } from "./Options";
|
|
|
2
2
|
import { ProcessSdk } from "./Process/ProcessSdk";
|
|
3
3
|
import { ConnectOptions } from './Session/Options';
|
|
4
4
|
import { SessionSdk } from "./Session/SessionSdk";
|
|
5
|
+
import { ServerSdk } from './Server/ServerSdk';
|
|
5
6
|
export declare class Sdk {
|
|
6
7
|
private readonly options?;
|
|
7
8
|
readonly session: SessionSdk;
|
|
9
|
+
readonly server: ServerSdk;
|
|
8
10
|
readonly process: ProcessSdk;
|
|
9
11
|
private readonly firebaseApp;
|
|
10
12
|
constructor(options?: Options | undefined);
|
package/dist/node/src/Sdk.js
CHANGED
|
@@ -29,6 +29,7 @@ const SessionSdk_1 = require("./Session/SessionSdk");
|
|
|
29
29
|
const defaultFirebaseOptions = __importStar(require("../firebase.json"));
|
|
30
30
|
const sessionStorageFactory_1 = require("./Session/sessionStorageFactory");
|
|
31
31
|
const wait_1 = require("./Timer/wait");
|
|
32
|
+
const ServerSdk_1 = require("./Server/ServerSdk");
|
|
32
33
|
const FIREBASE_APP_NAME = 'sdk';
|
|
33
34
|
class Sdk {
|
|
34
35
|
constructor(options) {
|
|
@@ -53,7 +54,8 @@ class Sdk {
|
|
|
53
54
|
: firebase_1.default.app(FIREBASE_APP_NAME);
|
|
54
55
|
const sessionStorage = sessionStorageFactory_1.createSessionStorage(this.options);
|
|
55
56
|
this.session = new SessionSdk_1.SessionSdk(this.options, this.getAuthenticatedFirebaseApp, sessionStorage);
|
|
56
|
-
this.
|
|
57
|
+
this.server = new ServerSdk_1.ServerSdk(this.getAuthenticatedFirebaseApp);
|
|
58
|
+
this.process = new ProcessSdk_1.ProcessSdk(this.options, this.session, this.server);
|
|
57
59
|
}
|
|
58
60
|
/**
|
|
59
61
|
* @alias sdk.session.connect
|
package/dist/node/src/Sdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sdk.js","sourceRoot":"","sources":["../../../src/Sdk.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAgC;AAEhC,qDAAkD;AAElD,qDAAkD;AAClD,yEAA2D;AAC3D,2EAAuE;AACvE,uCAAoC;
|
|
1
|
+
{"version":3,"file":"Sdk.js","sourceRoot":"","sources":["../../../src/Sdk.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAgC;AAEhC,qDAAkD;AAElD,qDAAkD;AAClD,yEAA2D;AAC3D,2EAAuE;AACvE,uCAAoC;AACpC,kDAA+C;AAE/C,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEhC,MAAa,GAAG;IAQf,YACkB,OAAiB;QAAjB,YAAO,GAAP,OAAO,CAAU;QAoB3B,gCAA2B,GAAG,KAAK,IAAI,EAAE;YAChD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;gBACzC,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC;gBACnD,IAAI,CAAC,gBAAgB,EAAE;oBACtB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;iBACrD;gBACD,MAAM,eAAe,GAAG,kBAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;gBAChF,IAAI,CAAC,eAAe,EAAE;oBACrB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;iBACjE;gBACD,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;aACrC;YAED,OAAO,IAAI,CAAC,WAAW,CAAC;QACzB,CAAC,CAAA;QAhCA,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,sBAAsB,CAAC;QACzE,IAAI,CAAC,WAAW,GAAG,CAAC,kBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC;YAC1E,CAAC,CAAC,kBAAQ,CAAC,aAAa,CAAC,eAAe,EAAE,iBAAiB,CAAC;YAC5D,CAAC,CAAC,kBAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAEnC,MAAM,cAAc,GAAG,4CAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,2BAA2B,EAAE,cAAc,CAAC,CAAC;QAC9F,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,OAAO,CAAC,cAA+B;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7C,CAAC;IAkBO,KAAK,CAAC,QAAQ,CAAC,eAA6C;QACnE,IAAI,SAA4B,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3B,IAAI;gBACH,iFAAiF;gBACjF,iGAAiG;gBACjG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;gBACpE,OAAO;aACP;YAAC,OAAO,KAAK,EAAE;gBACf,SAAS,GAAG,KAAK,CAAA;gBACjB,MAAM,WAAI,CAAC,GAAG,CAAC,CAAC;aAChB;SACD;QACD,MAAM,SAAS,CAAC;IACjB,CAAC;CACD;AA5DD,kBA4DC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Options.js","sourceRoot":"","sources":["../../../../src/Server/Options.ts"],"names":[],"mappings":""}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Server.js","sourceRoot":"","sources":["../../../../src/Server/Server.ts"],"names":[],"mappings":";;;AACA,IAAY,QAGX;AAHD,WAAY,QAAQ;IACnB,2BAAe,CAAA;IACf,+BAAmB,CAAA;AACpB,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import firebase from 'firebase';
|
|
2
|
+
import { FindServerOptions, GetServersOptions } from './Options';
|
|
3
|
+
export declare class ServerSdk {
|
|
4
|
+
private firebaseApp;
|
|
5
|
+
constructor(firebaseApp: () => Promise<firebase.app.App>);
|
|
6
|
+
getServers(options?: GetServersOptions): Promise<import("./Server").Server[]>;
|
|
7
|
+
findServer(processOptions: FindServerOptions): Promise<import("./Server").Server>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ServerSdk = void 0;
|
|
4
|
+
const collections_1 = require("../Firebase/collections");
|
|
5
|
+
class ServerSdk {
|
|
6
|
+
constructor(firebaseApp) {
|
|
7
|
+
this.firebaseApp = firebaseApp;
|
|
8
|
+
}
|
|
9
|
+
async getServers(options) {
|
|
10
|
+
const firebaseApp = await this.firebaseApp();
|
|
11
|
+
const serversCol = await collections_1.getServerCollection(firebaseApp);
|
|
12
|
+
const query = options?.serverUids
|
|
13
|
+
? serversCol.where('serverUid', 'in', options.serverUids)
|
|
14
|
+
: serversCol;
|
|
15
|
+
const serversDocument = await query.get();
|
|
16
|
+
return serversDocument.docs.map((doc) => doc.data());
|
|
17
|
+
}
|
|
18
|
+
async findServer(processOptions) {
|
|
19
|
+
const firebaseApp = await this.firebaseApp();
|
|
20
|
+
const serversCol = await collections_1.getServerCollection(firebaseApp);
|
|
21
|
+
const serversDocument = await serversCol.get();
|
|
22
|
+
const firstServerDocument = serversDocument.docs.find((s) => s.data().serverUid === processOptions.serverUid);
|
|
23
|
+
if (!firstServerDocument) {
|
|
24
|
+
throw new Error(`No servers found for user`);
|
|
25
|
+
}
|
|
26
|
+
const firstServer = firstServerDocument.data();
|
|
27
|
+
return firstServer;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.ServerSdk = ServerSdk;
|
|
31
|
+
//# sourceMappingURL=ServerSdk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServerSdk.js","sourceRoot":"","sources":["../../../../src/Server/ServerSdk.ts"],"names":[],"mappings":";;;AACA,yDAA8D;AAG9D,MAAa,SAAS;IAErB,YACS,WAA4C;QAA5C,gBAAW,GAAX,WAAW,CAAiC;IAClD,CAAC;IAEG,KAAK,CAAC,UAAU,CAAC,OAA2B;QAClD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,MAAM,iCAAmB,CAAC,WAAW,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,OAAO,EAAE,UAAU;YAChC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC;YACzD,CAAC,CAAC,UAAU,CAAC;QACd,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC;QAC1C,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,iCAAmB,CAAC,WAAW,CAAC,CAAC;QAC1D,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CAAC;QAC/C,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;YACzB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAC7C;QACD,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAC;QAC/C,OAAO,WAAW,CAAC;IACpB,CAAC;CACD;AA3BD,8BA2BC"}
|
|
@@ -91,21 +91,21 @@ class SessionSdk {
|
|
|
91
91
|
},
|
|
92
92
|
createdAt: session.createdAt,
|
|
93
93
|
};
|
|
94
|
-
const sessionsCol = collections_1.getSessionCollection(firebaseApp);
|
|
94
|
+
const sessionsCol = await collections_1.getSessionCollection(firebaseApp);
|
|
95
95
|
await sessionsCol.doc(session.uid).set(remoteSession);
|
|
96
|
-
const userDoc = collections_1.getUserDocument(firebaseApp);
|
|
96
|
+
const userDoc = await collections_1.getUserDocument(firebaseApp);
|
|
97
97
|
await userDoc.update({
|
|
98
98
|
'performRequests.ensureSessionsAt': new Date(),
|
|
99
99
|
});
|
|
100
100
|
}
|
|
101
101
|
async deleteRemoteSession(session) {
|
|
102
102
|
const firebaseApp = await this.firebaseApp();
|
|
103
|
-
const sessionsCol = collections_1.getSessionCollection(firebaseApp);
|
|
103
|
+
const sessionsCol = await collections_1.getSessionCollection(firebaseApp);
|
|
104
104
|
await sessionsCol.doc(session.uid).delete();
|
|
105
105
|
}
|
|
106
106
|
async getRemoteByCurrent(session) {
|
|
107
107
|
const firebaseApp = await this.firebaseApp();
|
|
108
|
-
const sessionsCol = collections_1.getSessionCollection(firebaseApp);
|
|
108
|
+
const sessionsCol = await collections_1.getSessionCollection(firebaseApp);
|
|
109
109
|
const sessionDocument = await sessionsCol.doc(session.uid).get();
|
|
110
110
|
const remoteSession = sessionDocument.data();
|
|
111
111
|
if (!remoteSession) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionSdk.js","sourceRoot":"","sources":["../../../../src/Session/SessionSdk.ts"],"names":[],"mappings":";;;AAGA,iDAA+F;AAG/F,qDAA6D;AAC7D,yDAAgF;AAGhF,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B,MAAa,UAAU;IAEtB,YACkB,OAA4B,EACrC,WAA4C,EAC5C,cAA+B;QAFtB,YAAO,GAAP,OAAO,CAAqB;QACrC,gBAAW,GAAX,WAAW,CAAiC;QAC5C,mBAAc,GAAd,cAAc,CAAiB;IACrC,CAAC;IAEJ;;;OAGG;IACI,KAAK,CAAC,OAAO,CAAC,cAA+B;QACnD,IAAI;YACH,IAAI,cAAc,EAAE,SAAS,EAAE;gBAC9B,OAAO,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;aAC/B;iBAAM;gBACN,OAAO,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;aACpC;SACD;QAAC,OAAO,KAAK,EAAE;YACf,MAAM,OAAO,GAAG,cAAc,EAAE,OAAO,IAAI,eAAe,CAAC;YAC3D,IAAI,OAAO,IAAI,CAAC,EAAE;gBACjB,MAAM,KAAK,CAAC;aACZ;YAED,kFAAkF;YAClF,OAAO,IAAI,CAAC,OAAO,CAAC;gBACnB,GAAG,cAAc;gBACjB,OAAO,EAAE,OAAO,GAAG,CAAC;aACpB,CAAC,CAAC;SACH;IACF,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,SAAS;QACrB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,GAAG;QACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;QACzD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC/B,IAAI,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;gBACvC,OAAO,OAAO,CAAC;aACf;iBAAM;gBACN,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAClC,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;aACxC;SACD;QAED,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,eAAe;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;QACzD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1B,OAAO,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;SAC/B;aAAM;YACN,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;SAClB;IACF,CAAC;IAEO,KAAK,CAAC,UAAU;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAClC,OAAO,UAAU,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,OAAuB;QACxD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,aAAa,GAAkB;YACpC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,EAAE;gBACJ,SAAS,EAAE,MAAM,gCAAoB,CAAC,IAAI,CAAC,OAAO,CAAC;aACnD;YACD,MAAM,EAAE;gBACP,EAAE,EAAE,4BAAgB,EAAE;gBACtB,MAAM,EAAE,gCAAoB,EAAE;aAC9B;YACD,SAAS,EAAE,OAAO,CAAC,SAAS;SAC5B,CAAC;QACF,MAAM,WAAW,GAAG,kCAAoB,CAAC,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"SessionSdk.js","sourceRoot":"","sources":["../../../../src/Session/SessionSdk.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Server.js","sourceRoot":"","sources":["../../../../src/Process/Server.ts"],"names":[],"mappings":"AACA,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IACnB,2BAAe,CAAA;IACf,+BAAmB,CAAA;AACpB,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Server.js","sourceRoot":"","sources":["../../../../src/Process/Server.ts"],"names":[],"mappings":";;;AACA,IAAY,QAGX;AAHD,WAAY,QAAQ;IACnB,2BAAe,CAAA;IACf,+BAAmB,CAAA;AACpB,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB"}
|