@supraio/client-sdk 0.0.1-master.1 → 0.0.1-master.11

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.
Files changed (89) hide show
  1. package/dist/browser/src/Firebase/collections.d.ts +9 -7
  2. package/dist/browser/src/Firebase/collections.js +36 -13
  3. package/dist/browser/src/Firebase/collections.js.map +1 -1
  4. package/dist/browser/src/Options.d.ts +4 -4
  5. package/dist/browser/src/Options.js +4 -4
  6. package/dist/browser/src/Options.js.map +1 -1
  7. package/dist/browser/src/Platform/daemonHelper.d.ts +1 -2
  8. package/dist/browser/src/Platform/daemonHelper.js +2 -2
  9. package/dist/browser/src/Platform/daemonHelper.js.map +1 -1
  10. package/dist/browser/src/Platform/pathHelper.js.map +1 -1
  11. package/dist/browser/src/Platform/sshHelper.js +27 -2
  12. package/dist/browser/src/Platform/sshHelper.js.map +1 -1
  13. package/dist/browser/src/Process/App/App.d.ts +3 -1
  14. package/dist/browser/src/Process/Options.d.ts +12 -0
  15. package/dist/browser/src/Process/Process.d.ts +1 -0
  16. package/dist/browser/src/Process/ProcessSdk.d.ts +22 -10
  17. package/dist/browser/src/Process/ProcessSdk.js +57 -37
  18. package/dist/browser/src/Process/ProcessSdk.js.map +1 -1
  19. package/dist/browser/src/Sdk.d.ts +2 -0
  20. package/dist/browser/src/Sdk.js +31 -20
  21. package/dist/browser/src/Sdk.js.map +1 -1
  22. package/dist/browser/src/Server/Options.d.ts +8 -0
  23. package/dist/browser/src/Server/Options.js +2 -0
  24. package/dist/browser/src/Server/Options.js.map +1 -0
  25. package/dist/browser/src/Server/Server.js.map +1 -0
  26. package/dist/browser/src/Server/ServerSdk.d.ts +8 -0
  27. package/dist/browser/src/Server/ServerSdk.js +29 -0
  28. package/dist/browser/src/Server/ServerSdk.js.map +1 -0
  29. package/dist/browser/src/Session/FSSessionStorage.js +2 -1
  30. package/dist/browser/src/Session/FSSessionStorage.js.map +1 -1
  31. package/dist/browser/src/Session/SessionSdk.d.ts +10 -2
  32. package/dist/browser/src/Session/SessionSdk.js +39 -11
  33. package/dist/browser/src/Session/SessionSdk.js.map +1 -1
  34. package/dist/browser/src/Session/sessionStorageFactory.js.map +1 -1
  35. package/dist/browser/src/User/User.d.ts +1 -0
  36. package/dist/browser/src/polyfill.d.ts +0 -1
  37. package/dist/browser/src/polyfill.js.map +1 -1
  38. package/dist/node/src/Firebase/collections.d.ts +9 -7
  39. package/dist/node/src/Firebase/collections.js +46 -22
  40. package/dist/node/src/Firebase/collections.js.map +1 -1
  41. package/dist/node/src/Hash/generator.js +4 -5
  42. package/dist/node/src/Hash/generator.js.map +1 -1
  43. package/dist/node/src/Options.d.ts +4 -4
  44. package/dist/node/src/Options.js +6 -6
  45. package/dist/node/src/Options.js.map +1 -1
  46. package/dist/node/src/Platform/daemonHelper.d.ts +1 -2
  47. package/dist/node/src/Platform/daemonHelper.js +8 -8
  48. package/dist/node/src/Platform/daemonHelper.js.map +1 -1
  49. package/dist/node/src/Platform/pathHelper.js +14 -15
  50. package/dist/node/src/Platform/pathHelper.js.map +1 -1
  51. package/dist/node/src/Platform/sshHelper.js +31 -7
  52. package/dist/node/src/Platform/sshHelper.js.map +1 -1
  53. package/dist/node/src/Process/App/App.d.ts +3 -1
  54. package/dist/node/src/Process/Options.d.ts +12 -0
  55. package/dist/node/src/Process/Process.d.ts +1 -0
  56. package/dist/node/src/Process/ProcessSdk.d.ts +22 -10
  57. package/dist/node/src/Process/ProcessSdk.js +68 -48
  58. package/dist/node/src/Process/ProcessSdk.js.map +1 -1
  59. package/dist/node/src/Sdk.d.ts +2 -0
  60. package/dist/node/src/Sdk.js +38 -26
  61. package/dist/node/src/Sdk.js.map +1 -1
  62. package/dist/node/src/Server/Options.d.ts +8 -0
  63. package/dist/node/src/Server/Options.js +3 -0
  64. package/dist/node/src/Server/Options.js.map +1 -0
  65. package/dist/node/src/{Process → Server}/Server.js +1 -1
  66. package/dist/node/src/Server/Server.js.map +1 -0
  67. package/dist/node/src/Server/ServerSdk.d.ts +8 -0
  68. package/dist/node/src/Server/ServerSdk.js +33 -0
  69. package/dist/node/src/Server/ServerSdk.js.map +1 -0
  70. package/dist/node/src/Session/FSSessionStorage.js +3 -2
  71. package/dist/node/src/Session/FSSessionStorage.js.map +1 -1
  72. package/dist/node/src/Session/SessionSdk.d.ts +10 -2
  73. package/dist/node/src/Session/SessionSdk.js +44 -16
  74. package/dist/node/src/Session/SessionSdk.js.map +1 -1
  75. package/dist/node/src/Session/sessionStorageFactory.js +1 -2
  76. package/dist/node/src/Session/sessionStorageFactory.js.map +1 -1
  77. package/dist/node/src/Timer/wait.js +1 -2
  78. package/dist/node/src/Timer/wait.js.map +1 -1
  79. package/dist/node/src/User/User.d.ts +1 -0
  80. package/dist/node/src/index.js +5 -1
  81. package/dist/node/src/index.js.map +1 -1
  82. package/dist/node/src/polyfill.d.ts +0 -1
  83. package/dist/node/src/polyfill.js.map +1 -1
  84. package/package.json +4 -4
  85. package/dist/browser/src/Process/Server.js.map +0 -1
  86. package/dist/node/src/Process/Server.js.map +0 -1
  87. /package/dist/browser/src/{Process → Server}/Server.d.ts +0 -0
  88. /package/dist/browser/src/{Process → Server}/Server.js +0 -0
  89. /package/dist/node/src/{Process → Server}/Server.d.ts +0 -0
