emberflow 1.4.30 → 1.4.32

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 (66) hide show
  1. package/README.md +4 -4
  2. package/lib/index-utils.d.ts +12 -10
  3. package/lib/index-utils.js +92 -25
  4. package/lib/index-utils.js.map +1 -1
  5. package/lib/index.d.ts +10 -7
  6. package/lib/index.js +59 -60
  7. package/lib/index.js.map +1 -1
  8. package/lib/init-db-structure.js +24 -32
  9. package/lib/init-db-structure.js.map +1 -1
  10. package/lib/logics/patch-logics.d.ts +9 -0
  11. package/lib/logics/patch-logics.js +126 -0
  12. package/lib/logics/patch-logics.js.map +1 -0
  13. package/lib/logics/view-logics.d.ts +1 -1
  14. package/lib/logics/view-logics.js +6 -5
  15. package/lib/logics/view-logics.js.map +1 -1
  16. package/lib/sample-custom/business-logics.js +1 -0
  17. package/lib/sample-custom/business-logics.js.map +1 -1
  18. package/lib/sample-custom/patch-logics.d.ts +2 -0
  19. package/lib/sample-custom/patch-logics.js +57 -0
  20. package/lib/sample-custom/patch-logics.js.map +1 -0
  21. package/lib/sample-custom/security.d.ts +1 -1
  22. package/lib/sample-custom/security.js +18 -7
  23. package/lib/sample-custom/security.js.map +1 -1
  24. package/lib/sample-custom/validators.d.ts +1 -2
  25. package/lib/sample-custom/validators.js +28 -7
  26. package/lib/sample-custom/validators.js.map +1 -1
  27. package/lib/tests/index-utils.test.js +312 -70
  28. package/lib/tests/index-utils.test.js.map +1 -1
  29. package/lib/tests/index.test.js +109 -55
  30. package/lib/tests/index.test.js.map +1 -1
  31. package/lib/tests/init-db-structure.test.js +32 -16
  32. package/lib/tests/init-db-structure.test.js.map +1 -1
  33. package/lib/tests/logics/patch-logis.test.d.ts +1 -0
  34. package/lib/tests/logics/patch-logis.test.js +347 -0
  35. package/lib/tests/logics/patch-logis.test.js.map +1 -0
  36. package/lib/tests/logics/view-logics.test.js +18 -5
  37. package/lib/tests/logics/view-logics.test.js.map +1 -1
  38. package/lib/tests/utils/db-structure.test.js +23 -25
  39. package/lib/tests/utils/db-structure.test.js.map +1 -1
  40. package/lib/tests/utils/distribution.test.js +28 -10
  41. package/lib/tests/utils/distribution.test.js.map +1 -1
  42. package/lib/tests/utils/forms.test.js +4 -3
  43. package/lib/tests/utils/forms.test.js.map +1 -1
  44. package/lib/tests/utils/misc.test.js +2 -1
  45. package/lib/tests/utils/misc.test.js.map +1 -1
  46. package/lib/tests/utils/paths.test.js +1 -1
  47. package/lib/tests/utils/paths.test.js.map +1 -1
  48. package/lib/tests/utils/pubsub.test.js +1 -1
  49. package/lib/tests/utils/pubsub.test.js.map +1 -1
  50. package/lib/types.d.ts +21 -2
  51. package/lib/utils/db-structure.d.ts +4 -2
  52. package/lib/utils/db-structure.js +14 -4
  53. package/lib/utils/db-structure.js.map +1 -1
  54. package/lib/utils/distribution.d.ts +1 -1
  55. package/lib/utils/distribution.js +9 -6
  56. package/lib/utils/distribution.js.map +1 -1
  57. package/lib/utils/forms.js +3 -1
  58. package/lib/utils/forms.js.map +1 -1
  59. package/lib/utils/misc.d.ts +0 -3
  60. package/lib/utils/misc.js +1 -48
  61. package/lib/utils/misc.js.map +1 -1
  62. package/package.json +2 -2
  63. package/src/sample-custom/business-logics.ts +1 -0
  64. package/src/sample-custom/patch-logics.ts +36 -0
  65. package/src/sample-custom/security.ts +17 -6
  66. package/src/sample-custom/validators.ts +27 -6
