@intuitionrobotics/firebase 0.47.59 → 1.0.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.
Files changed (192) hide show
  1. package/LICENSE +3 -0
  2. package/{app-backend → dist/app-backend}/FirebaseModule.d.ts +3 -2
  3. package/dist/app-backend/FirebaseModule.d.ts.map +1 -0
  4. package/{app-backend → dist/app-backend}/FirebaseModule.js +17 -19
  5. package/dist/app-backend/FirebaseModule.js.map +1 -0
  6. package/{app-backend → dist/app-backend}/auth/FirebaseBaseWrapper.d.ts +2 -1
  7. package/dist/app-backend/auth/FirebaseBaseWrapper.d.ts.map +1 -0
  8. package/{app-backend → dist/app-backend}/auth/FirebaseBaseWrapper.js +4 -6
  9. package/dist/app-backend/auth/FirebaseBaseWrapper.js.map +1 -0
  10. package/{app-backend → dist/app-backend}/auth/FirebaseSession_Admin.d.ts +4 -3
  11. package/dist/app-backend/auth/FirebaseSession_Admin.d.ts.map +1 -0
  12. package/{app-backend → dist/app-backend}/auth/FirebaseSession_Admin.js +17 -16
  13. package/dist/app-backend/auth/FirebaseSession_Admin.js.map +1 -0
  14. package/dist/app-backend/auth/FirebaseSession_UserPassword.d.ts +2 -0
  15. package/dist/app-backend/auth/FirebaseSession_UserPassword.d.ts.map +1 -0
  16. package/{app-backend → dist/app-backend}/auth/FirebaseSession_UserPassword.js +2 -2
  17. package/{app-backend → dist/app-backend}/auth/FirebaseSession_UserPassword.js.map +1 -1
  18. package/{app-backend → dist/app-backend}/auth/firebase-session.d.ts +6 -5
  19. package/dist/app-backend/auth/firebase-session.d.ts.map +1 -0
  20. package/{app-backend → dist/app-backend}/auth/firebase-session.js +19 -14
  21. package/dist/app-backend/auth/firebase-session.js.map +1 -0
  22. package/{app-backend → dist/app-backend}/database/DatabaseWrapper.d.ts +7 -6
  23. package/dist/app-backend/database/DatabaseWrapper.d.ts.map +1 -0
  24. package/dist/app-backend/database/DatabaseWrapper.js +101 -0
  25. package/dist/app-backend/database/DatabaseWrapper.js.map +1 -0
  26. package/{app-backend → dist/app-backend}/database/types.d.ts +1 -0
  27. package/dist/app-backend/database/types.d.ts.map +1 -0
  28. package/{app-frontend → dist/app-backend}/database/types.js +1 -2
  29. package/{app-backend → dist/app-backend}/database/types.js.map +1 -1
  30. package/{app-backend → dist/app-backend}/firestore/FirestoreCollection.d.ts +12 -10
  31. package/dist/app-backend/firestore/FirestoreCollection.d.ts.map +1 -0
  32. package/dist/app-backend/firestore/FirestoreCollection.js +133 -0
  33. package/dist/app-backend/firestore/FirestoreCollection.js.map +1 -0
  34. package/{app-backend → dist/app-backend}/firestore/FirestoreInterface.d.ts +4 -3
  35. package/dist/app-backend/firestore/FirestoreInterface.d.ts.map +1 -0
  36. package/{app-backend → dist/app-backend}/firestore/FirestoreInterface.js +13 -14
  37. package/dist/app-backend/firestore/FirestoreInterface.js.map +1 -0
  38. package/{app-backend → dist/app-backend}/firestore/FirestoreTransaction.d.ts +9 -8
  39. package/dist/app-backend/firestore/FirestoreTransaction.d.ts.map +1 -0
  40. package/dist/app-backend/firestore/FirestoreTransaction.js +150 -0
  41. package/dist/app-backend/firestore/FirestoreTransaction.js.map +1 -0
  42. package/{app-backend → dist/app-backend}/firestore/FirestoreV2Collection.d.ts +3 -3
  43. package/dist/app-backend/firestore/FirestoreV2Collection.d.ts.map +1 -0
  44. package/{app-backend → dist/app-backend}/firestore/FirestoreV2Collection.js +4 -7
  45. package/dist/app-backend/firestore/FirestoreV2Collection.js.map +1 -0
  46. package/{app-backend → dist/app-backend}/firestore/FirestoreWrapper.d.ts +7 -6
  47. package/dist/app-backend/firestore/FirestoreWrapper.d.ts.map +1 -0
  48. package/dist/app-backend/firestore/FirestoreWrapper.js +41 -0
  49. package/dist/app-backend/firestore/FirestoreWrapper.js.map +1 -0
  50. package/{app-backend → dist/app-backend}/firestore/types.d.ts +1 -0
  51. package/dist/app-backend/firestore/types.d.ts.map +1 -0
  52. package/{app-backend → dist/app-backend}/firestore/types.js +1 -2
  53. package/dist/app-backend/firestore/types.js.map +1 -0
  54. package/{app-backend → dist/app-backend}/functions/firebase-function.d.ts +8 -7
  55. package/dist/app-backend/functions/firebase-function.d.ts.map +1 -0
  56. package/dist/app-backend/functions/firebase-function.js +350 -0
  57. package/dist/app-backend/functions/firebase-function.js.map +1 -0
  58. package/{app-backend → dist/app-backend}/push/PushMessagesWrapper.d.ts +5 -4
  59. package/dist/app-backend/push/PushMessagesWrapper.d.ts.map +1 -0
  60. package/dist/app-backend/push/PushMessagesWrapper.js +48 -0
  61. package/dist/app-backend/push/PushMessagesWrapper.js.map +1 -0
  62. package/{app-backend → dist/app-backend}/push/types.d.ts +1 -0
  63. package/dist/app-backend/push/types.d.ts.map +1 -0
  64. package/{app-backend/database → dist/app-backend/push}/types.js +1 -2
  65. package/{app-backend → dist/app-backend}/push/types.js.map +1 -1
  66. package/{app-backend → dist/app-backend}/storage/StorageWrapper.d.ts +5 -4
  67. package/dist/app-backend/storage/StorageWrapper.d.ts.map +1 -0
  68. package/dist/app-backend/storage/StorageWrapper.js +196 -0
  69. package/dist/app-backend/storage/StorageWrapper.js.map +1 -0
  70. package/{app-backend → dist/app-backend}/storage/types.d.ts +2 -1
  71. package/dist/app-backend/storage/types.d.ts.map +1 -0
  72. package/dist/app-backend/storage/types.js +20 -0
  73. package/{app-backend → dist/app-backend}/storage/types.js.map +1 -1
  74. package/{app-frontend → dist/app-frontend}/FirebaseModule.d.ts +4 -3
  75. package/dist/app-frontend/FirebaseModule.d.ts.map +1 -0
  76. package/dist/app-frontend/FirebaseModule.js +85 -0
  77. package/dist/app-frontend/FirebaseModule.js.map +1 -0
  78. package/{app-frontend → dist/app-frontend}/analytics/AnalyticsModule.d.ts +1 -0
  79. package/dist/app-frontend/analytics/AnalyticsModule.d.ts.map +1 -0
  80. package/dist/app-frontend/analytics/AnalyticsModule.js +46 -0
  81. package/dist/app-frontend/analytics/AnalyticsModule.js.map +1 -0
  82. package/{app-frontend → dist/app-frontend}/analytics/AnalyticsWrapper.d.ts +5 -4
  83. package/dist/app-frontend/analytics/AnalyticsWrapper.d.ts.map +1 -0
  84. package/dist/app-frontend/analytics/AnalyticsWrapper.js +27 -0
  85. package/dist/app-frontend/analytics/AnalyticsWrapper.js.map +1 -0
  86. package/{app-frontend → dist/app-frontend}/analytics/types.d.ts +2 -1
  87. package/dist/app-frontend/analytics/types.d.ts.map +1 -0
  88. package/dist/app-frontend/analytics/types.js +2 -0
  89. package/{app-frontend → dist/app-frontend}/analytics/types.js.map +1 -1
  90. package/dist/app-frontend/auth/FirebaseSession.d.ts +32 -0
  91. package/dist/app-frontend/auth/FirebaseSession.d.ts.map +1 -0
  92. package/dist/app-frontend/auth/FirebaseSession.js +72 -0
  93. package/dist/app-frontend/auth/FirebaseSession.js.map +1 -0
  94. package/{app-frontend → dist/app-frontend}/auth/SwFirebaseSession.d.ts +4 -4
  95. package/dist/app-frontend/auth/SwFirebaseSession.d.ts.map +1 -0
  96. package/dist/app-frontend/auth/SwFirebaseSession.js +21 -0
  97. package/dist/app-frontend/auth/SwFirebaseSession.js.map +1 -0
  98. package/{app-frontend → dist/app-frontend}/database/DatabaseWrapper.d.ts +6 -5
  99. package/dist/app-frontend/database/DatabaseWrapper.d.ts.map +1 -0
  100. package/dist/app-frontend/database/DatabaseWrapper.js +90 -0
  101. package/dist/app-frontend/database/DatabaseWrapper.js.map +1 -0
  102. package/{app-frontend → dist/app-frontend}/database/types.d.ts +1 -0
  103. package/dist/app-frontend/database/types.d.ts.map +1 -0
  104. package/{app-backend/storage → dist/app-frontend/database}/types.js +1 -2
  105. package/{app-frontend → dist/app-frontend}/database/types.js.map +1 -1
  106. package/{app-frontend → dist/app-frontend}/messaging/MessagingWrapper.d.ts +3 -2
  107. package/dist/app-frontend/messaging/MessagingWrapper.d.ts.map +1 -0
  108. package/dist/app-frontend/messaging/MessagingWrapper.js +42 -0
  109. package/dist/app-frontend/messaging/MessagingWrapper.js.map +1 -0
  110. package/{app-frontend → dist/app-frontend}/messaging/SwMessagingWrapper.d.ts +3 -2
  111. package/dist/app-frontend/messaging/SwMessagingWrapper.d.ts.map +1 -0
  112. package/{app-frontend → dist/app-frontend}/messaging/SwMessagingWrapper.js +6 -8
  113. package/dist/app-frontend/messaging/SwMessagingWrapper.js.map +1 -0
  114. package/dist/app-frontend/messaging/types.d.ts +4 -0
  115. package/dist/app-frontend/messaging/types.d.ts.map +1 -0
  116. package/{app-backend/push → dist/app-frontend/messaging}/types.js +1 -2
  117. package/{app-frontend → dist/app-frontend}/messaging/types.js.map +1 -1
  118. package/dist/backend-functions.d.ts +2 -0
  119. package/dist/backend-functions.d.ts.map +1 -0
  120. package/dist/backend-functions.js +19 -0
  121. package/{backend-functions.js.map → dist/backend-functions.js.map} +1 -1
  122. package/dist/backend.d.ts +14 -0
  123. package/dist/backend.d.ts.map +1 -0
  124. package/dist/backend.js +32 -0
  125. package/dist/backend.js.map +1 -0
  126. package/dist/frontend.d.ts +7 -0
  127. package/dist/frontend.d.ts.map +1 -0
  128. package/dist/frontend.js +14 -0
  129. package/dist/frontend.js.map +1 -0
  130. package/dist/index.d.ts +2 -0
  131. package/dist/index.d.ts.map +1 -0
  132. package/dist/index.js +19 -0
  133. package/dist/index.js.map +1 -0
  134. package/{shared → dist/shared}/types.d.ts +4 -3
  135. package/dist/shared/types.d.ts.map +1 -0
  136. package/{shared → dist/shared}/types.js +2 -4
  137. package/dist/shared/types.js.map +1 -0
  138. package/dist/tsconfig.tsbuildinfo +1 -0
  139. package/package.json +67 -14
  140. package/app-backend/FirebaseModule.js.map +0 -1
  141. package/app-backend/auth/FirebaseBaseWrapper.js.map +0 -1
  142. package/app-backend/auth/FirebaseSession_Admin.js.map +0 -1
  143. package/app-backend/auth/FirebaseSession_UserPassword.d.ts +0 -0
  144. package/app-backend/auth/firebase-session.js.map +0 -1
  145. package/app-backend/database/DatabaseWrapper.js +0 -125
  146. package/app-backend/database/DatabaseWrapper.js.map +0 -1
  147. package/app-backend/firestore/FirestoreCollection.js +0 -175
  148. package/app-backend/firestore/FirestoreCollection.js.map +0 -1
  149. package/app-backend/firestore/FirestoreInterface.js.map +0 -1
  150. package/app-backend/firestore/FirestoreTransaction.js +0 -194
  151. package/app-backend/firestore/FirestoreTransaction.js.map +0 -1
  152. package/app-backend/firestore/FirestoreV2Collection.js.map +0 -1
  153. package/app-backend/firestore/FirestoreWrapper.js +0 -54
  154. package/app-backend/firestore/FirestoreWrapper.js.map +0 -1
  155. package/app-backend/firestore/types.js.map +0 -1
  156. package/app-backend/functions/firebase-function.js +0 -335
  157. package/app-backend/functions/firebase-function.js.map +0 -1
  158. package/app-backend/push/PushMessagesWrapper.js +0 -69
  159. package/app-backend/push/PushMessagesWrapper.js.map +0 -1
  160. package/app-backend/storage/StorageWrapper.js +0 -236
  161. package/app-backend/storage/StorageWrapper.js.map +0 -1
  162. package/app-frontend/FirebaseModule.js +0 -107
  163. package/app-frontend/FirebaseModule.js.map +0 -1
  164. package/app-frontend/analytics/AnalyticsModule.js +0 -56
  165. package/app-frontend/analytics/AnalyticsModule.js.map +0 -1
  166. package/app-frontend/analytics/AnalyticsWrapper.js +0 -29
  167. package/app-frontend/analytics/AnalyticsWrapper.js.map +0 -1
  168. package/app-frontend/analytics/types.js +0 -3
  169. package/app-frontend/auth/FirebaseSession.d.ts +0 -24
  170. package/app-frontend/auth/FirebaseSession.js +0 -72
  171. package/app-frontend/auth/FirebaseSession.js.map +0 -1
  172. package/app-frontend/auth/SwFirebaseSession.js +0 -23
  173. package/app-frontend/auth/SwFirebaseSession.js.map +0 -1
  174. package/app-frontend/database/DatabaseWrapper.js +0 -113
  175. package/app-frontend/database/DatabaseWrapper.js.map +0 -1
  176. package/app-frontend/messaging/MessagingWrapper.js +0 -53
  177. package/app-frontend/messaging/MessagingWrapper.js.map +0 -1
  178. package/app-frontend/messaging/SwMessagingWrapper.js.map +0 -1
  179. package/app-frontend/messaging/types.d.ts +0 -3
  180. package/app-frontend/messaging/types.js +0 -20
  181. package/backend-functions.d.ts +0 -1
  182. package/backend-functions.js +0 -35
  183. package/backend.d.ts +0 -13
  184. package/backend.js +0 -48
  185. package/backend.js.map +0 -1
  186. package/frontend.d.ts +0 -4
  187. package/frontend.js +0 -21
  188. package/frontend.js.map +0 -1
  189. package/index.d.ts +0 -1
  190. package/index.js +0 -35
  191. package/index.js.map +0 -1
  192. package/shared/types.js.map +0 -1
