emberflow 1.3.56 → 1.3.58

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.
@@ -11,7 +11,7 @@ export declare const _mockable: {
11
11
  getViewLogicsConfig: () => import("./types").ViewLogicConfig[];
12
12
  createNowTimestamp: () => firestore.Timestamp;
13
13
  simulateSubmitForm: typeof simulateSubmitForm;
14
- updateLogicMetrics: typeof updateLogicMetrics;
14
+ createMetricExecution: typeof createMetricExecution;
15
15
  };
16
16
  export declare function distributeDoc(logicResultDoc: LogicResultDoc, batch?: BatchUtil): Promise<void>;
17
17
  export declare function distribute(docsByDstPath: Map<string, LogicResultDoc[]>): Promise<void>;
@@ -28,10 +28,11 @@ export declare function groupDocsByTargetDocPath(docsByDstPath: Map<string, Logi
28
28
  export declare function getSecurityFn(entity: string): SecurityFn;
29
29
  export declare function expandConsolidateAndGroupByDstPath(logicDocs: LogicResultDoc[]): Promise<Map<string, LogicResultDoc[]>>;
30
30
  export declare function runViewLogics(userLogicResultDoc: LogicResultDoc): Promise<LogicResult[]>;
31
- export declare function processScheduledEntities(event: ScheduledEvent): Promise<void>;
32
31
  export declare function onDeleteFunction(event: FirestoreEvent<QueryDocumentSnapshot | undefined, {
33
32
  deleteFuncId: string;
34
33
  }>): Promise<void>;
35
- declare function updateLogicMetrics(logicResults: LogicResult[]): Promise<void>;
36
- export declare function cleanLogicMetricsExecutions(event: ScheduledEvent): Promise<void>;
34
+ declare function createMetricExecution(logicResults: LogicResult[]): Promise<void>;
35
+ export declare function cleanMetricExecutions(event: ScheduledEvent): Promise<void>;
36
+ export declare function createMetricComputation(event: ScheduledEvent): Promise<void>;
37
+ export declare function cleanMetricComputations(event: ScheduledEvent): Promise<void>;
37
38
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cleanLogicMetricsExecutions = exports.onDeleteFunction = exports.processScheduledEntities = exports.runViewLogics = exports.expandConsolidateAndGroupByDstPath = exports.getSecurityFn = exports.groupDocsByTargetDocPath = exports.runBusinessLogics = exports.delayFormSubmissionAndCheckIfCancelled = exports.getFormModifiedFields = exports.validateForm = exports.distributeLater = exports.distribute = exports.distributeDoc = exports._mockable = void 0;
3
+ exports.cleanMetricComputations = exports.createMetricComputation = exports.cleanMetricExecutions = exports.onDeleteFunction = exports.runViewLogics = exports.expandConsolidateAndGroupByDstPath = exports.getSecurityFn = exports.groupDocsByTargetDocPath = 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
5
  const paths_1 = require("./utils/paths");
6
6
  const misc_1 = require("./utils/misc");
@@ -13,7 +13,7 @@ exports._mockable = {
13
13
  getViewLogicsConfig: () => index_1.viewLogicConfigs,
14
14
  createNowTimestamp: () => index_1.admin.firestore.Timestamp.now(),
15
15
  simulateSubmitForm,
16
- updateLogicMetrics,
16
+ createMetricExecution,
17
17
  };
18
18
  async function distributeDoc(logicResultDoc, batch) {
19
19
  const { action, doc, instructions, dstPath, } = logicResultDoc;
@@ -35,10 +35,20 @@ async function distributeDoc(logicResultDoc, batch) {
35
35
  }
36
36
  const updateData = Object.assign(Object.assign({}, doc), { "@id": dstDocRef.id });
37
37
  if (batch) {
38
- await batch.set(dstDocRef, updateData);
38
+ if (action === "merge") {
39
+ await batch.update(dstDocRef, updateData);
40
+ }
41
+ else {
42
+ await batch.set(dstDocRef, updateData);
43
+ }
39
44
  }
40
45
  else {
41
- await dstDocRef.set(updateData, { merge: true });
46
+ if (action === "merge") {
47
+ await dstDocRef.update(updateData);
48
+ }
49
+ else {
50
+ await dstDocRef.set(updateData);
51
+ }
42
52
  }
43
53
  console.log(`Document merged to ${dstPath}`);
44
54
  }
@@ -273,7 +283,7 @@ async function distributeLogicResults(actionRef, distributeFn, logicResults, pag
273
283
  documents: [],
274
284
  execTime: execTime,
275
285
  };
276
- await exports._mockable.updateLogicMetrics([...logicResults, distributeFnLogicResult]);
286
+ await exports._mockable.createMetricExecution([...logicResults, distributeFnLogicResult]);
277
287
  }