package/README.md CHANGED
@@ -18,8 +18,8 @@ npm install emberflow
18
18
  import * as admin from "firebase-admin";
19
19
  import {dbStructure, Entity} from "./db-structure";
20
20
  import {initializeEmberFlow} from "emberflow";
21
- import {securityConfig} from "./security";
22
- import {validatorConfig} from "./validators";
21
+ import {securityConfigs} from "./security";
22
+ import {validatorConfigs} from "./validators";
23
23
  import {logics} from "./business-logics";
24
24
 
25
25
  admin.initializeApp();
@@ -27,8 +27,8 @@ const {functionsConfig} = initializeEmberFlow(
27
27
  admin,
28
28
  dbStructure,
29
29
  Entity,
30
- securityConfig,
31
- validatorConfig,
30
+ securityConfigs,
31
+ validatorConfigs,
32
32
  logics
33
33
  );
34
34
 
@@ -1,31 +1,32 @@
1
- import { Action, LogicResult, LogicResultDoc, RunBusinessLogicStatus, SecurityFn, TxnGet, ValidateFormResult } from "./types";
1
+ import { Action, LogicResult, LogicResultDoc, RunBusinessLogicStatus, SecurityFn, TxnGet, ValidateFormResult, ViewLogicConfig } from "./types";
2
2
  import { database, firestore } from "firebase-admin";
3
3
  import { BatchUtil } from "./utils/batch";
4
+ import { FirestoreEvent } from "firebase-functions/lib/v2/providers/firestore";
5
+ import { ScheduledEvent } from "firebase-functions/lib/v2/providers/scheduler";
4
6
  import QueryDocumentSnapshot = firestore.QueryDocumentSnapshot;
5
7
  import DocumentData = FirebaseFirestore.DocumentData;
6
8
  import Reference = database.Reference;
7
- import { FirestoreEvent } from "firebase-functions/lib/v2/providers/firestore";
8
- import { ScheduledEvent } from "firebase-functions/lib/v2/providers/scheduler";
9
9
  import Transaction = firestore.Transaction;
10
10
  export declare const _mockable: {
11
- getViewLogicsConfig: () => import("./types").ViewLogicConfig[];
11
+ getViewLogicConfigs: () => ViewLogicConfig[];
12
+ getPatchLogicConfigs: () => import("./types").PatchLogicConfig[];
12
13
  createNowTimestamp: () => firestore.Timestamp;
13
14
  createMetricExecution: typeof createMetricExecution;
14
15
  };
15
16
  export declare function distributeDoc(logicResultDoc: LogicResultDoc, batch?: BatchUtil, txn?: Transaction): Promise<void>;
16
17
  export declare function distributeFnNonTransactional(docsByDstPath: Map<string, LogicResultDoc[]>): Promise<LogicResultDoc[]>;
17
- export declare function distributeLater(docsByDstPath: Map<string, LogicResultDoc[]>): Promise<void>;
18
- export declare function validateForm(entity: string, form: FirebaseFirestore.DocumentData): Promise<ValidateFormResult>;
18
+ export declare function distributeLater(docsByDstPath: Map<string, LogicResultDoc[]>, targetVersion: string): Promise<void>;
19
+ export declare function validateForm(entity: string, form: FirebaseFirestore.DocumentData, targetVersion: string): Promise<ValidateFormResult>;
19
20
  export declare function getFormModifiedFields(form: DocumentData, document: DocumentData): DocumentData;
20
21
  export declare function delayFormSubmissionAndCheckIfCancelled(delay: number, formRef: Reference): Promise<boolean>;
