emberflow 1.3.8 → 1.3.42

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 (52) hide show
  1. package/lib/db-structure.d.ts +2 -7
  2. package/lib/db-structure.js +1 -6
  3. package/lib/db-structure.js.map +1 -1
  4. package/lib/index-utils.d.ts +10 -5
  5. package/lib/index-utils.js +87 -122
  6. package/lib/index-utils.js.map +1 -1
  7. package/lib/index.d.ts +7 -0
  8. package/lib/index.js +85 -42
  9. package/lib/index.js.map +1 -1
  10. package/lib/logics/view-logics.d.ts +22 -2
  11. package/lib/logics/view-logics.js +107 -53
  12. package/lib/logics/view-logics.js.map +1 -1
  13. package/lib/sample-custom/db-structure.d.ts +16 -8
  14. package/lib/sample-custom/db-structure.js +17 -9
  15. package/lib/sample-custom/db-structure.js.map +1 -1
  16. package/lib/tests/index-utils.test.js +233 -137
  17. package/lib/tests/index-utils.test.js.map +1 -1
  18. package/lib/tests/index.test.js +21 -17
  19. package/lib/tests/index.test.js.map +1 -1
  20. package/lib/tests/logics/view-logics.test.js +203 -24
  21. package/lib/tests/logics/view-logics.test.js.map +1 -1
  22. package/lib/tests/utils/distribution.test.d.ts +1 -0
  23. package/lib/tests/utils/distribution.test.js +206 -0
  24. package/lib/tests/utils/distribution.test.js.map +1 -0
  25. package/lib/tests/utils/forms.test.d.ts +1 -0
  26. package/lib/tests/utils/forms.test.js +113 -0
  27. package/lib/tests/utils/forms.test.js.map +1 -0
  28. package/lib/tests/utils/misc.test.js +138 -0
  29. package/lib/tests/utils/misc.test.js.map +1 -1
  30. package/lib/tests/utils/paths.test.js +6 -5
  31. package/lib/tests/utils/paths.test.js.map +1 -1
  32. package/lib/tests/utils/pubsub.test.d.ts +1 -0
  33. package/lib/tests/utils/pubsub.test.js +109 -0
  34. package/lib/tests/utils/pubsub.test.js.map +1 -0
  35. package/lib/types.d.ts +7 -1
  36. package/lib/utils/bill-protect.d.ts +2 -1
  37. package/lib/utils/bill-protect.js +1 -1
  38. package/lib/utils/bill-protect.js.map +1 -1
  39. package/lib/utils/distribution.d.ts +9 -0
  40. package/lib/utils/distribution.js +119 -0
  41. package/lib/utils/distribution.js.map +1 -0
  42. package/lib/utils/forms.d.ts +4 -2
  43. package/lib/utils/forms.js +32 -101
  44. package/lib/utils/forms.js.map +1 -1
  45. package/lib/utils/misc.d.ts +17 -0
  46. package/lib/utils/misc.js +81 -1
  47. package/lib/utils/misc.js.map +1 -1
  48. package/lib/utils/pubsub.d.ts +9 -0
  49. package/lib/utils/pubsub.js +32 -0
  50. package/lib/utils/pubsub.js.map +1 -0
  51. package/package.json +3 -2
  52. package/src/sample-custom/db-structure.ts +17 -9
@@ -1,13 +1,8 @@
1
1
  export declare enum InternalEntity {
2
- Internal = "internal",
3
- ForDistribution = "forDistribution"
2
+ Internal = "internal"
4
3
  }
5
4
  export declare const internalDbStructure: {
6
5
  "@internal": {
7
- internal: {
8
- distributions: {
9
- forDistribution: {};
10
- };
11
- };
6
+ internal: {};
12
7
  };
13
8
  };
@@ -4,15 +4,10 @@ exports.internalDbStructure = exports.InternalEntity = void 0;
4
4
  var InternalEntity;
5
5
  (function (InternalEntity) {
6
6
  InternalEntity["Internal"] = "internal";
7
- InternalEntity["ForDistribution"] = "forDistribution";
8
7
  })(InternalEntity = exports.InternalEntity || (exports.InternalEntity = {}));