@@ -1,34 +1,29 @@
1
- import firebase from 'firebase';
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';
5
6
  import { createSessionStorage } from './Session/sessionStorageFactory';
6
7
  import { wait } from './Timer/wait';
8
+ import { ServerSdk } from './Server/ServerSdk';
7
9
  const FIREBASE_APP_NAME = 'sdk';
8
10
  export class Sdk {
11
+ options;
12
+ session;
13
+ server;
14
+ process;
15
+ firebaseApp;
9
16
  constructor(options) {
10
17
  this.options = options;
11
- this.getAuthenticatedFirebaseApp = async () => {
12
- if (!this.firebaseApp.auth().currentUser) {
13
- const tokenCredentials = this.options?.auth?.token;
14
- if (!tokenCredentials) {
15
- throw new Error(`No "options.auth.token" specified`);
16
- }
17
- const userCredentials = firebase.auth.AuthCredential.fromJSON(tokenCredentials);
18
- if (!userCredentials) {
19
- throw new Error(`Invalid "options.auth.token" user credentials`);
20
- }
21
- await this.safeAuth(userCredentials);
22
- }
23
- return this.firebaseApp;
24
- };
25
18
  const firebaseOptions = this.options?.firebase ?? defaultFirebaseOptions;
26
- this.firebaseApp = !firebase.apps.some((a) => a.name === FIREBASE_APP_NAME)
27
- ? firebase.initializeApp(firebaseOptions, FIREBASE_APP_NAME)
28
- : firebase.app(FIREBASE_APP_NAME);
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);
29
23
  const sessionStorage = createSessionStorage(this.options);
30
24
  this.session = new SessionSdk(this.options, this.getAuthenticatedFirebaseApp, sessionStorage);
31
- this.process = new ProcessSdk(this.options, this.session, this.getAuthenticatedFirebaseApp);
25
+ this.server = new ServerSdk(this.getAuthenticatedFirebaseApp);
26
+ this.process = new ProcessSdk(this.options, this.session, this.server);
32
27
  }