21
- export declare const runBusinessLogics: (txnGet: TxnGet, action: Action) => Promise<RunBusinessLogicStatus>;
22
+ export declare const runBusinessLogics: (txnGet: TxnGet, action: Action, targetVersion: string) => Promise<RunBusinessLogicStatus>;
22
23
  export declare function groupDocsByTargetDocPath(docsByDstPath: Map<string, LogicResultDoc[]>, docPath: string): {
23
24
  docsByDocPath: Map<string, LogicResultDoc[]>;
24
25
  otherDocsByDocPath: Map<string, LogicResultDoc[]>;
25
26
  };
26
- export declare function getSecurityFn(entity: string): SecurityFn;
27
- export declare function expandConsolidateAndGroupByDstPath(logicDocs: LogicResultDoc[]): Promise<Map<string, LogicResultDoc[]>>;
28
- export declare function runViewLogics(logicResultDoc: LogicResultDoc): Promise<LogicResult[]>;
27
+ export declare function getSecurityFn(entity: string, targetVersion: string): SecurityFn;
28
+ export declare const expandConsolidateAndGroupByDstPath: (logicDocs: LogicResultDoc[]) => Promise<Map<string, LogicResultDoc[]>>;
29
+ export declare function runViewLogics(logicResultDoc: LogicResultDoc, targetVersion: string): Promise<LogicResult[]>;
29
30
  export declare function onDeleteFunction(event: FirestoreEvent<QueryDocumentSnapshot | undefined, {
30
31
  deleteFuncId: string;
31
32
  }>): Promise<void>;
@@ -34,4 +35,5 @@ declare function createMetricExecution(logicResults: LogicResult[]): Promise<voi
34
35
  export declare function cleanMetricExecutions(event: ScheduledEvent): Promise<void>;
35
36
  export declare function createMetricComputation(event: ScheduledEvent): Promise<void>;
36
37
  export declare function cleanMetricComputations(event: ScheduledEvent): Promise<void>;
38
+ export declare function distributeFnTransactional(txn: Transaction, logicResults: LogicResult[]): Promise<LogicResultDoc[]>;
37
39
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cleanMetricComputations = exports.createMetricComputation = exports.cleanMetricExecutions = exports.createMetricLogicDoc = exports.onDeleteFunction = exports.runViewLogics = exports.expandConsolidateAndGroupByDstPath = exports.getSecurityFn = exports.groupDocsByTargetDocPath = exports.runBusinessLogics = exports.delayFormSubmissionAndCheckIfCancelled = exports.getFormModifiedFields = exports.validateForm = exports.distributeLater = exports.distributeFnNonTransactional = exports.distributeDoc = exports._mockable = void 0;
3
+ exports.distributeFnTransactional = exports.cleanMetricComputations = exports.createMetricComputation = exports.cleanMetricExecutions = exports.createMetricLogicDoc = exports.onDeleteFunction = exports.runViewLogics = exports.expandConsolidateAndGroupByDstPath = exports.getSecurityFn = exports.groupDocsByTargetDocPath = exports.runBusinessLogics = exports.delayFormSubmissionAndCheckIfCancelled = exports.getFormModifiedFields = exports.validateForm = exports.distributeLater = exports.distributeFnNonTransactional = exports.distributeDoc = exports._mockable = void 0;
4
4
  const firebase_admin_1 = require("firebase-admin");
5
5
  const index_1 = require("./index");
6
6
  const paths_1 = require("./utils/paths");
@@ -11,8 +11,10 @@ const forms_1 = require("./utils/forms");
11
11
  const distribution_1 = require("./utils/distribution");
12
12
  var FieldValue = firebase_admin_1.firestore.FieldValue;
13
13
  var Timestamp = firebase_admin_1.firestore.Timestamp;