278
288
  const runBusinessLogics = async (actionRef, action, distributeFn) => {
279
289
  const { actionType, modifiedFields, eventContext: { entity } } = action;
@@ -458,37 +468,22 @@ async function runViewLogics(userLogicResultDoc) {
458
468
  return [];
459
469
  }
460
470
  const matchingLogics = exports._mockable.getViewLogicsConfig().filter((logic) => {
461
- return ((action === "merge" &&
462
- logic.modifiedFields.some((field) => modifiedFields.includes(field)) &&
471
+ return (((action === "merge" || action === "create") &&
472
+ (logic.modifiedFields === "all" ||
473
+ logic.modifiedFields.some((field) => modifiedFields.includes(field))) &&
463
474
  logic.entity === entity) ||
464
475
  (action === "delete" &&
465
476
  logic.entity === entity));
466
477
  });
467
478
  // TODO: Handle errors
468
479
  // TODO: Add logic for execTime
469
- return await Promise.all(matchingLogics.map((logic) => logic.viewLogicFn(userLogicResultDoc)));
470
- }
471
- exports.runViewLogics = runViewLogics;
472
- async function processScheduledEntities(event) {
473
- // Query all documents inside @scheduled collection where runAt is less than now
474
- const now = exports._mockable.createNowTimestamp();
475
- const scheduledDocs = await index_1.db.collection("@scheduled")
476
- .where("runAt", "<=", now).get();
477
- // For each document, get path, data and docId. Then copy data to the path
478
- const batch = batch_1.BatchUtil.getInstance();
479
- try {
480
- scheduledDocs.forEach((doc) => {
481
- const { colPath, data, } = doc.data();
482
- const docRef = index_1.db.collection(colPath).doc(doc.id);
483
- batch.set(docRef, data);
484
- batch.deleteDoc(doc.ref);
485
- });
486
- }
487
- finally {
488
- await batch.commit();
480
+ const logicResults = [];
481
+ for (const logic of matchingLogics) {
482
+ logicResults.push(await logic.viewLogicFn(userLogicResultDoc));
489
483
  }
484
+ return logicResults;
490
485
  }
491
- exports.processScheduledEntities = processScheduledEntities;
486
+ exports.runViewLogics = runViewLogics;
492
487
  async function onDeleteFunction(event) {
493
488
  const data = event.data;
494
489
  if (!data) {
@@ -527,7 +522,7 @@ async function deleteFunction(projectId, functionName) {
527
522
  console.log(`Function '${functionName}' not found or location not available.`);
528
523
  }
529
524
  }
530
- async function updateLogicMetrics(logicResults) {
525
+ async function createMetricExecution(logicResults) {
531
526
  const metricsRef = index_1.db.collection("@metrics");
532
527
  for (const logicResult of logicResults) {
533
528
  const { name, execTime } = logicResult;
@@ -550,18 +545,63 @@ async function updateLogicMetrics(logicResults) {
550
545
  });
551
546
  }
552
547
  }
553
- async function cleanLogicMetricsExecutions(event) {
554
- console.info("Running cleanLogicMetricsExecutions");
548
+ async function cleanMetricExecutions(event) {
549
+ console.info("Running cleanMetricExecutions");
555
550
  const metricsSnapshot = await index_1.db.collection("@metrics").get();
556
551
  let i = 0;
557
- for (const metricsDoc of metricsSnapshot.docs) {
558
- const query = metricsDoc.ref.collection("executions")
552
+ for (const metricDoc of metricsSnapshot.docs) {
553
+ const query = metricDoc.ref.collection("executions")
559
554
  .where("execDate", "<", new Date(Date.now() - 1000 * 60 * 60 * 24 * 7));
560
555
  await (0, misc_1.deleteCollection)(query, (snapshot) => {
561
556
  i += snapshot.size;
562
557
  });
563
558
  }
564
- console.info(`Cleaned ${i} logic metrics executions`);
559
+ console.info(`Cleaned ${i} logic metric executions`);
560
+ }
561
+ exports.cleanMetricExecutions = cleanMetricExecutions;
562
+ async function createMetricComputation(event) {
563
+ console.info("Creating metric computation");
564
+ const metricsSnapshot = await index_1.db.collection("@metrics").get();
565
+ for (const metricDoc of metricsSnapshot.docs) {
566
+ const query = metricDoc.ref.collection("executions")
567
+ .where("execDate", ">=", new Date(Date.now() - 1000 * 60 * 60));
568
+ const snapshots = await query.get();
569
+ if (snapshots.empty) {
570
+ console.info(`No executions found for ${metricDoc.id}`);
571
+ continue;
572
+ }
573
+ const execTimes = snapshots.docs.map((doc) => doc.data().execTime);
574
+ const maxExecTime = Math.max(...execTimes);
575
+ const minExecTime = Math.min(...execTimes);
576
+ const totalExecTime = execTimes.reduce((a, b) => a + b, 0);
577
+ const execCount = execTimes.length;
578
+ const avgExecTime = totalExecTime / execCount;
579
+ const jitterTime = maxExecTime - minExecTime;
580
+ const execRef = metricDoc.ref.collection("computations").doc();
581
+ await execRef.set({
582
+ createdAt: index_1.admin.firestore.Timestamp.now(),
583
+ maxExecTime,
584
+ minExecTime,
585
+ totalExecTime,
586
+ execCount,
587
+ avgExecTime,
588
+ jitterTime,
589
+ });
590
+ }
591
+ }
592
+ exports.createMetricComputation = createMetricComputation;
593
+ async function cleanMetricComputations(event) {
594
+ console.info("Running cleanMetricComputations");
595
+ const metricsSnapshot = await index_1.db.collection("@metrics").get();
596
+ let i = 0;
597
+ for (const metricDoc of metricsSnapshot.docs) {
598
+ const query = metricDoc.ref.collection("computations")
599
+ .where("createdAt", "<", new Date(Date.now() - 1000 * 60 * 60 * 24 * 30));
600
+ await (0, misc_1.deleteCollection)(query, (snapshot) => {
601
+ i += snapshot.size;
602
+ });
603
+ }
604
+ console.info(`Cleaned ${i} logic metric computations`);
565
605
  }
566
- exports.cleanLogicMetricsExecutions = cleanLogicMetricsExecutions;
606
+ exports.cleanMetricComputations = cleanMetricComputations;
567
607
  //# 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.js CHANGED
@@ -92,13 +92,23 @@ function initializeEmberFlow(customProjectConfig, adminInstance, customDbStructu
92
92
  exports.colPaths = cp;
93
93
  exports.docPathsRegex = dbr;
94
94
  exports.viewLogicConfigs = vd.map((viewDef) => {
95
- return {
95
+ const [srcToDestViewLogicFn, dstToSrcViewLogicFn] = (0, view_logics_1.createViewLogicFn)(viewDef);
96
+ const srcToDestLogicConfig = {
96
97
  name: `${viewDef.destEntity}${viewDef.destProp ? "#" + viewDef.destProp : ""} ViewLogic`,
97
98
  entity: viewDef.srcEntity,
99
+ actionTypes: ["merge", "delete"],
98
100
  modifiedFields: viewDef.srcProps,
99
- viewLogicFn: (0, view_logics_1.createViewLogicFn)(viewDef),
101
+ viewLogicFn: srcToDestViewLogicFn,
100
102
  };
101
- });
103
+ const dstToSrcLogicConfig = {
104
+ name: `${viewDef.destEntity}${viewDef.destProp ? "#" + viewDef.destProp : ""} Reverse ViewLogic`,
105
+ entity: viewDef.destEntity,
106
+ actionTypes: ["create", "delete"],
107
+ modifiedFields: "all",
108
+ viewLogicFn: dstToSrcViewLogicFn,
109
+ };
110
+ return [srcToDestLogicConfig, dstToSrcLogicConfig];
111
+ }).flat();
102
112
  exports.functionsConfig["onFormSubmit"] = (0, database_1.onValueCreated)({
103
113
  ref: "forms/{userId}/{formId}",
104
114
  region: exports.projectConfig.region,
@@ -147,21 +157,26 @@ function initializeEmberFlow(customProjectConfig, adminInstance, customDbStructu
147
157
  region: exports.projectConfig.region,
148
158
  timeoutSeconds: 540,
149
159
  }, pubsub_3.cleanPubSubProcessedIds);
150
- exports.functionsConfig["cleanLogicMetricsExecutions"] = (0, scheduler_1.onSchedule)({
151
- schedule: "every 1 hours",
160
+ exports.functionsConfig["cleanMetricComputations"] = (0, scheduler_1.onSchedule)({
161
+ schedule: "every 24 hours",
162
+ region: exports.projectConfig.region,
163
+ timeoutSeconds: 540,
164
+ }, index_utils_1.cleanMetricComputations);
165
+ exports.functionsConfig["cleanMetricExecutions"] = (0, scheduler_1.onSchedule)({
166
+ schedule: "every 24 hours",
152
167
  region: exports.projectConfig.region,
153
168
  timeoutSeconds: 540,
154
- }, index_utils_1.cleanLogicMetricsExecutions);
169
+ }, index_utils_1.cleanMetricExecutions);
155
170
  exports.functionsConfig["cleanActionsAndForms"] = (0, scheduler_1.onSchedule)({
156
- schedule: "every 1 hours",
171
+ schedule: "every 24 hours",
157
172
  region: exports.projectConfig.region,
158
173
  timeoutSeconds: 540,
159
174
  }, forms_1.cleanActionsAndForms);
160
- exports.functionsConfig["minuteFunctions"] = (0, scheduler_1.onSchedule)({
161
- schedule: "every 1 minutes",
175
+ exports.functionsConfig["createMetricComputation"] = (0, scheduler_1.onSchedule)({
176
+ schedule: "every 1 hours",
162
177
  region: exports.projectConfig.region,
163
178
  timeoutSeconds: 540,
164
- }, index_utils_1.processScheduledEntities);
179
+ }, index_utils_1.createMetricComputation);
165
180
  exports.functionsConfig["reduceInstructions"] = (0, scheduler_1.onSchedule)({
166
181
  schedule: "every 1 minutes",
167
182
  region: exports.projectConfig.region,
@@ -358,7 +373,7 @@ const onUserRegister = async (user) => {
358
373
  "lastName": "",
359
374
  "avatarUrl": user.photoURL || "",
360
375
  "username": user.email || "",
361
- "emailAddress": user.email || "",
376
+ "email": user.email || "",
362
377
  "registeredAt": exports.admin.firestore.Timestamp.now(),
363
378
  });
364
379
  };
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { LogicResultDoc, ViewDefinition, ViewLogicFn } from "../types";
2
2
  import { CloudEvent } from "firebase-functions/lib/v2/core";
3
3
  import { MessagePublishedData } from "firebase-functions/lib/v2/providers/pubsub";
4
- export declare function createViewLogicFn(viewDefinition: ViewDefinition): ViewLogicFn;
4
+ export declare function createViewLogicFn(viewDefinition: ViewDefinition): ViewLogicFn[];
5
5
  export declare function queueRunViewLogics(logicResultDoc: LogicResultDoc): Promise<void>;
6
6
  export declare function onMessageViewLogicsQueue(event: CloudEvent<MessagePublishedData>): Promise<"Processed view logics" | undefined>;
@@ -31,27 +31,41 @@ const index_utils_1 = require("../index-utils");
31
31
  const pubsub_1 = require("../utils/pubsub");
32
32
  const misc_1 = require("../utils/misc");
33
33
  function createViewLogicFn(viewDefinition) {
34
- return async (logicResultDoc) => {
35
- const { srcProps, destEntity, destProp, } = viewDefinition;
36
- const { doc, instructions, dstPath: actualSrcPath, action, } = logicResultDoc;
37
- console.log(`Executing ViewLogic on document at ${actualSrcPath}...`);
38
- let destPaths;
39
- const destDocPath = index_1.docPaths[destEntity];
40
- const docId = actualSrcPath.split("/").slice(-1)[0];
41
- if (destProp) {
42
- destPaths = await (0, paths_1.hydrateDocPath)(destDocPath, {
43
- [destEntity]: {
44
- fieldName: `${destProp}.@id`,
45
- operator: "==",
46
- value: docId,
47
- },
48
- });
49
- }
50
- else {
51
- const dehydratedPath = `${destDocPath.split("/").slice(0, -1).join("/")}/${docId}`;
52
- destPaths = await (0, paths_1.hydrateDocPath)(dehydratedPath, {});
34
+ const { srcEntity, srcProps, destEntity, destProp, } = viewDefinition;
35
+ function formViewsPath(docId) {
36
+ const srcDocPath = index_1.docPaths[srcEntity];
37
+ const srcPath = srcDocPath.split("/").slice(0, -1).join("/") + "/" + docId;
38
+ const srcViewsPath = `${srcPath}/@views/${docId}+${destEntity}${destProp ? `#${destProp}` : ""}`;
39
+ return srcViewsPath;
40
+ }
41
+ const srcToDstLogicFn = async (logicResultDoc) => {
42
+ var _a;
43
+ async function buildViewsCollection() {
44
+ const destDocPath = index_1.docPaths[destEntity];
45
+ const docId = actualSrcPath.split("/").slice(-1)[0];
46
+ if (destProp) {
47
+ destPaths = await (0, paths_1.hydrateDocPath)(destDocPath, {
48
+ [destEntity]: {
49
+ fieldName: `${destProp}.@id`,
50
+ operator: "==",
51
+ value: docId,
52
+ },
53
+ });
54
+ }
55
+ else {
56
+ const dehydratedPath = `${destDocPath.split("/").slice(0, -1).join("/")}/${docId}`;
57
+ destPaths = await (0, paths_1.hydrateDocPath)(dehydratedPath, {});
58
+ }
59
+ for (const path of destPaths) {
60
+ const docId = path.split("/").slice(-1)[0];
61
+ const srcViewsPath = formViewsPath(docId);
62
+ await index_1.db.doc(srcViewsPath).set({
63
+ path,
64
+ srcProps: srcProps.sort(),
65
+ });
66
+ }
53
67
  }
54
- if (action === "delete") {
68
+ function syncDeleteToViews() {
55
69
  const documents = destPaths.map((destPath) => {
56
70
  if (destProp) {
57
71
  return {
@@ -78,7 +92,7 @@ function createViewLogicFn(viewDefinition) {
78
92
  documents,
79
93
  };
80
94
  }
81
- else {
95
+ function syncMergeToViews() {
82
96
  const viewDoc = {};
83
97
  const viewInstructions = {};
84
98
  for (const srcProp of srcProps) {
@@ -105,7 +119,76 @@ function createViewLogicFn(viewDefinition) {
105
119
  documents,
106
120
  };
107
121
  }
122
+ const { doc, instructions, dstPath: actualSrcPath, action, } = logicResultDoc;
123
+ const modifiedFields = [
124
+ ...Object.keys(doc || {}),
125
+ ...Object.keys(instructions || {}),
126
+ ];
127
+ console.log(`Executing ViewLogic on document at ${actualSrcPath}...`);
128
+ const viewPaths = (await index_1.db.doc(actualSrcPath)
129
+ .collection("@views")
130
+ .where("srcProps", "array-contains-any", modifiedFields)
131
+ .get()).docs.map((doc) => doc.data());
132
+ let destPaths = viewPaths.map((viewPath) => viewPath.path);
133
+ if (viewPaths.length === 0) {
134
+ // Check if the src doc has "@viewsAlreadyBuilt" field
135
+ const srcRef = index_1.db.doc(actualSrcPath);
136
+ const isViewsAlreadyBuilt = (_a = (await srcRef.get()).data()) === null || _a === void 0 ? void 0 : _a["@viewsAlreadyBuilt"];
137
+ if (!isViewsAlreadyBuilt) {
138
+ await buildViewsCollection();
139
+ await srcRef.update({ "@viewsAlreadyBuilt": true });
140
+ }
141
+ }
142
+ for (const viewPath of viewPaths) {
143
+ const { srcProps: viewPathSrcProps, path } = viewPath;
144
+ const sortedSrcProps = srcProps.sort();
145
+ if (viewPathSrcProps.join(",") === sortedSrcProps.join(",")) {
146
+ continue;
147
+ }
148
+ const docId = path.split("/").slice(-1)[0];
149
+ const srcViewsPath = formViewsPath(docId);
150
+ await index_1.db.doc(srcViewsPath).update({ srcProps: sortedSrcProps });
151
+ }
152
+ if (action === "delete") {
153
+ return syncDeleteToViews();
154
+ }
155
+ else {
156
+ return syncMergeToViews();
157
+ }
158
+ };
159
+ const dstToSrcLogicFn = async (logicResultDoc) => {
160
+ const logicResult = {
161
+ name: "ViewLogic Dst to Src",
162
+ status: "finished",
163
+ documents: [],
164
+ };
165
+ const docId = logicResultDoc.dstPath.split("/").slice(-1)[0];
166
+ const srcViewsPath = formViewsPath(docId);
167
+ if (srcViewsPath.includes("{")) {
168
+ console.error("Cannot run Dst to Src ViewLogic on a path with a placeholder");
169
+ return logicResult;
170
+ }
171
+ if (logicResultDoc.action === "delete") {
172
+ const viewResultDoc = {
173
+ action: "delete",
174
+ dstPath: srcViewsPath,
175
+ };
176
+ logicResult.documents.push(viewResultDoc);
177
+ }
178
+ else {
179
+ const viewResultDoc = {
180
+ action: "create",
181
+ dstPath: srcViewsPath,
182
+ doc: {
183
+ path: logicResultDoc.dstPath,
184
+ srcProps: srcProps.sort(),
185
+ },
186
+ };
187
+ logicResult.documents.push(viewResultDoc);
188
+ }
189
+ return logicResult;
108
190
  };
191
+ return [srcToDstLogicFn, dstToSrcLogicFn];
109
192
  }
110
193
  exports.createViewLogicFn = createViewLogicFn;
111
194
  async function queueRunViewLogics(logicResultDoc) {
@@ -1 +1 @@
1
- {"version":3,"file":"view-logics.js","sourceRoot":"","sources":["../../src/logics/view-logics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view-logics.js","sourceRoot":"","sources":["../../src/logics/view-logics.ts"],"names":[],"mappings":"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"}