33
28
  /**
34
29
  * @alias sdk.session.connect
@@ -36,13 +31,29 @@ export class Sdk {
36
31
  async connect(connectOptions) {
37
32
  return this.session.connect(connectOptions);
38
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
+ };
39
49
  async safeAuth(userCredentials) {
50
+ const firebaseAuth = getAuth(this.firebaseApp);
40
51
  let lastError;
41
52
  for (let i = 0; i < 3; i++) {
42
53
  try {
43
54
  // With no reason, the auth fails always for the first time with following error:
44
55
  // Failed check current session validity Error: addEventListener and attachEvent are unavailable.
45
- await this.firebaseApp.auth().signInWithCredential(userCredentials);
56
+ await signInWithCredential(firebaseAuth, userCredentials);
46
57
  return;
47
58
  }
48
59
  catch (error) {
@@ -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;AAEpC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEhC,MAAM,OAAO,GAAG;IAOf,YACkB,OAAiB;QAAjB,YAAO,GAAP,OAAO,CAAU;QAmB3B,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,QAAQ,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;QA/BA,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,sBAAsB,CAAC;QACzE,IAAI,CAAC,WAAW,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC;YAC1E,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,eAAe,EAAE,iBAAiB,CAAC;YAC5D,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAEnC,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,2BAA2B,EAAE,cAAc,CAAC,CAAC;QAC9F,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC7F,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,IAAI,CAAC,GAAG,CAAC,CAAC;aAChB;SACD;QACD,MAAM,SAAS,CAAC;IACjB,CAAC;CACD"}
1
+ {"version":3,"file":"Sdk.js","sourceRoot":"","sources":["../../../src/Sdk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export interface GetServersOptions {
2
+ /** Filter only specified servers */
3
+ serverUids?: string[];
4
+ }
5
+ export interface FindServerOptions {
6
+ /** Filter only specified server */
7
+ serverUid?: string;
8
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Options.js","sourceRoot":"","sources":["../../../../src/Server/Options.ts"],"names":[],"mappings":""}
@@ -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 { FirebaseApp } from '@firebase/app';
2
+ import { FindServerOptions, GetServersOptions } from './Options';
3
+ export declare class ServerSdk {
4
+ private firebaseApp;
5
+ constructor(firebaseApp: () => Promise<FirebaseApp>);
6
+ getServers(options?: GetServersOptions): Promise<import("./Server").Server[]>;
7
+ findServer(processOptions: FindServerOptions): Promise<import("./Server").Server>;
8
+ }
@@ -0,0 +1,29 @@
1
+ import { getDocs, query, where } from '@firebase/firestore';
2
+ import { getServerCollection } from '../Firebase/collections';
3
+ export class ServerSdk {
4
+ firebaseApp;
5
+ constructor(firebaseApp) {
6
+ this.firebaseApp = firebaseApp;
7
+ }
8
+ async getServers(options) {
9
+ const firebaseApp = await this.firebaseApp();
10
+ const serversCol = await getServerCollection(firebaseApp);
11
+ const q = options?.serverUids
12
+ ? query(serversCol, where('serverUid', 'in', options.serverUids))
13
+ : serversCol;
14
+ const serversDocument = await getDocs(q);
15
+ return serversDocument.docs.map((doc) => doc.data());
16
+ }
17
+ async findServer(processOptions) {
18
+ const firebaseApp = await this.firebaseApp();
19
+ const serversCol = await getServerCollection(firebaseApp);
20
+ const serversDocument = await getDocs(serversCol);
21
+ const firstServerDocument = serversDocument.docs.find((s) => s.data().serverUid === processOptions.serverUid);
22
+ if (!firstServerDocument) {
23
+ throw new Error(`No servers found for user`);
24
+ }
25
+ const firstServer = firstServerDocument.data();
26
+ return firstServer;
27
+ }
28
+ }
29
+ //# sourceMappingURL=ServerSdk.js.map
@@ -0,0 +1 @@
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();
@@ -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;IAI5B,YACS,OAA4B;QAA5B,YAAO,GAAP,OAAO,CAAqB;QAH7B,OAAE,GAAkB,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,kCAAkC;IAIxF,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,CAAC,CAAC;QACzC,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
+ {"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,CAAC,CAAC;QACzC,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 firebase from 'firebase';
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<firebase.app.App>, sessionStorage: ISessionStorage);
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.removeSession(session);
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) {
@@ -88,22 +114,24 @@ export class SessionSdk {
88
114
  },
89
115
  createdAt: session.createdAt,
90
116
  };