14
+ const patch_logics_1 = require("./logics/patch-logics");
14
15
  exports._mockable = {
15
- getViewLogicsConfig: () => index_1.viewLogicConfigs,
16
+ getViewLogicConfigs: () => index_1.viewLogicConfigs,
17
+ getPatchLogicConfigs: () => index_1.patchLogicConfigs,
16
18
  createNowTimestamp: () => index_1.admin.firestore.Timestamp.now(),
17
19
  createMetricExecution,
18
20
  };
@@ -133,21 +135,24 @@ async function distributeFnNonTransactional(docsByDstPath) {
133
135
  return forRunViewLogicQueuing;
134
136
  }
135
137
  exports.distributeFnNonTransactional = distributeFnNonTransactional;
136
- async function distributeLater(docsByDstPath) {
138
+ async function distributeLater(docsByDstPath, targetVersion) {
137
139
  console.log("Submitting to form for later processing...");
138
140
  const documents = Array.from(docsByDstPath.values()).flat();
139
- await (0, distribution_1.queueForDistributionLater)(...documents);
141
+ await (0, distribution_1.queueForDistributionLater)(targetVersion, ...documents);
140
142
  }
141
143
  exports.distributeLater = distributeLater;
142
- async function validateForm(entity, form) {
144
+ async function validateForm(entity, form, targetVersion) {
145
+ var _a;
143
146
  let hasValidationError = false;
144
147
  console.info(`Validating form for entity ${entity}`);
145
- const validate = index_1.validatorConfig[entity];
146
- if (!validate) {
148
+ const validatorFn = (_a = index_1.validatorConfigs
149
+ .filter((config) => config.entity === entity &&
150
+ (0, patch_logics_1.versionCompare)(config.version, targetVersion) <= 0).sort((a, b) => (0, patch_logics_1.versionCompare)(b.version, a.version))[0]) === null || _a === void 0 ? void 0 : _a.validatorFn;
151
+ if (!validatorFn) {
147
152
  console.log(`No validator found for entity ${entity}`);
148
153
  return [false, {}];
149
154
  }
150
- const validationResult = await validate(form);
155
+ const validationResult = await validatorFn(form);
151
156
  // Check if validation failed
152
157
  if (validationResult && Object.keys(validationResult).length > 0) {
153
158
  console.log(`Document validation failed: ${JSON.stringify(validationResult)}`);
@@ -184,18 +189,37 @@ async function delayFormSubmissionAndCheckIfCancelled(delay, formRef) {
184
189
  return cancelFormSubmission;
185
190
  }
186
191
  exports.delayFormSubmissionAndCheckIfCancelled = delayFormSubmissionAndCheckIfCancelled;
187
- function getMatchingLogics(actionType, modifiedFields, document, entity, metadata) {
188
- return index_1.logicConfigs.filter((logic) => {
192
+ function getMatchingLogics(actionType, modifiedFields, document, entity, metadata, targetVersion) {
193
+ const matchingLogics = index_1.logicConfigs.filter((logic) => {
189
194
  return ((logic.actionTypes === "all" || logic.actionTypes.includes(actionType)) &&
190
- (logic.modifiedFields === "all" ||
191
- logic.modifiedFields.some((field) => field in modifiedFields)) &&
195
+ (logic.modifiedFields === "all" || logic.modifiedFields.some((field) => field in modifiedFields)) &&
192
196
  (logic.entities === "all" || logic.entities.includes(entity)) &&
193
- (logic.addtlFilterFn ? logic.addtlFilterFn(actionType, modifiedFields, document, entity, metadata) : true));
197
+ (logic.addtlFilterFn ? logic.addtlFilterFn(actionType, modifiedFields, document, entity, metadata) : true) &&
198
+ (0, patch_logics_1.versionCompare)(logic.version, targetVersion) <= 0);
194
199
  });
200
+ console.debug("All Logics", index_1.logicConfigs.map((logic) => logic.name));
201
+ // Let's group by name
202
+ const nameIndex = new Map();
203
+ return matchingLogics.reduce((acc, logicConfig) => {
204
+ const { name } = logicConfig;
205
+ if (!nameIndex.has(name)) {
206
+ const length = acc.push(logicConfig);
207
+ nameIndex.set(name, length - 1);
208
+ }
209
+ else {
210
+ const index = nameIndex.get(name);
211
+ const logicConfigPrev = acc[index];
212
+ if ((0, patch_logics_1.versionCompare)(logicConfigPrev.version, logicConfig.version) < 0) {
213
+ acc[index] = logicConfig; // Replace with the latest version
214
+ }
215
+ }
216
+ index_1.logicConfigs.push(logicConfig);
217
+ return acc;
218
+ }, []);
195
219
  }
196
- const runBusinessLogics = async (txnGet, action) => {
220
+ const runBusinessLogics = async (txnGet, action, targetVersion) => {
197
221
  const { actionType, modifiedFields, document, eventContext: { entity }, metadata } = action;
198
- const matchingLogics = getMatchingLogics(actionType, modifiedFields, document, entity, metadata);
222
+ const matchingLogics = getMatchingLogics(actionType, modifiedFields, document, entity, metadata, targetVersion);
199
223
  console.debug("Matching logics:", matchingLogics.map((logic) => logic.name));
200
224
  if (matchingLogics.length === 0) {
201
225
  console.log("No matching logics found");
@@ -243,11 +267,15 @@ function groupDocsByTargetDocPath(docsByDstPath, docPath) {
243
267
  return { docsByDocPath, otherDocsByDocPath };
244
268
  }
245
269
  exports.groupDocsByTargetDocPath = groupDocsByTargetDocPath;
246
- function getSecurityFn(entity) {
247
- return index_1.securityConfig[entity];
270
+ function getSecurityFn(entity, targetVersion) {
271
+ var _a;
272
+ return (_a = index_1.securityConfigs
273
+ .filter((security) => security.entity === entity &&
274
+ (0, patch_logics_1.versionCompare)(security.version, targetVersion) <= 0)
275
+ .sort((a, b) => (0, patch_logics_1.versionCompare)(b.version, a.version))[0]) === null || _a === void 0 ? void 0 : _a.securityFn;
248
276
  }
249
277
  exports.getSecurityFn = getSecurityFn;
250
- async function expandConsolidateAndGroupByDstPath(logicDocs) {
278
+ const expandConsolidateAndGroupByDstPath = async (logicDocs) => {
251
279
  function warnOverwritingKeys(existing, incoming, type, dstPath) {
252
280
  for (const key in incoming) {
253
281
  if (existing && Object.prototype.hasOwnProperty.call(existing, key)) {
@@ -284,7 +312,7 @@ async function expandConsolidateAndGroupByDstPath(logicDocs) {
284
312
  }
285
313
  }
286
314
  if (!merged) {
287
- existingDocs.push(logicResultDoc);
315
+ existingDocs.push(Object.assign(Object.assign({}, logicResultDoc), (logicResultDoc.instructions ? { instructions: logicResultDoc.instructions } : {})));
288
316
  }
289
317
  }
290
318
  function processDelete(existingDocs, logicResultDoc, dstPath) {
@@ -365,9 +393,9 @@ async function expandConsolidateAndGroupByDstPath(logicDocs) {
365
393
  }
366
394
  }
367
395
  return consolidated;
368
- }
396
+ };
369
397
  exports.expandConsolidateAndGroupByDstPath = expandConsolidateAndGroupByDstPath;
370
- async function runViewLogics(logicResultDoc) {
398
+ async function runViewLogics(logicResultDoc, targetVersion) {
371
399
  const { action, doc, instructions, dstPath, } = logicResultDoc;
372
400
  const modifiedFields = [];
373
401
  if (doc) {
@@ -382,15 +410,32 @@ async function runViewLogics(logicResultDoc) {
382
410
  return [];
383
411
  }
384
412
  const { destProp } = (0, paths_1.getDestPropAndDestPropId)(dstPath);
385
- const matchingLogics = exports._mockable.getViewLogicsConfig().filter((viewLogicConfig) => {
413
+ const matchingLogics = exports._mockable.getViewLogicConfigs().filter((viewLogicConfig) => {
386
414
  if (action === "delete") {
387
- return viewLogicConfig.entity === entity && (destProp ? viewLogicConfig.destProp === destProp : true);
415
+ return viewLogicConfig.entity === entity &&
416
+ (destProp ? viewLogicConfig.destProp === destProp : true) &&
417
+ (0, patch_logics_1.versionCompare)(viewLogicConfig.version, targetVersion) <= 0;
388
418
  }
389
419
  return viewLogicConfig.actionTypes.includes(action) &&
390
420
  (viewLogicConfig.modifiedFields === "all" ||
391
421
  viewLogicConfig.modifiedFields.some((field) => modifiedFields.includes(field))) &&
392
- viewLogicConfig.entity === entity && (destProp ? viewLogicConfig.destProp === destProp : true);
393
- });
422
+ viewLogicConfig.entity === entity && (destProp ? viewLogicConfig.destProp === destProp : true) &&
423
+ (0, patch_logics_1.versionCompare)(viewLogicConfig.version, targetVersion) <= 0;
424
+ })
425
+ .reduce((acc, viewLogicConfig) => {
426
+ const { name } = viewLogicConfig;
427
+ if (!acc.has(name)) {
428
+ acc.set(name, viewLogicConfig);
429
+ }
430
+ else {
431
+ const viewLogicConfigPrev = acc.get(name);
432
+ if ((0, patch_logics_1.versionCompare)(viewLogicConfigPrev.version, viewLogicConfig.version) < 0) {
433
+ acc.set(name, viewLogicConfig);
434
+ }
435
+ }
436
+ return acc;
437
+ }, new Map())
438
+ .values();
394
439
  // TODO: Handle errors
395
440
  const logicResults = [];
396
441
  for (const logic of matchingLogics) {
@@ -533,4 +578,26 @@ async function cleanMetricComputations(event) {
533
578
  console.info(`Cleaned ${i} logic metric computations`);
534
579
  }
535
580
  exports.cleanMetricComputations = cleanMetricComputations;
581
+ async function distributeFnTransactional(txn, logicResults) {
582
+ const distributedLogicResultDocs = [];
583
+ const distributeTransactionalLogicResults = async () => {
584
+ const transactionalResults = logicResults.filter((result) => result.transactional);
585
+ if (transactionalResults.length === 0) {
586
+ console.info("No transactional logic results to distribute");
587
+ return;
588
+ }
589
+ // We always distribute transactional results first
590
+ const transactionalDstPathLogicDocsMap = await (0, exports.expandConsolidateAndGroupByDstPath)(transactionalResults.map((result) => result.documents).flat());
591
+ // Write to firestore in one transaction
592
+ for (const [_, logicDocs] of transactionalDstPathLogicDocsMap) {
593
+ for (const logicDoc of logicDocs) {
594
+ distributedLogicResultDocs.push(logicDoc);
595
+ await distributeDoc(logicDoc, undefined, txn);
596
+ }
597
+ }
598
+ };
599
+ await distributeTransactionalLogicResults();
600
+ return distributedLogicResultDocs;
601
+ }
602
+ exports.distributeFnTransactional = distributeFnTransactional;
536
603
  //# sourceMappingURL=index-utils.js.map
@@ -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
@@ -1,7 +1,7 @@
1
- import { FirebaseAdmin, LogicConfig, ProjectConfig, SecurityConfig, ValidatorConfig, ViewLogicConfig } from "./types";
1
+ import { FirebaseAdmin, LogicConfig, PatchLogicConfig, ProjectConfig, SecurityConfig, ValidatorConfig, ViewLogicConfig } from "./types";
2
2
  import { Firestore } from "firebase-admin/firestore";
3
3
  import { DatabaseEvent, DataSnapshot } from "firebase-functions/v2/database";
4
- import { database, firestore } from "firebase-admin";
4
+ import { database } from "firebase-admin";
5
5
  import { PubSub, Topic } from "@google-cloud/pubsub";
6
6
  import Database = database.Database;
7
7
  export declare let admin: FirebaseAdmin;
@@ -10,9 +10,10 @@ export declare let rtdb: Database;
10
10
  export declare let pubsub: PubSub;
11
11
  export declare let dbStructure: Record<string, object>;
12
12
  export declare let Entity: Record<string, string>;
13
- export declare let securityConfig: SecurityConfig;
14
- export declare let validatorConfig: ValidatorConfig;
13
+ export declare let securityConfigs: SecurityConfig[];
14
+ export declare let validatorConfigs: ValidatorConfig[];
15
15
  export declare let logicConfigs: LogicConfig[];
16
+ export declare let patchLogicConfigs: PatchLogicConfig[];
16
17
  export declare let docPaths: Record<string, string>;
17
18
  export declare let colPaths: Record<string, string>;
18
19
  export declare let docPathsRegex: Record<string, RegExp>;
@@ -21,23 +22,25 @@ export declare let projectConfig: ProjectConfig;
21
22
  export declare const functionsConfig: Record<string, any>;
22
23
  export declare const SUBMIT_FORM_TOPIC_NAME = "submit-form-queue";
23
24
  export declare const VIEW_LOGICS_TOPIC_NAME = "view-logics-queue";
25
+ export declare const PATCH_LOGICS_TOPIC_NAME = "patch-logics-queue";
24
26
  export declare const FOR_DISTRIBUTION_TOPIC_NAME = "for-distribution-queue";
25
27
  export declare const INSTRUCTIONS_TOPIC_NAME = "instructions-queue";
26
28
  export declare const pubSubTopics: string[];
27
29
  export declare let SUBMIT_FORM_TOPIC: Topic;
28
30
  export declare let VIEW_LOGICS_TOPIC: Topic;
31
+ export declare let PATCH_LOGICS_TOPIC: Topic;
29
32
  export declare let FOR_DISTRIBUTION_TOPIC: Topic;
30
33
  export declare let INSTRUCTIONS_TOPIC: Topic;
31
34
  export declare const _mockable: {
32
- createNowTimestamp: () => firestore.Timestamp;
35
+ createNowTimestamp: () => FirebaseFirestore.Timestamp;
33
36
  initActionRef: typeof initActionRef;
34
37
  };
35
- export declare function initializeEmberFlow(customProjectConfig: ProjectConfig, adminInstance: FirebaseAdmin, customDbStructure: Record<string, object>, CustomEntity: Record<string, string>, customSecurityConfig: SecurityConfig, customValidatorConfig: ValidatorConfig, customLogicConfigs: LogicConfig[]): {
38
+ export declare function initializeEmberFlow(customProjectConfig: ProjectConfig, adminInstance: FirebaseAdmin, customDbStructure: Record<string, object>, CustomEntity: Record<string, string>, customSecurityConfigs: SecurityConfig[], customValidatorConfigs: ValidatorConfig[], customLogicConfigs: LogicConfig[], customPatchLogicConfigs: PatchLogicConfig[]): {
36
39
  docPaths: Record<string, string>;
37
40
  colPaths: Record<string, string>;
38
41
  docPathsRegex: Record<string, RegExp>;
39
42
  functionsConfig: Record<string, any>;
40
43
  };
41
- declare function initActionRef(actionId: string): firestore.DocumentReference<firestore.DocumentData, firestore.DocumentData>;
44
+ declare function initActionRef(actionId: string): FirebaseFirestore.DocumentReference<FirebaseFirestore.DocumentData, FirebaseFirestore.DocumentData>;
42
45
  export declare function onFormSubmit(event: DatabaseEvent<DataSnapshot>): Promise<void>;
43
46
  export {};