9
8
  exports.internalDbStructure = {
10
9
  "@internal": {
11
- [InternalEntity.Internal]: {
12
- distributions: {
13
- [InternalEntity.ForDistribution]: {},
14
- },
15
- },
10
+ [InternalEntity.Internal]: {},
16
11
  },
17
12
  };
18
13
  //# sourceMappingURL=db-structure.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"db-structure.js","sourceRoot":"","sources":["../src/db-structure.ts"],"names":[],"mappings":";;;AACA,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,uCAAqB,CAAA;IACrB,qDAAmC,CAAA;AACvC,CAAC,EAHW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAGzB;AACY,QAAA,mBAAmB,GAAG;IACjC,WAAW,EAAE;QACX,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;YACzB,aAAa,EAAE;gBACb,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE;aACrC;SACF;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"db-structure.js","sourceRoot":"","sources":["../src/db-structure.ts"],"names":[],"mappings":";;;AACA,IAAY,cAEX;AAFD,WAAY,cAAc;IACtB,uCAAqB,CAAA;AACzB,CAAC,EAFW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAEzB;AACY,QAAA,mBAAmB,GAAG;IACjC,WAAW,EAAE;QACX,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE;KAC9B;CACF,CAAC"}
@@ -1,14 +1,18 @@
1
1
  import { Action, LogicActionType, LogicResult, LogicResultDoc, SecurityFn, ValidateFormResult } from "./types";
2
2
  import { database, firestore } from "firebase-admin";
3
+ import { BatchUtil } from "./utils/batch";
3
4
  import QueryDocumentSnapshot = firestore.QueryDocumentSnapshot;
4
5
  import DocumentData = FirebaseFirestore.DocumentData;
5
6
  import Reference = database.Reference;
7
+ import { FirestoreEvent } from "firebase-functions/lib/v2/providers/firestore";
8
+ import { ScheduledEvent } from "firebase-functions/lib/v2/providers/scheduler";
6
9
  export declare const _mockable: {
7
10
  getViewLogicsConfig: () => import("./types").ViewLogicConfig[];
8
11
  createNowTimestamp: () => firestore.Timestamp;
9
12
  };
13
+ export declare function distributeDoc(logicResultDoc: LogicResultDoc, batch?: BatchUtil): Promise<void>;
10
14
  export declare function distribute(docsByDstPath: Map<string, LogicResultDoc[]>): Promise<void>;
11
- export declare function distributeLater(docsByDstPath: Map<string, LogicResultDoc[]>, id: string): Promise<void>;
15
+ export declare function distributeLater(docsByDstPath: Map<string, LogicResultDoc[]>): Promise<void>;
12
16
  export declare function validateForm(entity: string, form: FirebaseFirestore.DocumentData): Promise<ValidateFormResult>;
13
17
  export declare function getFormModifiedFields(form: DocumentData, document: DocumentData): DocumentData;
14
18
  export declare function delayFormSubmissionAndCheckIfCancelled(delay: number, formRef: Reference): Promise<boolean>;
@@ -19,7 +23,8 @@ export declare function groupDocsByUserAndDstPath(docsByDstPath: Map<string, Log
19
23
  };
20
24
  export declare function getSecurityFn(entity: string): SecurityFn;
21
25
  export declare function expandConsolidateAndGroupByDstPath(logicDocs: LogicResultDoc[]): Promise<Map<string, LogicResultDoc[]>>;
22
- export declare function runViewLogics(dstPathLogicDocsMap: Map<string, LogicResultDoc>): Promise<LogicResult[]>;
23
- export declare function runPeerSyncViews(userDocsByDstPath: Map<string, LogicResultDoc>): Promise<LogicResult[]>;
24
- export declare function processScheduledEntities(): Promise<void>;
25
- export declare function onDeleteFunction(snapshot: QueryDocumentSnapshot): Promise<void>;
26
+ export declare function runViewLogics(userLogicResultDoc: LogicResultDoc): Promise<LogicResult[]>;
27
+ export declare function processScheduledEntities(event: ScheduledEvent): Promise<void>;
28
+ export declare function onDeleteFunction(event: FirestoreEvent<QueryDocumentSnapshot | undefined, {
29
+ deleteFuncId: string;
30
+ }>): Promise<void>;
@@ -1,17 +1,51 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.onDeleteFunction = exports.processScheduledEntities = exports.runPeerSyncViews = exports.runViewLogics = exports.expandConsolidateAndGroupByDstPath = exports.getSecurityFn = exports.groupDocsByUserAndDstPath = exports.runBusinessLogics = exports.delayFormSubmissionAndCheckIfCancelled = exports.getFormModifiedFields = exports.validateForm = exports.distributeLater = exports.distribute = exports._mockable = void 0;
3
+ exports.onDeleteFunction = exports.processScheduledEntities = exports.runViewLogics = exports.expandConsolidateAndGroupByDstPath = exports.getSecurityFn = exports.groupDocsByUserAndDstPath = exports.runBusinessLogics = exports.delayFormSubmissionAndCheckIfCancelled = exports.getFormModifiedFields = exports.validateForm = exports.distributeLater = exports.distribute = exports.distributeDoc = exports._mockable = void 0;
4
4
  const index_1 = require("./index");
