@intuitionrobotics/firebase 0.43.4 → 0.44.1
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/app-backend/FirebaseModule.d.ts +1 -1
- package/app-backend/FirebaseModule.js +11 -8
- package/app-backend/FirebaseModule.js.map +1 -1
- package/app-backend/auth/FirebaseBaseWrapper.d.ts +1 -1
- package/app-backend/auth/FirebaseBaseWrapper.js +2 -2
- package/app-backend/auth/FirebaseBaseWrapper.js.map +1 -1
- package/app-backend/auth/FirebaseSession_Admin.js +3 -3
- package/app-backend/auth/FirebaseSession_Admin.js.map +1 -1
- package/app-backend/auth/firebase-session.d.ts +2 -2
- package/app-backend/auth/firebase-session.js +2 -2
- package/app-backend/auth/firebase-session.js.map +1 -1
- package/app-backend/database/DatabaseWrapper.d.ts +1 -1
- package/app-backend/database/DatabaseWrapper.js +10 -9
- package/app-backend/database/DatabaseWrapper.js.map +1 -1
- package/app-backend/firestore/FirestoreCollection.d.ts +4 -6
- package/app-backend/firestore/FirestoreCollection.js +7 -5
- package/app-backend/firestore/FirestoreCollection.js.map +1 -1
- package/app-backend/firestore/FirestoreInterface.d.ts +1 -1
- package/app-backend/firestore/FirestoreInterface.js +10 -8
- package/app-backend/firestore/FirestoreInterface.js.map +1 -1
- package/app-backend/firestore/FirestoreTransaction.d.ts +1 -1
- package/app-backend/firestore/FirestoreTransaction.js +6 -5
- package/app-backend/firestore/FirestoreTransaction.js.map +1 -1
- package/app-backend/firestore/FirestoreWrapper.js.map +1 -1
- package/app-backend/firestore/types.d.ts +9 -9
- package/app-backend/functions/firebase-function.d.ts +3 -2
- package/app-backend/functions/firebase-function.js +16 -12
- package/app-backend/functions/firebase-function.js.map +1 -1
- package/app-backend/push/PushMessagesWrapper.d.ts +1 -1
- package/app-backend/storage/StorageWrapper.js +8 -7
- package/app-backend/storage/StorageWrapper.js.map +1 -1
- package/app-frontend/FirebaseModule.d.ts +2 -2
- package/app-frontend/FirebaseModule.js +6 -5
- package/app-frontend/FirebaseModule.js.map +1 -1
- package/app-frontend/analytics/AnalyticsModule.d.ts +1 -1
- package/app-frontend/analytics/AnalyticsModule.js +5 -4
- package/app-frontend/analytics/AnalyticsModule.js.map +1 -1
- package/app-frontend/analytics/AnalyticsWrapper.d.ts +1 -1
- package/app-frontend/analytics/AnalyticsWrapper.js +2 -2
- package/app-frontend/analytics/AnalyticsWrapper.js.map +1 -1
- package/app-frontend/auth/FirebaseSession.d.ts +2 -2
- package/app-frontend/auth/FirebaseSession.js +5 -4
- package/app-frontend/auth/FirebaseSession.js.map +1 -1
- package/app-frontend/auth/SwFirebaseSession.d.ts +1 -1
- package/app-frontend/auth/SwFirebaseSession.js +2 -3
- package/app-frontend/auth/SwFirebaseSession.js.map +1 -1
- package/app-frontend/database/DatabaseWrapper.d.ts +1 -1
- package/app-frontend/database/DatabaseWrapper.js +9 -8
- package/app-frontend/database/DatabaseWrapper.js.map +1 -1
- package/app-frontend/messaging/MessagingWrapper.d.ts +1 -1
- package/app-frontend/messaging/MessagingWrapper.js +2 -2
- package/app-frontend/messaging/MessagingWrapper.js.map +1 -1
- package/app-frontend/messaging/SwMessagingWrapper.d.ts +1 -1
- package/app-frontend/messaging/SwMessagingWrapper.js +2 -2
- package/app-frontend/messaging/SwMessagingWrapper.js.map +1 -1
- package/index.d.ts +0 -1
- package/index.js +0 -29
- package/index.js.map +1 -1
- package/package.json +3 -3
- package/shared/types.d.ts +1 -4
- package/shared/types.js.map +1 -1
- package/backend-functions.d.ts +0 -1
- package/backend-functions.js +0 -31
- package/backend-functions.js.map +0 -1
- package/backend.d.ts +0 -13
- package/backend.js +0 -44
- package/backend.js.map +0 -1
- package/frontend.d.ts +0 -4
- package/frontend.js +0 -35
- package/frontend.js.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Created by tacb0ss on 25/08/2018.
|
|
3
3
|
*/
|
|
4
|
-
import { Module } from "@intuitionrobotics/ts-common";
|
|
5
4
|
import { FirebaseSession_Admin } from "./auth/FirebaseSession_Admin";
|
|
6
5
|
import { Firebase_UserCredential } from "./auth/firebase-session";
|
|
7
6
|
import { FirebaseProjectCollections } from "../shared/types";
|
|
7
|
+
import { Module } from "@intuitionrobotics/ts-common/core/module";
|
|
8
8
|
export declare type JWTInput = {
|
|
9
9
|
type?: string;
|
|
10
10
|
client_email?: string;
|
|
@@ -21,10 +21,13 @@ exports.FirebaseModule = exports.FirebaseModule_Class = void 0;
|
|
|
21
21
|
/**
|
|
22
22
|
* Created by tacb0ss on 25/08/2018.
|
|
23
23
|
*/
|
|
24
|
-
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
25
24
|
const FirebaseSession_Admin_1 = require("./auth/FirebaseSession_Admin");
|
|
26
25
|
const fs_1 = require("fs");
|
|
27
|
-
|
|
26
|
+
const module_1 = require("@intuitionrobotics/ts-common/core/module");
|
|
27
|
+
const exceptions_1 = require("@intuitionrobotics/ts-common/core/exceptions");
|
|
28
|
+
const module_manager_1 = require("@intuitionrobotics/ts-common/core/module-manager");
|
|
29
|
+
const object_tools_1 = require("@intuitionrobotics/ts-common/utils/object-tools");
|
|
30
|
+
class FirebaseModule_Class extends module_1.Module {
|
|
28
31
|
constructor() {
|
|
29
32
|
super("FirebaseModule");
|
|
30
33
|
// private readonly tokenSessions: { [s: string]: FirebaseSession_UserPassword; } = {};
|
|
@@ -40,7 +43,7 @@ class FirebaseModule_Class extends ts_common_1.Module {
|
|
|
40
43
|
let projectId;
|
|
41
44
|
if (FirebaseModule_Class.localAdminConfigId)
|
|
42
45
|
if (!this.config[FirebaseModule_Class.localAdminConfigId])
|
|
43
|
-
throw new
|
|
46
|
+
throw new exceptions_1.ImplementationMissingException(`Forgot to define a service account for project Id: ${FirebaseModule_Class.localAdminConfigId}`);
|
|
44
47
|
else
|
|
45
48
|
projectId = FirebaseModule_Class.localAdminConfigId;
|
|
46
49
|
if (!projectId)
|
|
@@ -48,7 +51,7 @@ class FirebaseModule_Class extends ts_common_1.Module {
|
|
|
48
51
|
if (!projectId)
|
|
49
52
|
projectId = process.env.GCLOUD_PROJECT;
|
|
50
53
|
if (!projectId)
|
|
51
|
-
throw new
|
|
54
|
+
throw new exceptions_1.ThisShouldNotHappenException("Could not resolve project id...");
|
|
52
55
|
return projectId;
|
|
53
56
|
}
|
|
54
57
|
connect() {
|
|
@@ -87,11 +90,11 @@ class FirebaseModule_Class extends ts_common_1.Module {
|
|
|
87
90
|
this.logInfo(`Creating Firebase session for project id: ${projectId}`);
|
|
88
91
|
let config = this.getProjectAuth(projectId);
|
|
89
92
|
if (!config && _projectId && this.localProjectId && this.localProjectId !== _projectId)
|
|
90
|
-
throw new
|
|
93
|
+
throw new exceptions_1.BadImplementationException(`Config for key ${_projectId} is not defined`);
|
|
91
94
|
if (typeof config === "string")
|
|
92
95
|
config = JSON.parse(fs_1.readFileSync(config, "utf8"));
|
|
93
96
|
if (config && (!config.client_email || !config.private_key))
|
|
94
|
-
throw new
|
|
97
|
+
throw new exceptions_1.BadImplementationException(`Config for key ${projectId} is not an Admin credentials pattern`);
|
|
95
98
|
session = new FirebaseSession_Admin_1.FirebaseSession_Admin(sessionName, config);
|
|
96
99
|
this.adminSessions[sessionName] = session;
|
|
97
100
|
session.connect();
|
|
@@ -102,9 +105,9 @@ class FirebaseModule_Class extends ts_common_1.Module {
|
|
|
102
105
|
return (_a = this.config) === null || _a === void 0 ? void 0 : _a[projectId];
|
|
103
106
|
}
|
|
104
107
|
listCollectionsInModules() {
|
|
105
|
-
const modules =
|
|
108
|
+
const modules = module_manager_1.moduleResolver();
|
|
106
109
|
const firebaseProjectCollections = modules.reduce((toRet, module) => {
|
|
107
|
-
const keys =
|
|
110
|
+
const keys = object_tools_1._keys(module);
|
|
108
111
|
const _collections = keys
|
|
109
112
|
.filter(key => { var _a; return typeof module[key] === "object" && ((_a = module[key].constructor) === null || _a === void 0 ? void 0 : _a["name"].startsWith("FirestoreCollection")); })
|
|
110
113
|
.map(key => module[key])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirebaseModule.js","sourceRoot":"","sources":["../../src/main/app-backend/FirebaseModule.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH;;GAEG;AAEH,
|
|
1
|
+
{"version":3,"file":"FirebaseModule.js","sourceRoot":"","sources":["../../src/main/app-backend/FirebaseModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FirebaseSession } from "./firebase-session";
|
|
2
|
-
import { Logger } from "@intuitionrobotics/ts-common";
|
|
2
|
+
import { Logger } from "@intuitionrobotics/ts-common/core/logger/Logger";
|
|
3
3
|
export declare abstract class FirebaseBaseWrapper extends Logger {
|
|
4
4
|
readonly firebaseSession: FirebaseSession<any, any>;
|
|
5
5
|
protected constructor(firebaseSession: FirebaseSession<any, any>);
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
*/
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
20
|
exports.FirebaseBaseWrapper = void 0;
|
|
21
|
-
const
|
|
22
|
-
class FirebaseBaseWrapper extends
|
|
21
|
+
const Logger_1 = require("@intuitionrobotics/ts-common/core/logger/Logger");
|
|
22
|
+
class FirebaseBaseWrapper extends Logger_1.Logger {
|
|
23
23
|
constructor(firebaseSession) {
|
|
24
24
|
super();
|
|
25
25
|
this.firebaseSession = firebaseSession;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirebaseBaseWrapper.js","sourceRoot":"","sources":["../../../src/main/app-backend/auth/FirebaseBaseWrapper.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAGH,
|
|
1
|
+
{"version":3,"file":"FirebaseBaseWrapper.js","sourceRoot":"","sources":["../../../src/main/app-backend/auth/FirebaseBaseWrapper.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAGH,4EAAuE;AAEvE,MAAsB,mBACrB,SAAQ,eAAM;IAId,YAAsB,eAA0C;QAC/D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACxC,CAAC;IAED,OAAO;QACN,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;IACvC,CAAC;CACD;AAbD,kDAaC"}
|
|
@@ -20,7 +20,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
20
20
|
exports.FirebaseSession_Admin = void 0;
|
|
21
21
|
const firebase_admin_1 = require("firebase-admin");
|
|
22
22
|
const firebase_session_1 = require("./firebase-session");
|
|
23
|
-
const
|
|
23
|
+
const exceptions_1 = require("@intuitionrobotics/ts-common/core/exceptions");
|
|
24
24
|
const auth_1 = require("firebase-admin/auth");
|
|
25
25
|
const app_1 = require("firebase-admin/app");
|
|
26
26
|
class FirebaseSession_Admin extends firebase_session_1.FirebaseSession {
|
|
@@ -33,11 +33,11 @@ class FirebaseSession_Admin extends firebase_session_1.FirebaseSession {
|
|
|
33
33
|
getProjectId() {
|
|
34
34
|
if (!this.config) {
|
|
35
35
|
if (!process.env.GCLOUD_PROJECT)
|
|
36
|
-
throw new
|
|
36
|
+
throw new exceptions_1.ThisShouldNotHappenException("Could not deduce project id from function const!!");
|
|
37
37
|
return process.env.GCLOUD_PROJECT;
|
|
38
38
|
}
|
|
39
39
|
if (!this.config.project_id)
|
|
40
|
-
throw new
|
|
40
|
+
throw new exceptions_1.ThisShouldNotHappenException("Could not deduce project id from session config.. if you need the functionality.. add it to the config!!");
|
|
41
41
|
return this.config.project_id;
|
|
42
42
|
}
|
|
43
43
|
createApp() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirebaseSession_Admin.js","sourceRoot":"","sources":["../../../src/main/app-backend/auth/FirebaseSession_Admin.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,mDAGwB;AACxB,yDAAmD;AACnD,
|
|
1
|
+
{"version":3,"file":"FirebaseSession_Admin.js","sourceRoot":"","sources":["../../../src/main/app-backend/auth/FirebaseSession_Admin.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,mDAGwB;AACxB,yDAAmD;AACnD,6EAA0F;AAC1F,8CAG6B;AAC7B,4CAG4B;AAG5B,MAAa,qBACZ,SAAQ,kCAAqE;IAE7E,YAAY,WAAmB,EAAE,MAAiB;QACjD,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC5B,CAAC;IAEM,OAAO;QACb,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAC7B,CAAC;IAED,YAAY;QACX,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACjB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc;gBAC9B,MAAM,IAAI,yCAA4B,CAAC,mDAAmD,CAAC,CAAA;YAE5F,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;SAClC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;YAC1B,MAAM,IAAI,yCAA4B,CAAC,0GAA0G,CAAC,CAAA;QAEnJ,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;IAC/B,CAAC;IAEO,SAAS;QAChB,IAAI,CAAC,IAAI,CAAC,MAAM;YACf,OAAO,mBAAa,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAEnD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,WAAW,IAAI,CAAC,MAAM,CAAC,UAAU,iBAAiB,CAAC;QAClG,OAAO,mBAAa,CAAC;YACC,UAAU,EAAE,2BAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAwB,CAAC;YAC1D,WAAW,EAAE,WAAW;SACxB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAEM,OAAO;QACb,OAAO,cAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;CACD;AAvCD,sDAuCC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Logger } from "@intuitionrobotics/ts-common";
|
|
1
|
+
import { Logger } from "@intuitionrobotics/ts-common/core/logger/Logger";
|
|
2
2
|
import { FirestoreWrapper } from "../firestore/FirestoreWrapper";
|
|
3
3
|
import { DatabaseWrapper } from "../database/DatabaseWrapper";
|
|
4
4
|
import { StorageWrapper } from "../storage/StorageWrapper";
|
|
5
5
|
import { PushMessagesWrapper } from "../push/PushMessagesWrapper";
|
|
6
|
-
import { FirebaseConfig } from "
|
|
6
|
+
import { FirebaseConfig } from "../../shared/types";
|
|
7
7
|
export declare type Firebase_UserCredential = {
|
|
8
8
|
config: FirebaseConfig;
|
|
9
9
|
credentials: {
|
|
@@ -18,12 +18,12 @@
|
|
|
18
18
|
*/
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
20
|
exports.FirebaseSession = void 0;
|
|
21
|
-
const
|
|
21
|
+
const Logger_1 = require("@intuitionrobotics/ts-common/core/logger/Logger");
|
|
22
22
|
const FirestoreWrapper_1 = require("../firestore/FirestoreWrapper");
|
|
23
23
|
const DatabaseWrapper_1 = require("../database/DatabaseWrapper");
|
|
24
24
|
const StorageWrapper_1 = require("../storage/StorageWrapper");
|
|
25
25
|
const PushMessagesWrapper_1 = require("../push/PushMessagesWrapper");
|
|
26
|
-
class FirebaseSession extends
|
|
26
|
+
class FirebaseSession extends Logger_1.Logger {
|
|
27
27
|
constructor(config, sessionName, _admin = true) {
|
|
28
28
|
super(`firebase: ${sessionName}`);
|
|
29
29
|
this.sessionName = sessionName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase-session.js","sourceRoot":"","sources":["../../../src/main/app-backend/auth/firebase-session.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,
|
|
1
|
+
{"version":3,"file":"firebase-session.js","sourceRoot":"","sources":["../../../src/main/app-backend/auth/firebase-session.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,4EAAuE;AACvE,oEAA+D;AAC/D,iEAA4D;AAC5D,8DAAyD;AACzD,qEAAgE;AAYhE,MAAsB,eAClB,SAAQ,eAAM;IAWd,YAAsB,MAAc,EAAE,WAAmB,EAAE,MAAM,GAAG,IAAI;QACpE,KAAK,CAAC,aAAa,WAAW,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;IACxB,CAAC;IAIM,OAAO;QACV,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAIM,WAAW;QACd,IAAI,IAAI,CAAC,QAAQ;YACb,OAAO,IAAI,CAAC,QAAQ,CAAC;QAEzB,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAEM,UAAU;QACb,IAAI,IAAI,CAAC,OAAO;YACZ,OAAO,IAAI,CAAC,OAAO,CAAC;QAExB,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAEM,YAAY;QACf,IAAI,IAAI,CAAC,SAAS;YACd,OAAO,IAAI,CAAC,SAAS,CAAC;QAE1B,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,mCAAgB,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAEM,YAAY;QACf,IAAI,IAAI,CAAC,SAAS;YACd,OAAO,IAAI,CAAC,SAAS,CAAC;QAE1B,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;CACJ;AAtDD,0CAsDC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FirebaseListener } from "./types";
|
|
2
|
-
import { ObjectTS } from "@intuitionrobotics/ts-common";
|
|
3
2
|
import { FirebaseSession } from "../auth/firebase-session";
|
|
4
3
|
import { FirebaseBaseWrapper } from "../auth/FirebaseBaseWrapper";
|
|
4
|
+
import { ObjectTS } from "@intuitionrobotics/ts-common/utils/types";
|
|
5
5
|
export declare class DatabaseWrapper extends FirebaseBaseWrapper {
|
|
6
6
|
private readonly database;
|
|
7
7
|
constructor(firebaseSession: FirebaseSession<any, any>);
|
|
@@ -27,9 +27,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.DatabaseWrapper = void 0;
|
|
30
|
-
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
31
30
|
const FirebaseBaseWrapper_1 = require("../auth/FirebaseBaseWrapper");
|
|
32
31
|
const database_1 = require("firebase-admin/database");
|
|
32
|
+
const exceptions_1 = require("@intuitionrobotics/ts-common/core/exceptions");
|
|
33
|
+
const tools_1 = require("@intuitionrobotics/ts-common/utils/tools");
|
|
33
34
|
class DatabaseWrapper extends FirebaseBaseWrapper_1.FirebaseBaseWrapper {
|
|
34
35
|
constructor(firebaseSession) {
|
|
35
36
|
super(firebaseSession);
|
|
@@ -51,7 +52,7 @@ class DatabaseWrapper extends FirebaseBaseWrapper_1.FirebaseBaseWrapper {
|
|
|
51
52
|
return this.database.ref(path).on("value", (snapshot) => callback(snapshot ? snapshot.val() : undefined));
|
|
52
53
|
}
|
|
53
54
|
catch (e) {
|
|
54
|
-
throw new
|
|
55
|
+
throw new exceptions_1.BadImplementationException(`Error while getting value from path: ${path}`, e);
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
58
|
stopListening(path, listener) {
|
|
@@ -59,7 +60,7 @@ class DatabaseWrapper extends FirebaseBaseWrapper_1.FirebaseBaseWrapper {
|
|
|
59
60
|
this.database.ref(path).off("value", listener);
|
|
60
61
|
}
|
|
61
62
|
catch (e) {
|
|
62
|
-
throw new
|
|
63
|
+
throw new exceptions_1.BadImplementationException(`Error while getting value from path: ${path}`, e);
|
|
63
64
|
}
|
|
64
65
|
}
|
|
65
66
|
set(path, value) {
|
|
@@ -68,7 +69,7 @@ class DatabaseWrapper extends FirebaseBaseWrapper_1.FirebaseBaseWrapper {
|
|
|
68
69
|
return yield this.database.ref(path).set(value);
|
|
69
70
|
}
|
|
70
71
|
catch (e) {
|
|
71
|
-
throw new
|
|
72
|
+
throw new exceptions_1.BadImplementationException(`Error while setting value to path: ${path}`, e);
|
|
72
73
|
}
|
|
73
74
|
});
|
|
74
75
|
}
|
|
@@ -76,7 +77,7 @@ class DatabaseWrapper extends FirebaseBaseWrapper_1.FirebaseBaseWrapper {
|
|
|
76
77
|
return __awaiter(this, void 0, void 0, function* () {
|
|
77
78
|
for (const key in data) {
|
|
78
79
|
const node = `${parentPath}/${key}`;
|
|
79
|
-
if (
|
|
80
|
+
if (tools_1.calculateJsonSizeMb(data[key]) < maxSizeMB)
|
|
80
81
|
yield this.set(node, data[key]);
|
|
81
82
|
else
|
|
82
83
|
yield this.uploadByChunks(node, data[key], maxSizeMB, itemsToRef);
|
|
@@ -97,7 +98,7 @@ class DatabaseWrapper extends FirebaseBaseWrapper_1.FirebaseBaseWrapper {
|
|
|
97
98
|
}
|
|
98
99
|
catch (e) {
|
|
99
100
|
this.logError(e);
|
|
100
|
-
throw new
|
|
101
|
+
throw new exceptions_1.BadImplementationException(`Error while updating value to path: ${path}`, e);
|
|
101
102
|
}
|
|
102
103
|
});
|
|
103
104
|
}
|
|
@@ -110,9 +111,9 @@ class DatabaseWrapper extends FirebaseBaseWrapper_1.FirebaseBaseWrapper {
|
|
|
110
111
|
delete(path, assertionRegexp = "^/.*?/.*") {
|
|
111
112
|
return __awaiter(this, void 0, void 0, function* () {
|
|
112
113
|
if (!path)
|
|
113
|
-
throw new
|
|
114
|
+
throw new exceptions_1.BadImplementationException(`Falsy value, path: '${path}'`);
|
|
114
115
|
if (!path.match(new RegExp(assertionRegexp)))
|
|
115
|
-
throw new
|
|
116
|
+
throw new exceptions_1.BadImplementationException(`path: '${path}' does not match assertion: '${assertionRegexp}'`);
|
|
116
117
|
try {
|
|
117
118
|
return new Promise((resolve, reject) => {
|
|
118
119
|
let val;
|
|
@@ -130,7 +131,7 @@ class DatabaseWrapper extends FirebaseBaseWrapper_1.FirebaseBaseWrapper {
|
|
|
130
131
|
});
|
|
131
132
|
}
|
|
132
133
|
catch (e) {
|
|
133
|
-
throw new
|
|
134
|
+
throw new exceptions_1.BadImplementationException(`Error while removing path: ${path}`, e);
|
|
134
135
|
}
|
|
135
136
|
});
|
|
136
137
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatabaseWrapper.js","sourceRoot":"","sources":["../../../src/main/app-backend/database/DatabaseWrapper.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"DatabaseWrapper.js","sourceRoot":"","sources":["../../../src/main/app-backend/database/DatabaseWrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { Subset } from "@intuitionrobotics/ts-common";
|
|
2
1
|
import { FirestoreType_Collection, FirestoreType_DocumentSnapshot, FirestoreType_QuerySnapshot } from "./types";
|
|
3
2
|
import { Clause_Select, Clause_Where, FilterKeys, FirestoreQuery } from "../../shared/types";
|
|
4
3
|
import { FirestoreWrapper } from "./FirestoreWrapper";
|
|
5
4
|
import { FirestoreTransaction } from "./FirestoreTransaction";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import WriteResult = firestore.WriteResult;
|
|
5
|
+
import { SetOptions, WriteResult } from "firebase-admin/lib/firestore";
|
|
6
|
+
import { Subset } from "@intuitionrobotics/ts-common/utils/types";
|
|
9
7
|
export declare class FirestoreCollection<Type extends object> {
|
|
10
8
|
readonly name: string;
|
|
11
9
|
readonly wrapper: FirestoreWrapper;
|
|
@@ -35,9 +33,9 @@ export declare class FirestoreCollection<Type extends object> {
|
|
|
35
33
|
deleteAll(): Promise<Type[]>;
|
|
36
34
|
getAll(select?: Clause_Select<Type>): Promise<Type[]>;
|
|
37
35
|
runInTransaction<ReturnType>(processor: (transaction: FirestoreTransaction) => Promise<ReturnType>): Promise<ReturnType>;
|
|
38
|
-
createDocumentReference(id?: string):
|
|
36
|
+
createDocumentReference(id?: string): FirebaseFirestore.DocumentReference<Type>;
|
|
39
37
|
set(instance: Type, id: string): Promise<WriteResult>;
|
|
40
38
|
set(instance: Partial<Type>, id: string, options: SetOptions): Promise<WriteResult>;
|
|
41
|
-
create(instance: Type, id: string): Promise<
|
|
39
|
+
create(instance: Type, id: string): Promise<WriteResult>;
|
|
42
40
|
getUniqueFilter: () => (object: Subset<Type>) => Clause_Where<Type>;
|
|
43
41
|
}
|
|
@@ -27,9 +27,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.FirestoreCollection = void 0;
|
|
30
|
-
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
31
30
|
const FirestoreInterface_1 = require("./FirestoreInterface");
|
|
32
31
|
const FirestoreTransaction_1 = require("./FirestoreTransaction");
|
|
32
|
+
const exceptions_1 = require("@intuitionrobotics/ts-common/core/exceptions");
|
|
33
|
+
const array_tools_1 = require("@intuitionrobotics/ts-common/utils/array-tools");
|
|
34
|
+
const random_tools_1 = require("@intuitionrobotics/ts-common/utils/random-tools");
|
|
33
35
|
class FirestoreCollection {
|
|
34
36
|
constructor(name, wrapper, externalFilterKeys) {
|
|
35
37
|
this.getUniqueFilter = () => this.externalUniqueFilter;
|
|
@@ -40,7 +42,7 @@ class FirestoreCollection {
|
|
|
40
42
|
this.collection = wrapper.firestore.collection(name);
|
|
41
43
|
this.externalUniqueFilter = (instance) => {
|
|
42
44
|
if (!externalFilterKeys)
|
|
43
|
-
throw new
|
|
45
|
+
throw new exceptions_1.BadImplementationException("In order to use a unique query your collection MUST have a unique filter");
|
|
44
46
|
return externalFilterKeys.reduce((where, key) => {
|
|
45
47
|
// @ts-ignore
|
|
46
48
|
where[key] = instance[key];
|
|
@@ -103,7 +105,7 @@ class FirestoreCollection {
|
|
|
103
105
|
}
|
|
104
106
|
upsertAll(instances) {
|
|
105
107
|
return __awaiter(this, void 0, void 0, function* () {
|
|
106
|
-
return
|
|
108
|
+
return array_tools_1.batchAction(instances, 500, (chunked) => __awaiter(this, void 0, void 0, function* () { return this.runInTransaction(transaction => transaction.upsertAll(this, chunked)); }));
|
|
107
109
|
});
|
|
108
110
|
}
|
|
109
111
|
patch(instance) {
|
|
@@ -131,7 +133,7 @@ class FirestoreCollection {
|
|
|
131
133
|
}
|
|
132
134
|
deleteBatch(docRefs) {
|
|
133
135
|
return __awaiter(this, void 0, void 0, function* () {
|
|
134
|
-
yield
|
|
136
|
+
yield array_tools_1.batchAction(docRefs, 500, (elements) => __awaiter(this, void 0, void 0, function* () {
|
|
135
137
|
const batch = this.collection.firestore.batch();
|
|
136
138
|
elements.forEach(doc => batch.delete(doc.ref));
|
|
137
139
|
yield batch.commit();
|
|
@@ -157,7 +159,7 @@ class FirestoreCollection {
|
|
|
157
159
|
}));
|
|
158
160
|
});
|
|
159
161
|
}
|
|
160
|
-
createDocumentReference(id =
|
|
162
|
+
createDocumentReference(id = random_tools_1.generateHex(16)) {
|
|
161
163
|
return this.collection.doc(id);
|
|
162
164
|
}
|
|
163
165
|
set(instance, id, options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirestoreCollection.js","sourceRoot":"","sources":["../../../src/main/app-backend/firestore/FirestoreCollection.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"FirestoreCollection.js","sourceRoot":"","sources":["../../../src/main/app-backend/firestore/FirestoreCollection.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;AAUH,6DAAwD;AACxD,iEAA4D;AAG5D,6EAAwF;AACxF,gFAA2E;AAC3E,kFAA4E;AAE5E,MAAa,mBAAmB;IAU5B,YAAY,IAAY,EAAE,OAAyB,EAAE,kBAAqC;QAmI1F,oBAAe,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;QAlI9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAA;QAE1E,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAA8B,CAAC;QAClF,IAAI,CAAC,oBAAoB,GAAG,CAAC,QAAc,EAAE,EAAE;YAC3C,IAAI,CAAC,kBAAkB;gBACnB,MAAM,IAAI,uCAA0B,CAAC,0EAA0E,CAAC,CAAC;YAErH,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAe,EAAE,EAAE;gBACxD,aAAa;gBACb,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC3B,OAAO,KAAK,CAAC;YACjB,CAAC,EAAE,EAAwB,CAAC,CAAA;QAChC,CAAC,CAAC;IACN,CAAC;IAEa,MAAM,CAAC,QAA+B;;YAChD,MAAM,OAAO,GAAG,uCAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACzE,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC;QACtC,CAAC;KAAA;IAEK,MAAM,CAAC,EAAU;;YACnB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;QACzC,CAAC;KAAA;IAEK,GAAG,CAAC,QAA+B;;YACrC,MAAM,OAAO,GAAG,uCAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACzE,OAAO,OAAO,CAAC,GAAG,EAAgD,CAAC;QACvE,CAAC;KAAA;IAEa,YAAY,CAAC,QAA8B;;YACrD,MAAM,OAAO,GAA0C,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnF,OAAO,uCAAkB,CAAC,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACjF,CAAC;KAAA;IAEK,WAAW,CAAC,QAA8B;;YAC5C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG;gBACJ,OAAO;YAEX,OAAO,GAAG,CAAC,IAAI,EAAU,CAAA;QAC7B,CAAC;KAAA;IAEK,MAAM,CAAC,QAAc,EAAE,EAAW;;YACpC,MAAM,GAAG,GAAG,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;YAC7C,MAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACvB,OAAO,QAAQ,CAAC;QACpB,CAAC;KAAA;IAEK,SAAS,CAAC,SAAiB;;YAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC;KAAA;IAEK,KAAK,CAAC,QAA8B;;YACtC,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAU,CAAC,CAAC;QAC9E,CAAC;KAAA;IAEK,MAAM,CAAC,QAAc;;YACvB,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAA;QACrF,CAAC;KAAA;IAEK,SAAS,CAAC,SAAiB;;YAC7B,OAAO,yBAAW,CAAC,SAAS,EAAE,GAAG,EAAE,CAAM,OAAO,EAAC,EAAE,gDAAC,OAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA,GAAA,CAAC,CAAC;QACpI,CAAC;KAAA;IAEK,KAAK,CAAC,QAAsB;;YAC9B,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnF,CAAC;KAAA;IAEK,UAAU,CAAC,QAAc;;YAC3B,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAA;QACzF,CAAC;KAAA;IAKK,YAAY,CAAC,KAAU;;YACzB,IAAI,OAAO,KAAK,KAAK,QAAQ;gBACzB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YAE/C,OAAO,IAAI,CAAC,gBAAgB,CAAmB,CAAO,WAAW,EAAE,EAAE,gDAAC,OAAA,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,KAA6B,CAAC,CAAA,GAAA,CAAC,CAAA;QACxI,CAAC;KAAA;IAEK,MAAM,CAAC,KAA2B;;YACpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;KAAA;IAEa,WAAW,CAAC,OAA8C;;YACpE,MAAM,yBAAW,CAAC,OAAO,EAAE,GAAG,EAAE,CAAO,QAAQ,EAAE,EAAE;gBAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBAChD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/C,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;YACzB,CAAC,CAAA,CAAC,CAAA;YACF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAU,CAAC,CAAC;QAC9C,CAAC;KAAA;IAEK,SAAS;;YACX,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;KAAA;IAGK,MAAM,CAAC,MAA4B;;YACrC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAC,MAAM,EAAyB,CAAC,CAAC;QACxD,CAAC;KAAA;IAEK,gBAAgB,CAAa,SAAqE;;YACpG,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,cAAc,CAAa,CAAO,WAAwB,EAAE,EAAE;gBAC3F,OAAO,SAAS,CAAC,IAAI,2CAAoB,CAAC,WAAW,CAAC,CAAC,CAAC;YAC5D,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;IAED,uBAAuB,CAAC,EAAE,GAAG,0BAAW,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAKK,GAAG,CAAC,QAAa,EAAE,EAAU,EAAE,OAAa;;YAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;KAAA;IAEK,MAAM,CAAC,QAAc,EAAE,EAAU;;YACnC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpD,CAAC;KAAA;CAIJ;AA/ID,kDA+IC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { FirestoreQuery } from "../..";
|
|
2
1
|
import { FirestoreType_QueryDocumentSnapshot } from "./types";
|
|
3
2
|
import { FirestoreCollection } from "./FirestoreCollection";
|
|
4
3
|
import { CollectionReference, Query } from "firebase-admin/firestore";
|
|
4
|
+
import { FirestoreQuery } from "../../shared/types";
|
|
5
5
|
export declare class FirestoreInterface {
|
|
6
6
|
static buildQuery<Type extends object>(collection: CollectionReference<Type>, query?: FirestoreQuery<Type>): Query<Type>;
|
|
7
7
|
private static isQueryObject;
|
|
@@ -18,8 +18,10 @@
|
|
|
18
18
|
*/
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
20
|
exports.FirestoreInterface = void 0;
|
|
21
|
-
const
|
|
22
|
-
const
|
|
21
|
+
const types_1 = require("../../shared/types");
|
|
22
|
+
const exceptions_1 = require("@intuitionrobotics/ts-common/core/exceptions");
|
|
23
|
+
const tools_1 = require("@intuitionrobotics/ts-common/utils/tools");
|
|
24
|
+
const object_tools_1 = require("@intuitionrobotics/ts-common/utils/object-tools");
|
|
23
25
|
class FirestoreInterface {
|
|
24
26
|
static buildQuery(collection, query) {
|
|
25
27
|
let myQuery = collection;
|
|
@@ -36,7 +38,7 @@ class FirestoreInterface {
|
|
|
36
38
|
const valueType = typeof _whereValue;
|
|
37
39
|
if (Array.isArray(_whereValue)) {
|
|
38
40
|
if (_whereValue.length === 0 || _whereValue.length > 10)
|
|
39
|
-
throw new
|
|
41
|
+
throw new exceptions_1.BadImplementationException("While querying in an array you can only provide one or more values to query by and not more than 10... this " +
|
|
40
42
|
"is due to Firestore limitation... ");
|
|
41
43
|
if (_whereValue.length === 1)
|
|
42
44
|
return _query.where(whereKey, 'array-contains', _whereValue[0]);
|
|
@@ -44,7 +46,7 @@ class FirestoreInterface {
|
|
|
44
46
|
}
|
|
45
47
|
if (this.isQueryObject(_whereValue)) {
|
|
46
48
|
// @ts-ignore
|
|
47
|
-
return _query.where(whereKey,
|
|
49
|
+
return _query.where(whereKey, types_1.ComparatorMap[Object.keys(_whereValue)[0]], Object.values(_whereValue)[0]);
|
|
48
50
|
}
|
|
49
51
|
if (valueType === "string" || valueType === "number" || valueType === "boolean")
|
|
50
52
|
return ___query.where(whereKey, "==", _whereValue);
|
|
@@ -53,7 +55,7 @@ class FirestoreInterface {
|
|
|
53
55
|
return processObject(__query, `${whereKey}.${key}`, _whereValue[key]);
|
|
54
56
|
}, ___query);
|
|
55
57
|
}
|
|
56
|
-
throw new
|
|
58
|
+
throw new exceptions_1.ImplementationMissingException(`Could not compose where clause for '${whereKey}' with value type '${valueType}'in query: ${tools_1.__stringify(___query)}`);
|
|
57
59
|
};
|
|
58
60
|
return processObject(_query, whereField, whereValue);
|
|
59
61
|
}, myQuery);
|
|
@@ -80,16 +82,16 @@ class FirestoreInterface {
|
|
|
80
82
|
}
|
|
81
83
|
static assertUniqueDocument(results, query, collectionName) {
|
|
82
84
|
if (results.length > 1)
|
|
83
|
-
throw new
|
|
85
|
+
throw new exceptions_1.BadImplementationException(`too many results for query: ${tools_1.__stringify(query)} in collection: ${collectionName}`);
|
|
84
86
|
if (results.length === 0)
|
|
85
87
|
return;
|
|
86
88
|
return results[0];
|
|
87
89
|
}
|
|
88
90
|
;
|
|
89
91
|
static buildUniqueQuery(collection, instance) {
|
|
90
|
-
|
|
92
|
+
object_tools_1._keys(instance).forEach((key) => {
|
|
91
93
|
if (instance[key] === undefined || instance[key] === null) {
|
|
92
|
-
throw new
|
|
94
|
+
throw new exceptions_1.BadImplementationException(`No where properties are allowed to be null or undefined.\nWhile querying collection '${collection.name}' we found property '${key}' to be '${instance[key]}'`);
|
|
93
95
|
}
|
|
94
96
|
});
|
|
95
97
|
const where = collection.externalUniqueFilter(instance);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirestoreInterface.js","sourceRoot":"","sources":["../../../src/main/app-backend/firestore/FirestoreInterface.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;
|
|
1
|
+
{"version":3,"file":"FirestoreInterface.js","sourceRoot":"","sources":["../../../src/main/app-backend/firestore/FirestoreInterface.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as admin from "firebase-admin";
|
|
2
2
|
import { firestore } from "firebase-admin";
|
|
3
3
|
import { FirestoreCollection } from "./FirestoreCollection";
|
|
4
|
-
import { Subset } from "@intuitionrobotics/ts-common";
|
|
5
4
|
import { FirestoreQuery } from "../../shared/types";
|
|
6
5
|
import { SetOptions } from "firebase-admin/firestore";
|
|
6
|
+
import { Subset } from "@intuitionrobotics/ts-common/utils/types";
|
|
7
7
|
import Transaction = firestore.Transaction;
|
|
8
8
|
export declare class FirestoreTransaction {
|
|
9
9
|
private transaction;
|
|
@@ -27,8 +27,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.FirestoreTransaction = void 0;
|
|
30
|
-
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
31
30
|
const FirestoreInterface_1 = require("./FirestoreInterface");
|
|
31
|
+
const exceptions_1 = require("@intuitionrobotics/ts-common/core/exceptions");
|
|
32
|
+
const merge_tools_1 = require("@intuitionrobotics/ts-common/utils/merge-tools");
|
|
32
33
|
class FirestoreTransaction {
|
|
33
34
|
constructor(transaction) {
|
|
34
35
|
this.transaction = transaction;
|
|
@@ -106,7 +107,7 @@ class FirestoreTransaction {
|
|
|
106
107
|
upsertAll(collection, instances) {
|
|
107
108
|
return __awaiter(this, void 0, void 0, function* () {
|
|
108
109
|
if (instances.length > 500)
|
|
109
|
-
throw new
|
|
110
|
+
throw new exceptions_1.BadImplementationException('Firestore transaction supports maximum 500 at a time');
|
|
110
111
|
return (yield this.upsertAll_Read(collection, instances))();
|
|
111
112
|
});
|
|
112
113
|
}
|
|
@@ -125,9 +126,9 @@ class FirestoreTransaction {
|
|
|
125
126
|
return __awaiter(this, void 0, void 0, function* () {
|
|
126
127
|
const doc = yield this._queryItem(collection, instance);
|
|
127
128
|
if (!doc)
|
|
128
|
-
throw new
|
|
129
|
+
throw new exceptions_1.BadImplementationException(`Patching a non existent doc for query ${FirestoreInterface_1.FirestoreInterface.buildUniqueQuery(collection, instance)}`);
|
|
129
130
|
return () => {
|
|
130
|
-
const patchedInstance =
|
|
131
|
+
const patchedInstance = merge_tools_1.merge(doc.data(), instance);
|
|
131
132
|
this.transaction.set(doc.ref, patchedInstance);
|
|
132
133
|
return patchedInstance;
|
|
133
134
|
};
|
|
@@ -142,7 +143,7 @@ class FirestoreTransaction {
|
|
|
142
143
|
return __awaiter(this, void 0, void 0, function* () {
|
|
143
144
|
const docs = yield this._query(collection, ourQuery);
|
|
144
145
|
if (docs.length > 500)
|
|
145
|
-
throw new
|
|
146
|
+
throw new exceptions_1.BadImplementationException(`Trying to delete ${docs.length} documents. Not allowed more then 5oo in a single transaction`);
|
|
146
147
|
return () => {
|
|
147
148
|
const toReturn = docs.map(doc => doc.data());
|
|
148
149
|
docs.forEach((doc) => this.transaction.delete(doc.ref));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirestoreTransaction.js","sourceRoot":"","sources":["../../../src/main/app-backend/firestore/FirestoreTransaction.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"FirestoreTransaction.js","sourceRoot":"","sources":["../../../src/main/app-backend/firestore/FirestoreTransaction.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;AAOH,6DAAwD;AAGxD,6EAAwF;AACxF,gFAAqE;AAGrE,MAAa,oBAAoB;IAG7B,YAAY,WAAwC;QAChD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAEa,MAAM,CAAsB,UAAqC,EAAE,QAA8B;;YAC3G,MAAM,KAAK,GAAgB,uCAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC1F,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACpD,CAAC;KAAA;IAEa,YAAY,CAAsB,UAAqC,EAAE,QAA8B;;YACjH,MAAM,OAAO,GAAgD,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACrG,OAAO,uCAAkB,CAAC,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACvF,CAAC;KAAA;IAEa,UAAU,CAAsB,UAAqC,EAAE,QAAsB;;YACvG,MAAM,QAAQ,GAAG,uCAAkB,CAAC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC3E,MAAM,OAAO,GAA0C,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC/F,OAAO,uCAAkB,CAAC,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACvF,CAAC;KAAA;IAEK,KAAK,CAAsB,UAAqC,EAAE,QAA8B;;YAClG,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAClF,CAAC;KAAA;IAEK,SAAS,CAAsB,UAAqC,EAAE,QAAc;;YACtF,MAAM,QAAQ,GAAG,uCAAkB,CAAC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC3E,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;KAAA;IAEK,WAAW,CAAsB,UAAqC,EAAE,QAA8B;;YACxG,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC1D,IAAI,CAAC,GAAG;gBACJ,OAAO;YAEX,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;KAAA;IAED,MAAM,CAAsB,UAAqC,EAAE,QAAc,EAAE,EAAW;QAC1F,MAAM,GAAG,GAAG,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACpC,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,SAAS,CAAsB,UAAqC,EAAE,SAAiB;QACnF,OAAO,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;IACvE,CAAC;IAEL,0BAA0B;IAChB,MAAM,CAAsB,UAAqC,EAAE,QAAc;;YACnF,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC5D,CAAC;KAAA;IAEK,WAAW,CAAsB,UAAqC,EAAE,QAAc;;YACxF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAEjE,OAAO,GAAG,EAAE;gBACR,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACpC,OAAO,QAAQ,CAAC;YACpB,CAAC,CAAA;QACL,CAAC;KAAA;IAEa,mBAAmB,CAAsB,UAAqC,EAAE,QAAc;;;YACxG,IAAI,GAAG,SAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,0CAAE,GAAG,CAAC;YAC7D,IAAI,CAAC,GAAG;gBACJ,GAAG,GAAG,UAAU,CAAC,uBAAuB,EAAE,CAAC;YAC/C,OAAO,GAAG,CAAC;;KACd;IAEK,SAAS,CAAsB,UAAqC,EAAE,SAAiB;;YACzF,IAAI,SAAS,CAAC,MAAM,GAAG,GAAG;gBACtB,MAAM,IAAI,uCAA0B,CAAC,sDAAsD,CAAC,CAAC;YAEjG,OAAO,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;QAChE,CAAC;KAAA;IAEK,cAAc,CAAsB,UAAqC,EAAE,SAAiB;;YAC9F,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAM,QAAQ,EAAC,EAAE,gDAAC,OAAA,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA,GAAA,CAAC,CAAC,CAAC;YAE1G,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC;KAAA;IAEK,KAAK,CAAsB,UAAqC,EAAE,QAAsB;;YAC1F,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC3D,CAAC;KAAA;IAEK,UAAU,CAAsB,UAAqC,EAAE,QAAsB;;YAC/F,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACxD,IAAI,CAAC,GAAG;gBACJ,MAAM,IAAI,uCAA0B,CAAC,yCAAyC,uCAAkB,CAAC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YAE/I,OAAO,GAAG,EAAE;gBACR,MAAM,eAAe,GAAG,mBAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;gBACpD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;gBAC/C,OAAO,eAAe,CAAC;YAC3B,CAAC,CAAA;QACL,CAAC;KAAA;IAEK,MAAM,CAAsB,UAAqC,EAAE,QAA8B;;YACnG,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC5D,CAAC;KAAA;IAEK,WAAW,CAAsB,UAAqC,EAAE,QAA8B;;YACxG,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAErD,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG;gBACjB,MAAM,IAAI,uCAA0B,CAAC,oBAAoB,IAAI,CAAC,MAAM,+DAA+D,CAAC,CAAC;YAEzI,OAAO,GAAG,EAAE;gBACR,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC7C,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;gBACvD,OAAO,QAAQ,CAAC;YACpB,CAAC,CAAA;QACL,CAAC;KAAA;IAEK,UAAU,CAAsB,UAAqC,EAAE,QAAc;;YACvF,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,uCAAkB,CAAC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;QACnG,CAAC;KAAA;IAKD,YAAY,CAAsB,UAAqC,EAAE,QAAa;QAClF,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAExE,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IACtD,CAAC;IAEa,gBAAgB,CAAsB,UAAqC,EAAE,QAA8B;;YACrH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACjE,IAAI,CAAC,KAAK;gBACN,OAAO;YAEX,OAAO,KAAK,EAAE,CAAC;QACnB,CAAC;KAAA;IAGK,iBAAiB,CAAsB,UAAqC,EAAE,QAA8B;;YAC9G,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAO,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,GAAG;gBACJ,OAAO;YAEX,OAAO,GAAG,EAAE;gBACR,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC1B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjC,OAAO,MAAM,CAAC;YAClB,CAAC,CAAA;QACL,CAAC;KAAA;IAID,GAAG,CAAsB,UAAqC,EAAE,QAAa,EAAE,EAAU,EAAE,OAAa;QACpG,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,CAAsB,UAAqC,EAAE,QAAc,EAAE,EAAU;QACzF,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC5E,CAAC;IAED,cAAc;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;CACJ;AArKD,oDAqKC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirestoreWrapper.js","sourceRoot":"","sources":["../../../src/main/app-backend/firestore/FirestoreWrapper.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAA0D;AAI1D,qEAAgE;AAChE,wDAA2E;AAC3E,mEAAiF;
|
|
1
|
+
{"version":3,"file":"FirestoreWrapper.js","sourceRoot":"","sources":["../../../src/main/app-backend/firestore/FirestoreWrapper.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAA0D;AAI1D,qEAAgE;AAChE,wDAA2E;AAC3E,mEAAiF;AAEjF,MAAa,gBACT,SAAQ,yCAAmB;IAM3B,YAAY,eAA0C;QAClD,KAAK,CAAC,eAAe,CAAC,CAAC;QAJV,gBAAW,GAA2D,EAAE,CAAC;QACzE,kBAAa,GAA6D,EAAE,CAAC;QAI1F,IAAI,CAAC,SAAS,GAAG,wBAAY,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;IACtD,CAAC;IAEM,aAAa,CAAsB,IAAY,EAAE,kBAAqC;QACzF,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,UAAU;YACV,OAAO,UAAU,CAAC;QAEtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,yCAAmB,CAAO,IAAI,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAClG,CAAC;IAEM,eAAe,CAAsB,IAAY;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,UAAU;YACV,OAAO,UAAU,CAAC;QAEtB,MAAM,mBAAmB,GAAG,yCAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAA8B,CAA+B,CAAC;QAC1I,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC;IAC1D,CAAC;IAED,cAAc;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAEY,gBAAgB,CAAC,IAAY;;YACtC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;QAChD,CAAC;KAAA;IAEY,eAAe;;YACxB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe;gBAC/B,OAAO,EAAE,CAAC;YAEd,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;QAC5C,CAAC;KAAA;CACJ;AA3CD,4CA2CC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
export declare type FirestoreType_Collection<T extends any = any> =
|
|
3
|
-
export declare type FirestoreType_QueryDocumentSnapshot<T extends any = any> =
|
|
4
|
-
export declare type FirestoreType_DocumentSnapshot<T extends any = any> =
|
|
5
|
-
export declare type FirestoreType_QuerySnapshot<T> =
|
|
6
|
-
export declare type FirestoreType_Query =
|
|
7
|
-
export declare type FirestoreType_DocumentReference =
|
|
8
|
-
export declare type FirestoreType =
|
|
9
|
-
export declare type FirestoreType_Transaction =
|
|
1
|
+
import { firestore } from "firebase-admin";
|
|
2
|
+
export declare type FirestoreType_Collection<T extends any = any> = firestore.CollectionReference<T>;
|
|
3
|
+
export declare type FirestoreType_QueryDocumentSnapshot<T extends any = any> = firestore.QueryDocumentSnapshot<T>;
|
|
4
|
+
export declare type FirestoreType_DocumentSnapshot<T extends any = any> = firestore.DocumentSnapshot<T>;
|
|
5
|
+
export declare type FirestoreType_QuerySnapshot<T> = firestore.QuerySnapshot<T>;
|
|
6
|
+
export declare type FirestoreType_Query = firestore.Query;
|
|
7
|
+
export declare type FirestoreType_DocumentReference = firestore.DocumentReference;
|
|
8
|
+
export declare type FirestoreType = firestore.Firestore;
|
|
9
|
+
export declare type FirestoreType_Transaction = firestore.Transaction;
|