@@ -1,335 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Firebase_PubSubFunction = exports.Firebase_StorageFunction = exports.FirebaseScheduledFunction = exports.FirestoreFunctionModule = exports.FirebaseFunctionModule = exports.Firebase_HttpsFunction = exports.Firebase_ExpressFunction = exports.FirebaseFunction = void 0;
13
- const functions = require("firebase-functions");
14
- const ts_common_1 = require("@intuitionrobotics/ts-common");
15
- class FirebaseFunction extends ts_common_1.Module {
16
- constructor(name, onStart, onDestroy, runtimeOptions) {
17
- super(name);
18
- this.onDestroy = [];
19
- this.onStart = [];
20
- this.runtimeOptions = runtimeOptions || {};
21
- onStart && this.onStart.push(onStart);
22
- onDestroy && this.onDestroy.push(onDestroy);
23
- }
24
- addOnStart(onStart) {
25
- this.onStart.push(onStart);
26
- }
27
- ;
28
- addOnDestroy(onDestroy) {
29
- this.onDestroy.push(onDestroy);
30
- }
31
- ;
32
- }
33
- exports.FirebaseFunction = FirebaseFunction;
34
- class Firebase_ExpressFunction {
35
- constructor(_express, name = "api", onStart, onDestroy) {
36
- this.onDestroy = [];
37
- this.onStart = [];
38
- this.getFunction = () => {
39
- if (this.function)
40
- return this.function;
41
- const runtimeOptions = Object.assign({ labels: {
42
- infra: "thunderstorm",
43
- function_name: getFormattedFunctionName(this.getName()),
44
- type: "https",
45
- version: "v1"
46
- } }, Firebase_ExpressFunction.config);
47
- return this.function = functions.runWith(runtimeOptions).https.onRequest((req, resp) => __awaiter(this, void 0, void 0, function* () {
48
- try {
49
- for (const _onStart of this.onStart) {
50
- yield _onStart();
51
- }
52
- return yield this.express(req, resp);
53
- }
54
- finally {
55
- for (const _onDestroy of this.onDestroy) {
56
- yield _onDestroy();
57
- }
58
- }
59
- }));
60
- };
61
- this.express = _express;
62
- this.name = name;
63
- onStart && this.onStart.push(onStart);
64
- onDestroy && this.onDestroy.push(onDestroy);
65
- }
66
- static setConfig(config) {
67
- this.config = config;
68
- }
69
- addOnStart(onStart) {
70
- this.onStart.push(onStart);
71
- }
72
- ;
73
- addOnDestroy(onDestroy) {
74
- this.onDestroy.push(onDestroy);
75
- }
76
- ;
77
- getName() {
78
- return this.name;
79
- }
80
- }
81
- exports.Firebase_ExpressFunction = Firebase_ExpressFunction;
82
- Firebase_ExpressFunction.config = {};
83
- class Firebase_HttpsFunction extends FirebaseFunction {
84
- constructor() {
85
- super(...arguments);
86
- this.getFunction = () => {
87
- if (this.function)
88
- return this.function;
89
- const runtimeOptions = Object.assign({ labels: {
90
- infra: "thunderstorm",
91
- function_name: getFormattedFunctionName(this.getName()),
92
- type: "https",
93
- version: "v1"
94
- } }, this.runtimeOptions);
95
- return this.function = functions.runWith(runtimeOptions).https.onRequest((req, res) => __awaiter(this, void 0, void 0, function* () {
96
- try {
97
- for (const _onStart of this.onStart) {
98
- yield _onStart();
99
- }
100
- return yield this.process(req, res);
101
- }
102
- finally {
103
- for (const _onDestroy of this.onDestroy) {
104
- yield _onDestroy();
105
- }
106
- }
107
- }));
108
- };
109
- this.onFunctionReady = () => __awaiter(this, void 0, void 0, function* () {
110
- return;
111
- });
112
- }
113
- }
114
- exports.Firebase_HttpsFunction = Firebase_HttpsFunction;
115
- class FirebaseFunctionModule extends FirebaseFunction {
116
- constructor(listeningPath, name, onStart, onDestroy) {
117
- super(name);
118
- this.getFunction = () => {
119
- if (this.function)
120
- return this.function;
121
- const runtimeOptions = Object.assign({ labels: {
122
- infra: "thunderstorm",
123
- function_name: getFormattedFunctionName(this.getName()),
124
- type: "realtime-db-listener",
125
- version: "v1"
126
- } }, this.runtimeOptions);
127
- return this.function = functions.runWith(runtimeOptions).database.ref(this.listeningPath).onWrite((change, context) => __awaiter(this, void 0, void 0, function* () {
128
- try {
129
- for (const _onStart of this.onStart) {
130
- yield _onStart();
131
- }
132
- const before = change.before && change.before.val();
133
- const after = change.after && change.after.val();
134
- const params = (0, ts_common_1.deepClone)(context.params);
135
- return yield this.processChanges(before, after, params);
136
- }
137
- finally {
138
- for (const _onDestroy of this.onDestroy) {
139
- yield _onDestroy();
140
- }
141
- }
142
- }));
143
- };
144
- this.listeningPath = listeningPath;
145
- onStart && this.addOnStart(onStart);
146
- onDestroy && this.addOnDestroy(onDestroy);
147
- }
148
- }
149
- exports.FirebaseFunctionModule = FirebaseFunctionModule;
150
- //TODO: I would like to add a type for the params..
151
- class FirestoreFunctionModule extends FirebaseFunction {
152
- constructor(collectionName, name, onStart, onDestroy) {
153
- super(name, onStart, onDestroy);
154
- this.getFunction = () => {
155
- if (this.function)
156
- return this.function;
157
- const runtimeOptions = Object.assign({ labels: {
158
- infra: "thunderstorm",
159
- function_name: getFormattedFunctionName(this.getName()),
160
- type: "firestore-listener",
161
- version: "v1"
162
- } }, this.runtimeOptions);
163
- return this.function = functions.runWith(runtimeOptions).firestore.document(`${this.collectionName}/{docId}`).onWrite((change, context) => __awaiter(this, void 0, void 0, function* () {
164
- try {
165
- for (const _onStart of this.onStart) {
166
- yield _onStart();
167
- }
168
- const before = change.before && change.before.data();
169
- const after = change.after && change.after.data();
170
- const params = (0, ts_common_1.deepClone)(context.params);
171
- return yield this.processChanges(params, before, after);
172
- }
173
- finally {
174
- for (const _onDestroy of this.onDestroy) {
175
- yield _onDestroy();
176
- }
177
- }
178
- }));
179
- };
180
- this.collectionName = collectionName;
181
- }
182
- }
183
- exports.FirestoreFunctionModule = FirestoreFunctionModule;
184
- class FirebaseScheduledFunction extends FirebaseFunction {
185
- constructor() {
186
- super(...arguments);
187
- this.runningCondition = [];
188
- this.getFunction = () => {
189
- var _a;
190
- if (!this.schedule)
191
- throw new ts_common_1.ImplementationMissingException("MUST set schedule !!");
192
- if (this.function)
193
- return this.function;
194
- const runtimeOptions = Object.assign({ labels: {
195
- infra: "thunderstorm",
196
- function_name: getFormattedFunctionName(this.getName()),
197
- type: "pubsub-schedule",
198
- version: "v1"
199
- } }, this.runtimeOptions);
200
- return this.function = functions
201
- .runWith(runtimeOptions)
202
- .pubsub
203
- .schedule(this.schedule)
204
- .timeZone(((_a = this.config) === null || _a === void 0 ? void 0 : _a.timeZone) || "Etc/UTC")
205
- .onRun(() => __awaiter(this, void 0, void 0, function* () {
206
- try {
207
- for (const _onStart of this.onStart) {
208
- yield _onStart();
209
- }
210
- const results = yield Promise.all(this.runningCondition.map(condition => condition()));
211
- if (results.includes(false)) {
212
- this.logDebug("will not execute backup.. running conditions didn't pass: ", results);
213
- return;
214
- }
215
- return yield this.onScheduledEvent();
216
- }
217
- finally {
218
- for (const _onDestroy of this.onDestroy) {
219
- yield _onDestroy();
220
- }
221
- }
222
- }));
223
- };
224
- }
225
- addRunningCondition(runningCondition) {
226
- (0, ts_common_1.addItemToArray)(this.runningCondition, runningCondition);
227
- return this;
228
- }
229
- setSchedule(schedule) {
230
- this.schedule = schedule;
231
- return this;
232
- }
233
- }
234
- exports.FirebaseScheduledFunction = FirebaseScheduledFunction;
235
- class Firebase_StorageFunction extends FirebaseFunction {
236
- constructor() {
237
- super(...arguments);
238
- this.getFunction = () => {
239
- if (this.function)
240
- return this.function;
241
- this.logInfo(`Initializing ${this.getName()} with configs ${JSON.stringify(this.config)}`);
242
- const runtimeOptions = Object.assign({ labels: {
243
- infra: "thunderstorm",
244
- function_name: getFormattedFunctionName(this.getName()),
245
- type: "https",
246
- version: "v1"
247
- }, timeoutSeconds: 300, memory: "2GB" }, this.runtimeOptions);
248
- return this.function = functions.runWith(runtimeOptions).storage.bucket(this.config.bucketName).object().onFinalize((object, context) => __awaiter(this, void 0, void 0, function* () {
249
- try {
250
- for (const _onStart of this.onStart) {
251
- yield _onStart();
252
- }
253
- return yield this.onFinalize(object, context);
254
- }
255
- catch (e) {
256
- const _message = `Error handling callback to onFinalize bucket listener method` +
257
- "\n" + `File changed ${object.name}` + "\n with attributes: " + (0, ts_common_1.__stringify)(context) + "\n" + (0, ts_common_1.__stringify)(e);
258
- this.logError(_message);
259
- try {
260
- yield ts_common_1.dispatch_onServerError.dispatchModuleAsync(ts_common_1.ServerErrorSeverity.Critical, _message);
261
- }
262
- catch (_e) {
263
- this.logError("Error while handing bucket listener error", _e);
264
- }
265
- }
266
- finally {
267
- for (const _onDestroy of this.onDestroy) {
268
- yield _onDestroy();
269
- }
270
- }
271
- }));
272
- };
273
- }
274
- }
275
- exports.Firebase_StorageFunction = Firebase_StorageFunction;
276
- function getFormattedFunctionName(name) {
277
- return name.replace(/([A-Z])/g, "_$1").toLowerCase().replace(/\s/g, "_");
278
- }
279
- class Firebase_PubSubFunction extends FirebaseFunction {
280
- constructor(topic, name, onStart, onDestroy) {
281
- super(name, onStart, onDestroy);
282
- this._onPublish = (object, originalMessage, context) => __awaiter(this, void 0, void 0, function* () {
283
- try {
284
- return yield this.onPublish(object, originalMessage, context);
285
- }
286
- catch (e) {
287
- const _message = `Error publishing pub/sub message` + (0, ts_common_1.__stringify)(object) +
288
- "\n" + ` to topic ${this.topic}` + "\n with attributes: " + (0, ts_common_1.__stringify)(originalMessage.attributes) + "\n" + (0, ts_common_1.__stringify)(e);
289
- this.logError(_message);
290
- try {
291
- yield ts_common_1.dispatch_onServerError.dispatchModuleAsync(ts_common_1.ServerErrorSeverity.Critical, _message);
292
- }
293
- catch (_e) {
294
- this.logError("Error while handing pubsub error", _e);
295
- }
296
- }
297
- });
298
- this.getFunction = () => {
299
- if (this.function)
300
- return this.function;
301
- const runtimeOptions = Object.assign({ labels: {
302
- infra: "thunderstorm",
303
- function_name: getFormattedFunctionName(this.getName()),
304
- type: "pubsub-topic-publish",
305
- version: "v1"
306
- } }, this.runtimeOptions);
307
- return this.function = functions.runWith(runtimeOptions).pubsub.topic(this.topic).onPublish((message, context) => __awaiter(this, void 0, void 0, function* () {
308
- // need to validate etc...
309
- try {
310
- for (const _onStart of this.onStart) {
311
- yield _onStart();
312
- }
313
- const originalMessage = message.toJSON();
314
- let data;
315
- try {
316
- data = JSON.parse(Buffer.from(originalMessage.data, "base64").toString());
317
- }
318
- catch (e) {
319
- this.logError(`Error parsing the data attribute from pub/sub message to topic ${this.topic}` +
320
- "\n" + (0, ts_common_1.__stringify)(originalMessage.data) + "\n" + (0, ts_common_1.__stringify)(e));
321
- }
322
- return yield this._onPublish(data, originalMessage, context);
323
- }
324
- finally {
325
- for (const _onDestroy of this.onDestroy) {
326
- yield _onDestroy();
327
- }
328
- }
329
- }));
330
- };
331
- this.topic = topic;
332
- }
333
- }
334
- exports.Firebase_PubSubFunction = Firebase_PubSubFunction;
335
- //# sourceMappingURL=firebase-function.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"firebase-function.js","sourceRoot":"","sources":["../../../src/main/app-backend/functions/firebase-function.ts"],"names":[],"mappings":"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"}
@@ -1,69 +0,0 @@
1
- "use strict";
2
- /*
3
- * Firebase is a simpler Typescript wrapper to all of firebase services.
4
- *
5
- * Copyright (C) 2020 Intuition Robotics
6
- *
7
- * Licensed under the Apache License, Version 2.0 (the "License");
8
- * you may not use this file except in compliance with the License.
9
- * You may obtain a copy of the License at
10
- *
11
- * http://www.apache.org/licenses/LICENSE-2.0
12
- *
13
- * Unless required by applicable law or agreed to in writing, software
14
- * distributed under the License is distributed on an "AS IS" BASIS,
15
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- * See the License for the specific language governing permissions and
17
- * limitations under the License.
18
- */
19
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
20
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
21
- return new (P || (P = Promise))(function (resolve, reject) {
22
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
23
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
24
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
25
- step((generator = generator.apply(thisArg, _arguments || [])).next());
26
- });
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.PushMessagesWrapper = void 0;
30
- const FirebaseBaseWrapper_1 = require("../auth/FirebaseBaseWrapper");
31
- const messaging_1 = require("firebase-admin/messaging");
32
- class PushMessagesWrapper extends FirebaseBaseWrapper_1.FirebaseBaseWrapper {
33
- constructor(firebaseSession) {
34
- super(firebaseSession);
35
- this.messaging = (0, messaging_1.getMessaging)(firebaseSession.app);
36
- }
37
- send(message, dryRun) {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- return this.messaging.send(message, dryRun);
40
- });
41
- }
42
- sendAll(messages) {
43
- return __awaiter(this, void 0, void 0, function* () {
44
- return this.messaging.sendEach(messages);
45
- });
46
- }
47
- sendMultiCast(tokens, data) {
48
- return __awaiter(this, void 0, void 0, function* () {
49
- return this.messaging.sendEachForMulticast({ data, tokens });
50
- });
51
- }
52
- sendToTopic(topic, data, dryRun) {
53
- return __awaiter(this, void 0, void 0, function* () {
54
- return this.messaging.sendToTopic(topic, { data }, { dryRun });
55
- });
56
- }
57
- subscribeToTopic(tokens, topic) {
58
- return __awaiter(this, void 0, void 0, function* () {
59
- return this.messaging.subscribeToTopic(tokens, topic);
60
- });
61
- }
62
- unsubscribeFromTopic(tokens, topic) {
63
- return __awaiter(this, void 0, void 0, function* () {
64
- return this.messaging.unsubscribeFromTopic(tokens, topic);
65
- });
66
- }
67
- }
68
- exports.PushMessagesWrapper = PushMessagesWrapper;
69
- //# sourceMappingURL=PushMessagesWrapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PushMessagesWrapper.js","sourceRoot":"","sources":["../../../src/main/app-backend/push/PushMessagesWrapper.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;AASH,qEAAgE;AAGhE,wDAAsD;AAEtD,MAAa,mBACZ,SAAQ,yCAAmB;IAI3B,YAAY,eAA0C;QACrD,KAAK,CAAC,eAAe,CAAC,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAA,wBAAY,EAAC,eAAe,CAAC,GAAG,CAAC,CAAA;IACnD,CAAC;IAEK,IAAI,CAAC,OAA6B,EAAE,MAAgB;;YACzD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;KAAA;IAEK,OAAO,CAAC,QAAgC;;YAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;KAAA;IAEK,aAAa,CAAC,MAAgB,EAAE,IAAe;;YACpD,OAAO,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;QAC5D,CAAC;KAAA;IAEK,WAAW,CAAC,KAAa,EAAE,IAAe,EAAE,MAAgB;;YACjE,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,MAAM,EAAC,CAAC,CAAA;QAC3D,CAAC;KAAA;IAEK,gBAAgB,CAAC,MAAgB,EAAE,KAAa;;YACrD,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACtD,CAAC;KAAA;IAEK,oBAAoB,CAAC,MAAgB,EAAE,KAAa;;YACzD,OAAO,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC1D,CAAC;KAAA;CACD;AAjCD,kDAiCC"}
@@ -1,236 +0,0 @@
1
- "use strict";
2
- /*
3
- * Firebase is a simpler Typescript wrapper to all of firebase services.
4
- *
5
- * Copyright (C) 2020 Intuition Robotics
6
- *
7
- * Licensed under the Apache License, Version 2.0 (the "License");
8
- * you may not use this file except in compliance with the License.
9
- * You may obtain a copy of the License at
10
- *
11
- * http://www.apache.org/licenses/LICENSE-2.0
12
- *
13
- * Unless required by applicable law or agreed to in writing, software
14
- * distributed under the License is distributed on an "AS IS" BASIS,
15
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- * See the License for the specific language governing permissions and
17
- * limitations under the License.
18
- */
19
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
20
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
21
- return new (P || (P = Promise))(function (resolve, reject) {
22
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
23
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
24
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
25
- step((generator = generator.apply(thisArg, _arguments || [])).next());
26
- });
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.FileWrapper = exports.BucketWrapper = exports.StorageWrapper = void 0;
30
- const ts_common_1 = require("@intuitionrobotics/ts-common");
31
- const FirebaseBaseWrapper_1 = require("../auth/FirebaseBaseWrapper");
32
- const storage_1 = require("firebase-admin/storage");
33
- class StorageWrapper extends FirebaseBaseWrapper_1.FirebaseBaseWrapper {
34
- constructor(firebaseSession) {
35
- super(firebaseSession);
36
- this.storage = (0, storage_1.getStorage)(firebaseSession.app);
37
- }
38
- getOrCreateBucket(bucketName) {
39
- return __awaiter(this, void 0, void 0, function* () {
40
- let _bucketName = bucketName;
41
- if (!_bucketName)
42
- _bucketName = `gs://${this.firebaseSession.getProjectId()}.appspot.com`;
43
- if (!_bucketName.startsWith("gs://"))
44
- throw new ts_common_1.BadImplementationException("Bucket name MUST start with 'gs://'");
45
- const bucket = (yield this.storage.bucket(_bucketName).get({ autoCreate: true }))[0];
46
- // @ts-ignore
47
- return new BucketWrapper(_bucketName, bucket, this);
48
- });
49
- }
50
- }
51
- exports.StorageWrapper = StorageWrapper;
52
- class BucketWrapper {
53
- constructor(bucketName, bucket, storage) {
54
- this.bucketName = bucketName;
55
- this.bucket = bucket;
56
- this.storage = storage;
57
- }
58
- getFile(pathToRemoteFile) {
59
- return __awaiter(this, void 0, void 0, function* () {
60
- // @ts-ignore
61
- return new FileWrapper(pathToRemoteFile, yield this.bucket.file(pathToRemoteFile), this);
62
- });
63
- }
64
- listFiles() {
65
- return __awaiter(this, arguments, void 0, function* (folder = "", filter = () => true) {
66
- const filteredFiles = [];
67
- yield this.iterateOverFiles(folder, filter, (file) => __awaiter(this, void 0, void 0, function* () { return filteredFiles.push(file); }));
68
- return filteredFiles;
69
- });
70
- }
71
- deleteFiles() {
72
- return __awaiter(this, arguments, void 0, function* (folder = "", filter = () => true) {
73
- yield this.iterateOverFiles(folder, filter, (file) => file.delete());
74
- });
75
- }
76
- iterateOverFiles(folder, filter, action) {
77
- return __awaiter(this, void 0, void 0, function* () {
78
- return new Promise((resolve, reject) => {
79
- const callback = (err, files, nextQuery) => __awaiter(this, void 0, void 0, function* () {
80
- if (err)
81
- return reject(err);
82
- if (files) {
83
- yield Promise.all(files.filter(filter).map(file => action(file)));
84
- }
85
- if (!nextQuery)
86
- return resolve();
87
- this.bucket.getFiles(nextQuery, callback);
88
- });
89
- this.bucket.getFiles({
90
- prefix: folder,
91
- autoPaginate: false
92
- }, callback);
93
- });
94
- });
95
- }
96
- }
97
- exports.BucketWrapper = BucketWrapper;
98
- class FileWrapper {
99
- constructor(path, file, bucket) {
100
- this.file = file;
101
- this.bucket = bucket;
102
- this.path = path;
103
- }
104
- getWriteSecuredUrl(contentType, expiresInMs) {
105
- return __awaiter(this, void 0, void 0, function* () {
106
- const options = {
107
- action: 'write',
108
- contentType: contentType,
109
- expires: (0, ts_common_1.currentTimeMillies)() + expiresInMs,
110
- };
111
- return this.getSignedUrl(options);
112
- });
113
- }
114
- getReadSecuredUrl(expiresInMs) {
115
- return __awaiter(this, void 0, void 0, function* () {
116
- const options = {
117
- action: 'read',
118
- expires: (0, ts_common_1.currentTimeMillies)() + expiresInMs,
119
- };
120
- return this.getSignedUrl(options);
121
- });
122
- }
123
- exists() {
124
- return __awaiter(this, void 0, void 0, function* () {
125
- return (yield this.file.exists())[0];
126
- });
127
- }
128
- write(data) {
129
- return __awaiter(this, void 0, void 0, function* () {
130
- if (Buffer.isBuffer(data))
131
- return this.file.save(data);
132
- switch (typeof data) {
133
- case "function":
134
- case "symbol":
135
- case "bigint":
136
- case "undefined":
137
- throw new ts_common_1.BadImplementationException(`Cannot save file: ${this.file.name}, data is ${typeof data}`);
138
- case "object":
139
- return this.file.save(JSON.stringify(data));
140
- case "boolean":
141
- case "number":
142
- case "string":
143
- return this.file.save(`${data}`);
144
- }
145
- });
146
- }
147
- read() {
148
- return __awaiter(this, void 0, void 0, function* () {
149
- const downloadResponse = yield this.file.download();
150
- return downloadResponse[0];
151
- });
152
- }
153
- copy(destination) {
154
- return __awaiter(this, void 0, void 0, function* () {
155
- const copy = yield this.copyImpl(destination);
156
- return copy[0];
157
- });
158
- }
159
- copyImpl(destination) {
160
- if (typeof destination === "string")
161
- return this.file.copy(destination);
162
- const bucketWrapper = destination instanceof FileWrapper ? destination.bucket : destination;
163
- if (this.bucket.storage.firebaseSession !== bucketWrapper.storage.firebaseSession)
164
- return this.copyByStream(destination);
165
- if (destination instanceof FileWrapper)
166
- return this.file.copy(destination.file);
167
- return this.file.copy(destination.bucket);
168
- }
169
- copyByStream(destination) {
170
- return __awaiter(this, void 0, void 0, function* () {
171
- const destinationFile = destination instanceof FileWrapper ? destination.file : (yield destination.getFile(this.path)).file;
172
- return new Promise((resolve, reject) => {
173
- this
174
- .file
175
- .createReadStream()
176
- .pipe(destinationFile
177
- .createWriteStream()
178
- .on('error', reject)
179
- .on('finish', () => resolve([destinationFile, undefined])))
180
- .on('error', reject);
181
- });
182
- });
183
- }
184
- move(destination) {
185
- return __awaiter(this, void 0, void 0, function* () {
186
- const file = yield this.copy(destination);
187
- try {
188
- yield this.delete();
189
- }
190
- catch (e) {
191
- try {
192
- yield file.delete();
193
- }
194
- catch (err) {
195
- throw new ts_common_1.ThisShouldNotHappenException('Error during the deletion of the recently copied file, check the attached error', err);
196
- }
197
- throw new ts_common_1.BadImplementationException('Error during the deletion of the file after a successful copy, attached error stack', e);
198
- }
199
- });
200
- }
201
- delete() {
202
- return __awaiter(this, void 0, void 0, function* () {
203
- if (!(yield this.file.exists()))
204
- return;
205
- return this.file.delete();
206
- });
207
- }
208
- getSignedUrl(options) {
209
- return __awaiter(this, void 0, void 0, function* () {
210
- const results = yield this.file.getSignedUrl(options);
211
- const url = results[0];
212
- return {
213
- fileName: this.path,
214
- securedUrl: url,
215
- publicUrl: encodeURI(`https://storage.googleapis.com/${this.bucket.bucketName.replace(`gs://`, '')}/${this.path}`)
216
- };
217
- });
218
- }
219
- makePublic() {
220
- return __awaiter(this, void 0, void 0, function* () {
221
- return this.file.makePublic();
222
- });
223
- }
224
- setMetadata(metadata, options) {
225
- return __awaiter(this, void 0, void 0, function* () {
226
- return (yield this.file.setMetadata({ metadata }, options))[0];
227
- });
228
- }
229
- getMetadata(options) {
230
- return __awaiter(this, void 0, void 0, function* () {
231
- return (yield this.file.getMetadata(options))[0];
232
- });
233
- }
234
- }
235
- exports.FileWrapper = FileWrapper;
236
- //# sourceMappingURL=StorageWrapper.js.map