91
- const sessionsCol = getSessionCollection(firebaseApp);
92
- await sessionsCol.doc(session.uid).set(remoteSession);
93
- const userDoc = getUserDocument(firebaseApp);
94
- await userDoc.update({
95
- 'performRequests.ensureSessionsAt': new Date(),
117
+ const sessionsCol = await getSessionCollection(firebaseApp);
118
+ setDoc(doc(sessionsCol, session.uid), remoteSession);
119
+ const userDoc = await getUserDocument(firebaseApp);
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
- const sessionsCol = getSessionCollection(firebaseApp);
101
- await sessionsCol.doc(session.uid).delete();
128
+ const sessionsCol = await getSessionCollection(firebaseApp);
129
+ await deleteDoc(doc(sessionsCol, session.uid));
102
130
  }
103
131
  async getRemoteByCurrent(session) {
104
132
  const firebaseApp = await this.firebaseApp();
105
- const sessionsCol = getSessionCollection(firebaseApp);
106
- const sessionDocument = await sessionsCol.doc(session.uid).get();
133
+ const sessionsCol = await getSessionCollection(firebaseApp);
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":"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"}
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;AAEhF,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/E,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B,MAAM,OAAO,UAAU;IAGJ;IACT;IACA;IAHT,YACkB,OAA4B,EACrC,WAAuC,EACvC,cAA+B;QAFtB,YAAO,GAAP,OAAO,CAAqB;QACrC,gBAAW,GAAX,WAAW,CAA4B;QACvC,mBAAc,GAAd,cAAc,CAAiB;IACrC,CAAC;IAEJ;;;OAGG;IACI,KAAK,CAAC,OAAO,CAAC,cAA+B;QACnD,IAAI,CAAC;YACJ,IAAI,cAAc,EAAE,SAAS,EAAE,CAAC;gBAC/B,OAAO,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACP,OAAO,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YACrC,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,cAAc,EAAE,OAAO,IAAI,eAAe,CAAC;YAC3D,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;gBAClB,MAAM,KAAK,CAAC;YACb,CAAC;YAED,kFAAkF;YAClF,OAAO,IAAI,CAAC,OAAO,CAAC;gBACnB,GAAG,cAAc;gBACjB,OAAO,EAAE,OAAO,GAAG,CAAC;aACpB,CAAC,CAAC;QACJ,CAAC;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,CAAC;YAChC,IAAI,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxC,OAAO,OAAO,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;QACF,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,MAAM;QAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;QACzD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC;gBACJ,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;YAC/C,CAAC;QACF,CAAC;IACF,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,SAAS,CAAC,OAAuB;QAC7C,MAAM,OAAO,CAAC,GAAG,CAAC;YACjB,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;YACjC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;SAC3B,CAAC,CAAC;IACJ,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,CAAC;YAC3B,OAAO,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,CAAC;aAAM,CAAC;YACP,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;QACnB,CAAC;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,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,SAAS,CAAC,OAAO,EAAE;YACxB,eAAe,EAAE;gBAChB,gBAAgB,EAAE,IAAI,IAAI,EAAE;aAC5B;SACD,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,OAAuB;QACxD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,OAAuB;QACvD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACpE,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,aAAa,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,OAAuB;QACnD,IAAI,CAAC;YACJ,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC7D,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;YAC7D,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,aAAwC;QAC1E,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,iCAAiC;QACrG,OAAO,aAAa,EAAE,GAAG,EAAE,SAAS,KAAK,iBAAiB,CAAC;IAC5D,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,OAAuB;QAC/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;QACzD,MAAM,WAAW,GAAG,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,OAAuB;QAClD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;QACzD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;QAClE,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;IAEO,oBAAoB;QAC3B,OAAO;YACN,GAAG,EAAE,kBAAkB,EAAE;YACzB,SAAS,EAAE,IAAI,IAAI,EAAE;SACrB,CAAC;IACH,CAAC;CACD"}
@@ -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;QACrC,OAAO,IAAI,gBAAgB,EAAE,CAAC;KAC9B;SAAM;QACN,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;KACrC;AACF,CAAC"}
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,6 +1,7 @@
1
1
  export interface IPerforms {
2
2
  ensureServersAt?: Date;
3
3
  ensureSessionsAt?: Date;
4
+ ensureCertificatesAt?: Date;
4
5
  }
5
6
  export interface User {
6
7
  uid: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { Buffer } from 'buffer';
3
2
  declare global {
4
3
  interface Window {
@@ -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;IAClC,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;QACrC,EAAE,CAAC,QAAkC,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC;KACvD;IACD,IAAI,OAAO,EAAE,CAAC,OAAO,KAAK,UAAU,EAAE;QACpC,EAAE,CAAC,OAAwB,GAAG,EAAE,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;KACzD;IACD,IAAI,OAAO,EAAE,CAAC,QAAQ,KAAK,UAAU,EAAE;QAErC,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;KACnI;CACD;KAAM;IACN,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,MAAiB,CAAC;CACnD"}
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,6 +1,7 @@
1
- import firebase from 'firebase';
1
+ import { FirebaseApp } from '@firebase/app';
2
+ import { DocumentReference, CollectionReference } from '@firebase/firestore';
2
3
  import { ServerApp } from '../Process/App/App';
3
- import { Server } from '../Process/Server';
4
+ import { Server } from '../Server/Server';
4
5
  import { ServerVolume } from '../Process/Volume/Volume';
5
6
  import { RemoteSession } from '../Session/RemoteSession';
6
7
  import { User } from '../User/User';
@@ -15,8 +16,9 @@ export declare enum UserServerCollection {
15
16
  APP = "apps",
16
17
  VOLUME = "volumes"
17
18
  }
18
- export declare function getUserDocument(firebaseApp: firebase.app.App): firebase.firestore.DocumentReference<User>;
19
- export declare function getServerCollection(firebaseApp: firebase.app.App): firebase.firestore.CollectionReference<Server>;
20
- export declare function getSessionCollection(firebaseApp: firebase.app.App): firebase.firestore.CollectionReference<RemoteSession>;
21
- export declare function getServerAppCollection(firebaseApp: firebase.app.App, serverUid: string): firebase.firestore.CollectionReference<ServerApp>;
22
- export declare function getServerVolumeCollection(firebaseApp: firebase.app.App, serverUid: string): firebase.firestore.CollectionReference<ServerVolume>;
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,45 +1,69 @@
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.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 = exports.MainCollection || (exports.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 = exports.UserCollection || (exports.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 = exports.UserServerCollection || (exports.UserServerCollection = {}));
18
- function getUserCollectionPath(firebaseApp, collection) {
19
- const user = firebaseApp.auth().currentUser;
25
+ })(UserServerCollection || (exports.UserServerCollection = UserServerCollection = {}));
26
+ async function getUserDocument(firebaseApp) {
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
- return `${MainCollection.USER}/${user.uid}${collection ? '/' + collection : ''}`;
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)));
34
+ if (usersSnapshot.empty) {
35
+ throw new Error(`User was not found: ${user.uid}`);
36
+ }
37
+ const userSnapshot = usersSnapshot.docs[0];
38
+ return userSnapshot.ref;
24
39
  }
25
- function getUserDocument(firebaseApp) {
26
- return firebaseApp.firestore().doc(getUserCollectionPath(firebaseApp, null));
40
+ async function getServerDocument(firebaseApp, serverUid) {
41
+ const serverCollection = await getServerCollection(firebaseApp);
42
+ const serversSnapshot = await (0, firestore_1.getDocs)((0, firestore_1.query)(serverCollection, (0, firestore_1.where)('serverUid', '==', serverUid)));
43
+ if (serversSnapshot.empty) {
44
+ throw new Error(`Server was not found: ${serverUid}`);
45
+ }
46
+ const serverSnapshot = serversSnapshot.docs[0];
47
+ return serverSnapshot.ref;
27
48
  }
28
- exports.getUserDocument = getUserDocument;
29
- function getServerCollection(firebaseApp) {
30
- return firebaseApp.firestore().collection(getUserCollectionPath(firebaseApp, UserCollection.SERVER));
49
+ async function getServerCollection(firebaseApp) {
50
+ const userDoc = await getUserDocument(firebaseApp);
51
+ const firestore = (0, firestore_1.getFirestore)(firebaseApp);
52
+ return (0, firestore_1.collection)(firestore, userDoc.path, UserCollection.SERVER);
31
53
  }
32
- exports.getServerCollection = getServerCollection;
33
- function getSessionCollection(firebaseApp) {
34
- return firebaseApp.firestore().collection(getUserCollectionPath(firebaseApp, UserCollection.SESSION));
54
+ async function getSessionCollection(firebaseApp) {
55
+ const userDoc = await getUserDocument(firebaseApp);
56
+ const firestore = (0, firestore_1.getFirestore)(firebaseApp);
57
+ return (0, firestore_1.collection)(firestore, userDoc.path, UserCollection.SESSION);
35
58
  }
36
- exports.getSessionCollection = getSessionCollection;
37
- function getServerAppCollection(firebaseApp, serverUid) {
38
- return getServerCollection(firebaseApp).doc(serverUid).collection(UserServerCollection.APP);
59
+ async function getServerAppCollection(firebaseApp, serverUid) {
60
+ const serverDoc = await getServerDocument(firebaseApp, serverUid);
61
+ const firestore = (0, firestore_1.getFirestore)(firebaseApp);
62
+ return (0, firestore_1.collection)(firestore, serverDoc.path, UserServerCollection.APP);
39
63
  }
40
- exports.getServerAppCollection = getServerAppCollection;
41
- function getServerVolumeCollection(firebaseApp, serverUid) {
42
- return getServerCollection(firebaseApp).doc(serverUid).collection(UserServerCollection.VOLUME);
64
+ async function getServerVolumeCollection(firebaseApp, serverUid) {
65
+ const serverDoc = await getServerDocument(firebaseApp, serverUid);
66
+ const firestore = (0, firestore_1.getFirestore)(firebaseApp);
67
+ return (0, firestore_1.collection)(firestore, serverDoc.path, UserServerCollection.VOLUME);
43
68
  }
44
- exports.getServerVolumeCollection = getServerVolumeCollection;
45
69
  //# 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;AAED,SAAS,qBAAqB,CAC7B,WAA6B,EAC7B,UAAiC;IAEjC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC;IAC5C,IAAI,CAAC,IAAI,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;KAC7C;IAED,OAAO,GAAG,cAAc,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAClF,CAAC;AAED,SAAgB,eAAe,CAAC,WAA6B;IAC5D,OAAO,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,WAAW,EAAE,IAAI,CAAC,CAA+C,CAAC;AAC5H,CAAC;AAFD,0CAEC;AAED,SAAgB,mBAAmB,CAAC,WAA6B;IAChE,OAAO,WAAW,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,WAAW,EAAE,cAAc,CAAC,MAAM,CAAC,CAAmD,CAAC;AACxJ,CAAC;AAFD,kDAEC;AAED,SAAgB,oBAAoB,CAAC,WAA6B;IACjE,OAAO,WAAW,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,CAA0D,CAAC;AAChK,CAAC;AAFD,oDAEC;AAED,SAAgB,sBAAsB,CAAC,WAA6B,EAAE,SAAiB;IACtF,OAAO,mBAAmB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,oBAAoB,CAAC,GAAG,CAAsD,CAAC;AAClJ,CAAC;AAFD,wDAEC;AAED,SAAgB,yBAAyB,CAAC,WAA6B,EAAE,SAAiB;IACzF,OAAO,mBAAmB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,oBAAoB,CAAC,MAAM,CAAyD,CAAC;AACxJ,CAAC;AAFD,8DAEC"}
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.generateClientSecret = exports.generateClientId = exports.generateUniqueHash = void 0;
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":";;;AAAA,mCAAoC;AAEpC,SAAgB,kBAAkB,CAAC,MAAM,GAAG,EAAE;IAC7C,MAAM,IAAI,GAAG,mBAAU,CAAC,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;AAJD,gDAIC;AAED,yCAAyC;AACzC,SAAgB,gBAAgB;IAC/B,OAAO,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAC/B,CAAC;AAFD,4CAEC;AAED,6CAA6C;AAC7C,SAAgB,oBAAoB;IACnC,OAAO,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAC/B,CAAC;AAFD,oDAEC"}
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"}
@@ -16,14 +16,14 @@ export interface AuthOptions {
16
16
  export declare enum NetStreamDriver {
17
17
  /** Default value for native client */
18
18
  DriverSimpleTCP = "simple_tcp",
19
- /** Supported only in browser WASM */
20
- DriverWasmWebsocket = "wasm_websocket"
19
+ /** Supported only in browser plain js or WASM */
20
+ DriverJSWebsocket = "js_websocket"
21
21
  }
22
22
  export declare enum NetPacketDriver {
23
23
  /** Default value for native client */
24
24
  DriverSimpleUDP = "simple_udp",
25
- /** Supported only in browser WASM */
26
- DriverWasmWebsocket = "wasm_websocket",
25
+ /** Supported only in browser plain js or WASM */
26
+ DriverJSWebsocket = "js_websocket",
27
27
  /** TCP replacement for simple_udp which prevents loosing packets */
28
28
  DriverSimpleTCP = "simple_tcp"
29
29
  }
@@ -5,16 +5,16 @@ var NetStreamDriver;
5
5
  (function (NetStreamDriver) {
6
6
  /** Default value for native client */
7
7
  NetStreamDriver["DriverSimpleTCP"] = "simple_tcp";
8
- /** Supported only in browser WASM */
9
- NetStreamDriver["DriverWasmWebsocket"] = "wasm_websocket";
10
- })(NetStreamDriver = exports.NetStreamDriver || (exports.NetStreamDriver = {}));
8
+ /** Supported only in browser plain js or WASM */
9
+ NetStreamDriver["DriverJSWebsocket"] = "js_websocket";
10
+ })(NetStreamDriver || (exports.NetStreamDriver = NetStreamDriver = {}));
11
11
  var NetPacketDriver;
12
12
  (function (NetPacketDriver) {
13
13
  /** Default value for native client */
14
14
  NetPacketDriver["DriverSimpleUDP"] = "simple_udp";
15
- /** Supported only in browser WASM */
16
- NetPacketDriver["DriverWasmWebsocket"] = "wasm_websocket";
15
+ /** Supported only in browser plain js or WASM */
16
+ NetPacketDriver["DriverJSWebsocket"] = "js_websocket";
17
17
  /** TCP replacement for simple_udp which prevents loosing packets */
18
18
  NetPacketDriver["DriverSimpleTCP"] = "simple_tcp";
19
- })(NetPacketDriver = exports.NetPacketDriver || (exports.NetPacketDriver = {}));
19
+ })(NetPacketDriver || (exports.NetPacketDriver = NetPacketDriver = {}));
20
20
  //# sourceMappingURL=Options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Options.js","sourceRoot":"","sources":["../../../src/Options.ts"],"names":[],"mappings":";;;AAkBA,IAAY,eAKX;AALD,WAAY,eAAe;IAC1B,sCAAsC;IACtC,iDAA8B,CAAA;IAC9B,qCAAqC;IACrC,yDAAsC,CAAA;AACvC,CAAC,EALW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAK1B;AAED,IAAY,eAOX;AAPD,WAAY,eAAe;IAC1B,sCAAsC;IACtC,iDAA8B,CAAA;IAC9B,qCAAqC;IACrC,yDAAsC,CAAA;IACtC,oEAAoE;IACpE,iDAA8B,CAAA;AAC/B,CAAC,EAPW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAO1B"}
1
+ {"version":3,"file":"Options.js","sourceRoot":"","sources":["../../../src/Options.ts"],"names":[],"mappings":";;;AAkBA,IAAY,eAKX;AALD,WAAY,eAAe;IAC1B,sCAAsC;IACtC,iDAA8B,CAAA;IAC9B,iDAAiD;IACjD,qDAAkC,CAAA;AACnC,CAAC,EALW,eAAe,+BAAf,eAAe,QAK1B;AAED,IAAY,eAOX;AAPD,WAAY,eAAe;IAC1B,sCAAsC;IACtC,iDAA8B,CAAA;IAC9B,iDAAiD;IACjD,qDAAkC,CAAA;IAClC,oEAAoE;IACpE,iDAA8B,CAAA;AAC/B,CAAC,EAPW,eAAe,+BAAf,eAAe,QAO1B"}
@@ -1,5 +1,4 @@
1
- /// <reference types="node" />
2
- import { Server } from '../Process/Server';
1
+ import { Server } from '../Server/Server';
3
2
  import { RemoteSession } from '../Session/RemoteSession';
4
3
  import { NetPacketDriver, NetStreamDriver, Options } from '../Options';
5
4
  export declare enum MsgType {