5
- const view_logics_1 = require("./logics/view-logics");
6
5
  const paths_1 = require("./utils/paths");
7
6
  const misc_1 = require("./utils/misc");
8
7
  const functions_1 = require("@google-cloud/functions");
9
8
  const batch_1 = require("./utils/batch");
10
9
  const forms_1 = require("./utils/forms");
10
+ const distribution_1 = require("./utils/distribution");
11
11
  exports._mockable = {
12
12
  getViewLogicsConfig: () => index_1.viewLogicConfigs,
13
13
  createNowTimestamp: () => index_1.admin.firestore.Timestamp.now(),
14
14
  };
15
+ async function distributeDoc(logicResultDoc, batch) {
16
+ const { action, doc, instructions, dstPath, } = logicResultDoc;
17
+ const dstDocRef = index_1.db.doc(dstPath);
18
+ console.debug(`Distributing doc with Action: ${action}`);
19
+ if (action === "delete") {
20
+ // Delete document at dstPath
21
+ if (batch) {
22
+ await batch.deleteDoc(dstDocRef);
23
+ }
24
+ else {
25
+ await dstDocRef.delete();
26
+ }
27
+ console.log(`Document deleted at ${dstPath}`);
28
+ }
29
+ else if (action === "merge" || action === "create") {
30
+ if (instructions) {
31
+ await (0, distribution_1.queueInstructions)(dstPath, instructions);
32
+ }
33
+ const updateData = Object.assign(Object.assign({}, doc), { "@id": dstDocRef.id });
34
+ if (batch) {
35
+ await batch.set(dstDocRef, updateData);
36
+ }
37
+ else {
38
+ await dstDocRef.set(updateData, { merge: true });
39
+ }
40
+ console.log(`Document merged to ${dstPath}`);
41
+ }
42
+ else if (action === "submit-form") {
43
+ console.debug("Queuing submit form...");
44
+ const formData = Object.assign({ "@docPath": dstPath, "@actionType": "create" }, doc);
45
+ await (0, forms_1.queueSubmitForm)(formData);
46
+ }
47
+ }
48
+ exports.distributeDoc = distributeDoc;
15
49
  async function distribute(docsByDstPath) {
16
50
  const batch = batch_1.BatchUtil.getInstance();
17
51
  for (const dstPath of Array.from(docsByDstPath.keys()).sort()) {
@@ -20,56 +54,7 @@ async function distribute(docsByDstPath) {
20
54
  if (!resultDocs)
21
55
  continue;
22
56
  for (const resultDoc of resultDocs) {
23
- const { action, doc, instructions, } = resultDoc;
24
- console.debug(`Distributing doc with Action: ${action}`);
25
- if (action === "delete") {
26
- // Delete document at dstPath
27
- const dstDocRef = index_1.db.doc(dstPath);
28
- await batch.deleteDoc(dstDocRef);
29
- console.log(`Document deleted at ${dstPath}`);
30
- }
31
- else if (action === "merge") {
32
- const updateData = Object.assign({}, doc);
33
- if (instructions) {
34
- for (const [property, instruction] of Object.entries(instructions)) {
35
- if (instruction === "++") {
36
- updateData[property] = index_1.admin.firestore.FieldValue.increment(1);
37
- }
38
- else if (instruction === "--") {
39
- updateData[property] = index_1.admin.firestore.FieldValue.increment(-1);
40
- }
41
- else if (instruction.startsWith("+")) {
42
- const incrementValue = parseInt(instruction.slice(1));
43
- if (isNaN(incrementValue)) {
44
- console.log(`Invalid increment value ${instruction} for property ${property}`);
45
- }
46
- else {
47
- updateData[property] = index_1.admin.firestore.FieldValue.increment(incrementValue);
48
- }
49
- }
50
- else if (instruction.startsWith("-")) {
51
- const decrementValue = parseInt(instruction.slice(1));
52
- if (isNaN(decrementValue)) {
53
- console.log(`Invalid decrement value ${instruction} for property ${property}`);
54
- }
55
- else {
56
- updateData[property] = index_1.admin.firestore.FieldValue.increment(-decrementValue);
57
- }
58
- }
59
- else {
60
- console.log(`Invalid instruction ${instruction} for property ${property}`);
61
- }
62
- }
63
- }
64
- const dstDocRef = index_1.db.doc(dstPath);
65
- await batch.set(dstDocRef, updateData);
66
- console.log(`Document merged to ${dstPath}`);
67
- }
68
- else if (action === "submit-form") {
69
- console.debug("Submitting form...");
70
- const formData = Object.assign({ "@docPath": dstPath, "@actionType": "create" }, doc);
71
- (0, forms_1.queueSubmitForm)(formData);
72
- }
57
+ await distributeDoc(resultDoc, batch);
73
58
  }
74
59
  }
75
60
  if (batch.writeCount > 0) {
@@ -78,26 +63,10 @@ async function distribute(docsByDstPath) {
78
63
  }
79
64
  }
80
65
  exports.distribute = distribute;
81
- async function distributeLater(docsByDstPath, id) {
66
+ async function distributeLater(docsByDstPath) {
82
67
  console.log("Submitting to form for later processing...");
83
68
  const documents = Array.from(docsByDstPath.values()).flat();
84
- if (documents.length === 0) {
85
- return;
86
- }
87
- documents.forEach((doc) => {
88
- if (!doc.priority || doc.priority === "normal") {
89
- doc.priority = "high";
90
- }
91
- else if (doc.priority === "low") {
92
- doc.priority = "normal";
93
- }
94
- });
95
- const formData = {
96
- "@docPath": `@internal/forDistribution/distributions/${id}`,
97
- "@actionType": "create",
98
- "logicResultDocs": documents,
99
- };
100
- (0, forms_1.queueSubmitForm)(formData);
69
+ await (0, distribution_1.queueForDistributionLater)(...documents);
101
70
  }
102
71
  exports.distributeLater = distributeLater;
103
72
  async function validateForm(entity, form) {
@@ -229,28 +198,37 @@ exports.getSecurityFn = getSecurityFn;
229
198
  async function expandConsolidateAndGroupByDstPath(logicDocs) {
230
199
  function warnOverwritingKeys(existing, incoming, type, dstPath) {
231
200
  for (const key in incoming) {
232
- if (Object.prototype.hasOwnProperty.call(existing, key)) {
201
+ if (existing && Object.prototype.hasOwnProperty.call(existing, key)) {
233
202
  console.warn(`Overwriting key "${key}" in ${type} for dstPath "${dstPath}"`);
234
203
  }
235
204
  }
236
205
  }
237
- function processMerge(existingDocs, doc, dstPath) {
206
+ function processMergeAndCreate(existingDocs, logicResultDoc, dstPath) {
238
207
  let merged = false;
239
208
  for (const existingDoc of existingDocs) {
240
- if (existingDoc.action === "merge") {
241
- warnOverwritingKeys(existingDoc.doc, doc.doc, "doc", dstPath);
242
- warnOverwritingKeys(existingDoc.instructions, doc.instructions, "instructions", dstPath);
243
- existingDoc.instructions = Object.assign(Object.assign({}, existingDoc.instructions), doc.instructions);
244
- existingDoc.doc = Object.assign(Object.assign({}, existingDoc.doc), doc.doc);
209
+ if (existingDoc.action === "delete") {
210
+ console.warn(`Action ${logicResultDoc.action} ignored because a "delete" for dstPath "${logicResultDoc.dstPath}" already exists`);
211
+ merged = true;
212
+ break;
213
+ }
214
+ if (existingDoc.action === "merge" || existingDoc.action === "create") {
215
+ warnOverwritingKeys(existingDoc.doc, logicResultDoc.doc, "doc", dstPath);
216
+ warnOverwritingKeys(existingDoc.instructions, logicResultDoc.instructions, "instructions", dstPath);
217
+ if (existingDoc.action === "merge" && logicResultDoc.action === "create") {
218
+ console.info(`Existing doc Action "merge" for dstPath "${dstPath}" is being converted to "create"`);
219
+ existingDoc.action = "create";
220
+ }
221
+ existingDoc.instructions = Object.assign(Object.assign({}, existingDoc.instructions), logicResultDoc.instructions);
222
+ existingDoc.doc = Object.assign(Object.assign({}, existingDoc.doc), logicResultDoc.doc);
245
223
  merged = true;
246
224
  break;
247
225
  }
248
226
  }
249
227
  if (!merged) {
250
- existingDocs.push(doc);
228
+ existingDocs.push(logicResultDoc);
251
229
  }
252
230
  }
253
- function processDelete(existingDocs, doc, dstPath) {
231
+ function processDelete(existingDocs, logicResultDoc, dstPath) {
254
232
  for (let i = existingDocs.length - 1; i >= 0; i--) {
255
233
  const existingDoc = existingDocs[i];
256
234
  if (existingDoc.action === "merge" || existingDoc.action === "delete") {
@@ -258,7 +236,7 @@ async function expandConsolidateAndGroupByDstPath(logicDocs) {
258
236
  existingDocs.splice(i, 1);
259
237
  }
260
238
  }
261
- existingDocs.push(doc);
239
+ existingDocs.push(logicResultDoc);
262
240
  }
263
241
  async function expandRecursiveActions() {
264
242
  const expandedLogicResultDocs = [];
@@ -317,8 +295,8 @@ async function expandConsolidateAndGroupByDstPath(logicDocs) {
317
295
  if (existingDocs.length === 0) {
318
296
  consolidated.set(dstPath, existingDocs);
319
297
  }
320
- if (action === "merge") {
321
- processMerge(existingDocs, doc, dstPath);
298
+ if (action === "merge" || action === "create") {
299
+ processMergeAndCreate(existingDocs, doc, dstPath);
322
300
  }
323
301
  else if (action === "delete") {
324
302
  processDelete(existingDocs, doc, dstPath);
@@ -330,46 +308,33 @@ async function expandConsolidateAndGroupByDstPath(logicDocs) {
330
308
  return consolidated;
331
309
  }
332
310
  exports.expandConsolidateAndGroupByDstPath = expandConsolidateAndGroupByDstPath;
333
- async function runViewLogics(dstPathLogicDocsMap) {
334
- const logicResults = [];
335
- for (const [dstPath, logicResultDoc] of dstPathLogicDocsMap.entries()) {
336
- const { action, doc, instructions, } = logicResultDoc;
337
- const modifiedFields = [];
338
- if (doc) {
339
- modifiedFields.push(...Object.keys(doc));
340
- }
341
- if (instructions) {
342
- modifiedFields.push(...Object.keys(instructions));
343
- }
344
- const { entity } = (0, paths_1.findMatchingDocPathRegex)(dstPath);
345
- if (!entity) {
346
- console.error("Entity should not be blank");
347
- continue;
348
- }
349
- const matchingLogics = exports._mockable.getViewLogicsConfig().filter((logic) => {
350
- return ((action === "merge" &&
351
- logic.modifiedFields.some((field) => modifiedFields.includes(field)) &&
352
- logic.entity === entity) ||
353
- (action === "delete" &&
354
- logic.entity === entity));
355
- });
356
- // TODO: Handle errors
357
- // TODO: Add logic for execTime
358
- const results = await Promise.all(matchingLogics.map((logic) => logic.viewLogicFn(logicResultDoc)));
359
- logicResults.push(...results);
311
+ async function runViewLogics(userLogicResultDoc) {
312
+ const { action, doc, instructions, dstPath, } = userLogicResultDoc;
313
+ const modifiedFields = [];
314
+ if (doc) {
315
+ modifiedFields.push(...Object.keys(doc));
360
316
  }
361
- return logicResults;
362
- }
363
- exports.runViewLogics = runViewLogics;
364
- async function runPeerSyncViews(userDocsByDstPath) {
365
- const logicResults = [];
366
- for (const [_, logicResultDoc] of userDocsByDstPath.entries()) {
367
- logicResults.push(await (0, view_logics_1.syncPeerViews)(logicResultDoc));
317
+ if (instructions) {
318
+ modifiedFields.push(...Object.keys(instructions));
319
+ }
320
+ const { entity } = (0, paths_1.findMatchingDocPathRegex)(dstPath);
321
+ if (!entity) {
322
+ console.error("Entity should not be blank");
323
+ return [];
368
324
  }
369
- return logicResults;
325
+ const matchingLogics = exports._mockable.getViewLogicsConfig().filter((logic) => {
326
+ return ((action === "merge" &&
327
+ logic.modifiedFields.some((field) => modifiedFields.includes(field)) &&
328
+ logic.entity === entity) ||
329
+ (action === "delete" &&
330
+ logic.entity === entity));
331
+ });
332
+ // TODO: Handle errors
333
+ // TODO: Add logic for execTime
334
+ return await Promise.all(matchingLogics.map((logic) => logic.viewLogicFn(userLogicResultDoc)));
370
335
  }
371
- exports.runPeerSyncViews = runPeerSyncViews;
372
- async function processScheduledEntities() {
336
+ exports.runViewLogics = runViewLogics;
337
+ async function processScheduledEntities(event) {
373
338
  // Query all documents inside @scheduled collection where runAt is less than now
374
339
  const now = exports._mockable.createNowTimestamp();
375
340
  const scheduledDocs = await index_1.db.collection("@scheduled")
@@ -389,13 +354,13 @@ async function processScheduledEntities() {
389
354
  }
390
355
  }
391
356
  exports.processScheduledEntities = processScheduledEntities;
392
- async function onDeleteFunction(snapshot) {
393
- const data = snapshot.data();
357
+ async function onDeleteFunction(event) {
358
+ const data = event.data;
394
359
  if (!data) {
395
360
  console.error("Data should not be null");
396
361
  return;
397
362
  }
398
- const { name } = data;
363
+ const { name } = data.data();
399
364
  if (!name) {
400
365
  console.error("name should not be null");
401
366
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"index-utils.js","sourceRoot":"","sources":["../src/index-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index-utils.js","sourceRoot":"","sources":["../src/index-utils.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -2,10 +2,12 @@ import { FirebaseAdmin, LogicConfig, ProjectConfig, SecurityConfig, ValidatorCon
2
2
  import { Firestore } from "firebase-admin/firestore";
3
3
  import { DatabaseEvent, DataSnapshot } from "firebase-functions/v2/database";
4
4
  import { database } from "firebase-admin";
5
+ import { PubSub } from "@google-cloud/pubsub";
5
6
  import Database = database.Database;
6
7
  export declare let admin: FirebaseAdmin;
7
8
  export declare let db: Firestore;
8
9
  export declare let rtdb: Database;
10
+ export declare let pubsub: PubSub;
9
11
  export declare let dbStructure: Record<string, object>;
10
12
  export declare let Entity: Record<string, string>;
11
13
  export declare let securityConfig: SecurityConfig;
@@ -17,6 +19,11 @@ export declare let docPathsRegex: Record<string, RegExp>;
17
19
  export declare let viewLogicConfigs: ViewLogicConfig[];
18
20
  export declare let projectConfig: ProjectConfig;
19
21
  export declare const functionsConfig: Record<string, any>;
22
+ export declare const SUBMIT_FORM_TOPIC_NAME = "submit-form-queue";
23
+ export declare const VIEW_LOGICS_TOPIC_NAME = "view-logics-queue";
24
+ export declare const PEER_SYNC_TOPIC_NAME = "peer-sync-queue";
25
+ export declare const FOR_DISTRIBUTION_TOPIC_NAME = "for-distribution-queue";
26
+ export declare const INSTRUCTIONS_TOPIC_NAME = "instructions-queue";
20
27
  export declare const _mockable: {
21
28
  createNowTimestamp: () => FirebaseFirestore.Timestamp;
22
29
  initActionRef: typeof initActionRef;