emberflow 1.4.33 → 1.4.34

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.
@@ -196,7 +196,6 @@ function getMatchingLogics(actionType, modifiedFields, document, entity, metadat
196
196
  (logic.addtlFilterFn ? logic.addtlFilterFn(actionType, modifiedFields, document, entity, metadata) : true) &&
197
197
  (0, patch_logics_1.versionCompare)(logic.version, targetVersion) <= 0);
198
198
  });
199
- console.debug("All Logics", index_1.logicConfigs.map((logic) => logic.name));
200
199
  // Let's group by name
201
200
  const nameIndex = new Map();
202
201
  return matchingLogics.reduce((acc, logicConfig) => {
@@ -579,23 +578,20 @@ async function cleanMetricComputations(event) {
579
578
  exports.cleanMetricComputations = cleanMetricComputations;
580
579
  async function distributeFnTransactional(txn, logicResults) {
581
580
  const distributedLogicResultDocs = [];
582
- const distributeTransactionalLogicResults = async () => {
583
- const transactionalResults = logicResults.filter((result) => result.transactional);
584
- if (transactionalResults.length === 0) {
585
- console.info("No transactional logic results to distribute");
586
- return;
587
- }
588
- // We always distribute transactional results first
589
- const transactionalDstPathLogicDocsMap = await (0, exports.expandConsolidateAndGroupByDstPath)(transactionalResults.map((result) => result.documents).flat());
590
- // Write to firestore in one transaction
591
- for (const [_, logicDocs] of transactionalDstPathLogicDocsMap) {
592
- for (const logicDoc of logicDocs) {
593
- distributedLogicResultDocs.push(logicDoc);
594
- await distributeDoc(logicDoc, undefined, txn);
595
- }
581
+ const transactionalResults = logicResults.filter((result) => result.transactional);
582
+ if (transactionalResults.length === 0) {
583
+ console.info("No transactional logic results to distribute");
584
+ return distributedLogicResultDocs;
585
+ }
586
+ // We always distribute transactional results first
587
+ const transactionalDstPathLogicDocsMap = await (0, exports.expandConsolidateAndGroupByDstPath)(transactionalResults.flatMap((result) => result.documents));
588
+ // Write to firestore in one transaction
589
+ for (const [_, logicDocs] of transactionalDstPathLogicDocsMap) {
590
+ for (const logicDoc of logicDocs) {
591
+ distributedLogicResultDocs.push(logicDoc);
592
+ await distributeDoc(logicDoc, undefined, txn);
596
593
  }
597
- };
598
- await distributeTransactionalLogicResults();
594
+ }
599
595
  return distributedLogicResultDocs;
600
596
  }
601
597
  exports.distributeFnTransactional = distributeFnTransactional;
@@ -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
@@ -114,7 +114,7 @@ function initializeEmberFlow(customProjectConfig, adminInstance, customDbStructu
114
114
  exports.functionsConfig["onFormSubmit"] = (0, database_1.onValueCreated)({
115
115
  ref: "forms/{userId}/{formId}",
116
116
  region: exports.projectConfig.region,
117
- memory: "256MiB",
117
+ memory: "512MiB",
118
118
  }, (0, bill_protect_1.useBillProtect)(onFormSubmit));
119
119
  exports.functionsConfig["onBudgetAlert"] =
120
120
  functions.pubsub.topic(exports.projectConfig.budgetAlertTopicName).onPublish(bill_protect_1.stopBillingIfBudgetExceeded);
@@ -1,9 +1,6 @@
1
- import { LogicResult } from "../types";
2
1
  import { CloudEvent } from "firebase-functions/core";
3
2
  import { MessagePublishedData } from "firebase-functions/pubsub";
4
- import { firestore } from "firebase-admin";
5
- import Transaction = firestore.Transaction;
6
3
  export declare function queueRunPatchLogics(appVersion: string, ...dstPaths: string[]): Promise<void>;
7
4
  export declare function onMessageRunPatchLogicsQueue(event: CloudEvent<MessagePublishedData>): Promise<"Processed patch logics" | undefined>;
8
5
  export declare function versionCompare(version1: string, version2: string): number;
9
- export declare const runPatchLogics: (appVersion: string, dstPath: string, txn: Transaction) => Promise<LogicResult[]>;
6
+ export declare const runPatchLogics: (appVersion: string, dstPath: string) => Promise<void>;
@@ -34,31 +34,7 @@ async function onMessageRunPatchLogicsQueue(event) {
34
34
  const { dstPath, appVersion } = event.data.message.json;
35
35
  console.log("Received dstPath:", dstPath);
36
36
  console.info("Running Patch Logics");
37
- const start = performance.now();
38
- let patchLogicResults = [];
39
- const distributeLogicDocs = await index_1.db.runTransaction(async (txn) => {
40
- const distributedLogicDocs = [];
41
- patchLogicResults = await (0, exports.runPatchLogics)(appVersion, dstPath, txn);
42
- const patchLogicResultDocs = patchLogicResults.map((result) => result.documents).flat();
43
- const dstPathPatchLogicDocsMap = await (0, index_utils_1.expandConsolidateAndGroupByDstPath)(patchLogicResultDocs);
44
- dstPathPatchLogicDocsMap.forEach((value) => {
45
- value.forEach(async (logicResultDoc) => {
46
- await (0, index_utils_1.distributeDoc)(logicResultDoc, undefined, txn);
47
- distributedLogicDocs.push(logicResultDoc);
48
- });
49
- });
50
- return distributedLogicDocs;
51
- });
52
- await (0, view_logics_1.queueRunViewLogics)(appVersion, ...distributeLogicDocs);
53
- const end = performance.now();
54
- const execTime = end - start;
55
- const distributeFnLogicResult = {
56
- name: "runPatchLogics",
57
- status: "finished",
58
- documents: [],
59
- execTime: execTime,
60
- };
61
- await index_utils_1._mockable.createMetricExecution([...patchLogicResults, distributeFnLogicResult]);
37
+ await (0, exports.runPatchLogics)(appVersion, dstPath);
62
38
  await pubsub_1.pubsubUtils.trackProcessedIds(index_1.PATCH_LOGICS_TOPIC_NAME, event.id);
63
39
  return "Processed patch logics";
64
40
  }
@@ -84,45 +60,88 @@ function versionCompare(version1, version2) {
84
60
  return 0; // equal
85
61
  }
86
62
  exports.versionCompare = versionCompare;
87
- const runPatchLogics = async (appVersion, dstPath, txn) => {
63
+ const runPatchLogics = async (appVersion, dstPath) => {
88
64
  const { entity } = (0, paths_1.findMatchingDocPathRegex)(dstPath);
89
65
  if (!entity) {
90
66
  console.error("Entity should not be blank");
91
- return [];
67
+ return;
92
68
  }
93
- console.log("running here");
94
- const logicResults = [];
95
- const snapshot = await txn.get(index_1.db.doc(dstPath));
96
- const data = snapshot.data();
97
- console.debug("data", data);
98
- if (!data)
99
- return logicResults;
100
- const dataVersion = data["@dataVersion"] || "0.0.0";
101
- let count = 0;
69
+ const docRef = index_1.db.doc(dstPath);
70
+ const docSnap = await docRef.get();
71
+ const document = docSnap.data();
72
+ if (!document) {
73
+ console.error("Document does not exist");
74
+ return;
75
+ }
76
+ const dataVersion = document["@dataVersion"] || "0.0.0";
102
77
  const matchingPatchLogics = index_utils_1._mockable.getPatchLogicConfigs()
103
78
  .filter((patchLogicConfig) => {
104
- count++;
105
- console.debug("count", count);
106
79
  return entity === patchLogicConfig.entity &&
107
80
  versionCompare(dataVersion, patchLogicConfig.version) < 0 &&
108
81
  versionCompare(patchLogicConfig.version, appVersion) <= 0;
109
82
  });
110
- // TODO: Handle errors
111
- for (const patchLogic of matchingPatchLogics) {
83
+ const matchingPatchLogicsByVersion = matchingPatchLogics
84
+ .sort((a, b) => versionCompare(a.version, b.version))
85
+ .reduce((map, patchLogicConfig) => {
86
+ var _a;
87
+ if (!map.has(patchLogicConfig.version)) {
88
+ map.set(patchLogicConfig.version, []);
89
+ }
90
+ (_a = map.get(patchLogicConfig.version)) === null || _a === void 0 ? void 0 : _a.push(patchLogicConfig);
91
+ return map;
92
+ }, new Map());
93
+ for (const [patchVersion, patchLogicConfigs] of matchingPatchLogicsByVersion) {
112
94
  const start = performance.now();
113
- const patchLogicResult = await patchLogic.patchLogicFn(dstPath, data);
114
- patchLogicResult.documents.push({
115
- action: "merge",
116
- dstPath,
117
- doc: {
118
- "@dataVersion": patchLogic.version,
119
- },
95
+ const logicResultsForMetricExecution = await index_1.db.runTransaction(async (txn) => {
96
+ const logicResults = [];
97
+ const txnDocSnap = await txn.get(index_1.db.doc(dstPath));
98
+ const txnDocument = txnDocSnap.data();
99
+ if (!txnDocument) {
100
+ console.error("Document does not exist");
101
+ return logicResults;
102
+ }
103
+ const txnDataVersion = txnDocument["@dataVersion"] || "0.0.0";
104
+ // run only if patch version is higher than the dataVersion
105
+ if (versionCompare(txnDataVersion, patchVersion) >= 0) {
106
+ console.info(`Skipping Patch Logics for version ${patchVersion} as it is not higher than data version ${dataVersion}`);
107
+ return logicResults;
108
+ }
109
+ console.info(`Running Patch Logics for version ${patchVersion}`);
110
+ console.debug("Original Document", txnDocument);
111
+ for (const patchLogicConfig of patchLogicConfigs) {
112
+ console.info("Running Patch Logic:", patchLogicConfig.name);
113
+ const patchLogicStartTime = performance.now();
114
+ const patchLogicResult = await patchLogicConfig.patchLogicFn(dstPath, txnDocument);
115
+ const patchLogicEndTime = performance.now();
116
+ const execTime = patchLogicEndTime - patchLogicStartTime;
117
+ logicResults.push(Object.assign(Object.assign({}, patchLogicResult), { execTime }));
118
+ }
119
+ logicResults.forEach((logicResult) => {
120
+ logicResult.transactional = true;
121
+ logicResult.documents.forEach((document) => {
122
+ if (["merge", "create"].includes(document.action) && document.doc) {
123
+ document.doc["@dataVersion"] = patchVersion;
124
+ }
125
+ });
126
+ });
127
+ const distributedLogicDocs = await (0, index_utils_1.distributeFnTransactional)(txn, logicResults);
128
+ console.debug("Distributed Logic Docs", distributedLogicDocs);
129
+ await (0, view_logics_1.queueRunViewLogics)(patchVersion, ...distributedLogicDocs);
130
+ console.info(`Finished Patch Logic for version ${patchVersion}`);
131
+ return logicResults.map((result) => (Object.assign(Object.assign({}, result), { timeFinished: index_1.admin.firestore.Timestamp.now() })));
120
132
  });
121
133
  const end = performance.now();
122
134
  const execTime = end - start;
123
- logicResults.push(Object.assign(Object.assign({}, patchLogicResult), { execTime, timeFinished: index_1.admin.firestore.Timestamp.now() }));
135
+ const runPatchMetricsLogicResult = {
136
+ name: "runPatchLogics",
137
+ status: "finished",
138
+ documents: [],
139
+ execTime: execTime,
140
+ };
141
+ if (logicResultsForMetricExecution.length > 0) {
142
+ await index_utils_1._mockable.createMetricExecution([...logicResultsForMetricExecution, runPatchMetricsLogicResult]);
143
+ }
124
144
  }
125
- return logicResults;
126
145
  };
127
146
  exports.runPatchLogics = runPatchLogics;
128
147
  //# sourceMappingURL=patch-logics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"patch-logics.js","sourceRoot":"","sources":["../../src/logics/patch-logics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"patch-logics.js","sourceRoot":"","sources":["../../src/logics/patch-logics.ts"],"names":[],"mappings":"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"}
@@ -30,9 +30,7 @@ export declare const dbStructure: {
30
30
  };
31
31
  };
32
32
  members: {
33
- member: {
34
- [x: string]: {};
35
- };
33
+ member: string[];
36
34
  };
37
35
  followers: string[];
38
36
  };
@@ -44,31 +42,29 @@ export declare const dbStructure: {
44
42
  };
45
43
  menuItems: {
46
44
  menuItem: {
47
- recipe: string;
45
+ recipe: string[];
48
46
  ingredients: {
49
- menuItemIngredient: {
50
- [x: string]: {};
51
- };
47
+ menuItemIngredient: string[];
52
48
  };
53
49
  };
54
50
  };
55
- createdBy: string;
51
+ createdBy: string[];
56
52
  orders: {
57
53
  order: {
58
- createdBy: string;
54
+ createdBy: string[];
59
55
  menus: {
60
56
  orderMenuItem: {
61
- createdBy: string;
57
+ createdBy: string[];
62
58
  };
63
59
  };
64
60
  };
65
61
  };
66
62
  prepAreas: {
67
63
  prepArea: {
68
- createdBy: string;
64
+ createdBy: string[];
69
65
  menus: {
70
66
  prepAreaMenuItem: {
71
- createdBy: string;
67
+ createdBy: string[];
72
68
  };
73
69
  };
74
70
  };
@@ -79,7 +75,7 @@ export declare const dbStructure: {
79
75
  user: {
80
76
  feeds: {
81
77
  feed: {
82
- createdBy: string;
78
+ createdBy: string[];
83
79
  };
84
80
  };
85
81
  friends: {
@@ -30,21 +30,19 @@ var Entity;
30
30
  exports.dbStructure = {
31
31
  servers: {
32
32
  [Entity.Server]: {
33
- createdBy: (0, db_structure_1.view)(Entity.User, ["name", "email"]),
33
+ createdBy: (0, db_structure_1.propView)("map", Entity.User, ["name", "email"]),
34
34
  channels: {
35
35
  [Entity.Channel]: {
36
- "createdBy": (0, db_structure_1.view)(Entity.User, ["name", "email"]),
36
+ "createdBy": (0, db_structure_1.propView)("map", Entity.User, ["name", "email"]),
37
37
  "members": {
38
- [(0, db_structure_1.view)(Entity.User, ["name"])]: {},
38
+ [(0, db_structure_1.propView)("array-map", Entity.User, ["name"])]: {},
39
39
  },
40
40
  },
41
41
  },
42
42
  members: {
43
- [Entity.Member]: {
44
- [(0, db_structure_1.view)(Entity.User, ["name"])]: {},
45
- },
43
+ [Entity.Member]: [(0, db_structure_1.view)(Entity.User, ["name"])],
46
44
  },
47
- followers: [(0, db_structure_1.view)(Entity.User, ["name", "email"])],
45
+ followers: [(0, db_structure_1.propView)("array-map", Entity.User, ["name", "email"])],
48
46
  },
49
47
  },
50
48
  topics: {
@@ -54,31 +52,39 @@ exports.dbStructure = {
54
52
  },
55
53
  menuItems: {
56
54
  [Entity.MenuItem]: {
57
- recipe: (0, db_structure_1.view)(Entity.Topic, []),
55
+ recipe: [
56
+ (0, db_structure_1.propView)("map", Entity.Topic, [], {}, "0.0.1"),
57
+ (0, db_structure_1.propView)("array-map", Entity.Topic, [], {}, "0.0.2"),
58
+ (0, db_structure_1.view)(Entity.Topic, [], {}, "0.0.3"),
59
+ (0, db_structure_1.view)(Entity.Server, [], {}, "0.0.4"),
60
+ ],
58
61
  ingredients: {
59
- [Entity.MenuItemIngredient]: {
60
- [(0, db_structure_1.view)(Entity.RecipeIngredient, [], { syncCreate: true })]: {},
61
- },
62
+ [Entity.MenuItemIngredient]: [
63
+ (0, db_structure_1.view)(Entity.RecipeIngredient, [], { syncCreate: true }, "0.0.1"),
64
+ (0, db_structure_1.propView)("map", Entity.RecipeIngredient, [], { syncCreate: true }, "0.0.2"),
65
+ (0, db_structure_1.propView)("array-map", Entity.RecipeIngredient, [], { syncCreate: true }, "0.0.3"),
66
+ (0, db_structure_1.view)(Entity.Topic, [], { syncCreate: true }, "0.0.4"),
67
+ ],
62
68
  },
63
69
  },
64
70
  },
65
- createdBy: (0, db_structure_1.view)(Entity.User, ["name", "email"]),
71
+ createdBy: [(0, db_structure_1.propView)("map", Entity.User, ["name", "email"])],
66
72
  orders: {
67
73
  [Entity.Order]: {
68
- createdBy: (0, db_structure_1.view)(Entity.User, ["name", "email"]),
74
+ createdBy: [(0, db_structure_1.propView)("map", Entity.User, ["name", "email"])],
69
75
  menus: {
70
76
  [Entity.OrderMenuItem]: {
71
- createdBy: (0, db_structure_1.view)(Entity.User, ["name", "email"]),
77
+ createdBy: [(0, db_structure_1.propView)("map", Entity.User, ["name", "email"])],
72
78
  },
73
79
  },
74
80
  },
75
81
  },
76
82
  prepAreas: {
77
83
  [Entity.PrepArea]: {
78
- "createdBy": (0, db_structure_1.view)(Entity.User, ["name", "email"]),
84
+ "createdBy": [(0, db_structure_1.propView)("map", Entity.User, ["name", "email"])],
79
85
  "menus": {
80
86
  [Entity.PrepAreaMenuItem]: {
81
- createdBy: (0, db_structure_1.view)(Entity.User, ["name", "email"]),
87
+ createdBy: [(0, db_structure_1.propView)("map", Entity.User, ["name", "email"])],
82
88
  },
83
89
  },
84
90
  },
@@ -89,7 +95,7 @@ exports.dbStructure = {
89
95
  [Entity.User]: {
90
96
  feeds: {
91
97
  [Entity.Feed]: {
92
- createdBy: (0, db_structure_1.view)(Entity.User, ["name", "email"]),
98
+ createdBy: [(0, db_structure_1.propView)("map", Entity.User, ["name", "email"])],
93
99
  },
94
100
  },
95
101
  friends: {
@@ -1 +1 @@
1
- {"version":3,"file":"db-structure.js","sourceRoot":"","sources":["../../src/sample-custom/db-structure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db-structure.js","sourceRoot":"","sources":["../../src/sample-custom/db-structure.ts"],"names":[],"mappings":"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"}
@@ -31,11 +31,11 @@ const index_1 = require("../../index");
31
31
  const db_structure_1 = require("../../sample-custom/db-structure");
32
32
  const security_1 = require("../../sample-custom/security");
33
33
  const validators_1 = require("../../sample-custom/validators");
34
- var Timestamp = firebase_admin_1.firestore.Timestamp;
35
34
  const viewLogics = __importStar(require("../../logics/view-logics"));
36
35
  const patchLogics = __importStar(require("../../logics/patch-logics"));
37
36
  const indexUtils = __importStar(require("../../index-utils"));
38
37
  const pubsub_1 = require("../../utils/pubsub");
38
+ var Timestamp = firebase_admin_1.firestore.Timestamp;
39
39
  const projectConfig = {
40
40
  projectId: "your-project-id",
41
41
  region: "asia-southeast1",
@@ -111,51 +111,98 @@ describe("versionCompare", () => {
111
111
  });
112
112
  });
113
113
  describe("runPatchLogics", () => {
114
- const logicFn1 = jest.fn().mockResolvedValue({
114
+ let queueRunViewLogicsSpy;
115
+ let runTransactionSpy;
116
+ let createMetricExecutionSpy;
117
+ let distributeFnTransactionalSpy;
118
+ const userLogicFn1 = jest.fn().mockResolvedValue({
115
119
  status: "finished",
116
120
  documents: [],
117
121
  });
118
- const logicFn2 = jest.fn().mockResolvedValue({
122
+ const userLogicFn2Result = {
119
123
  status: "finished",
120
- documents: [],
121
- });
122
- const logicFn2Point5 = jest.fn().mockResolvedValue({
124
+ documents: [{
125
+ "action": "merge",
126
+ "doc": {
127
+ firstName: "John",
128
+ },
129
+ "dstPath": "users/userId",
130
+ }],
131
+ };
132
+ const userLogicFn2 = jest.fn().mockResolvedValue(userLogicFn2Result);
133
+ const additionalUserLogicFn2Result = {
134
+ status: "finished",
135
+ documents: [
136
+ {
137
+ "action": "merge",
138
+ "doc": {
139
+ lastName: "Doe",
140
+ },
141
+ "dstPath": "users/userId",
142
+ },
143
+ ],
144
+ };
145
+ const additionalUserLogicFn2 = jest.fn().mockResolvedValue(additionalUserLogicFn2Result);
146
+ const userLogicFn2p5Result = {
147
+ status: "finished",
148
+ documents: [{
149
+ "action": "merge",
150
+ "doc": {
151
+ fullName: "John Doe",
152
+ },
153
+ "dstPath": "users/userId",
154
+ }],
155
+ };
156
+ const userLogicFn2p5 = jest.fn().mockResolvedValue(userLogicFn2p5Result);
157
+ const topicLogicFn1 = jest.fn().mockResolvedValue({
123
158
  status: "finished",
124
159
  documents: [],
125
160
  });
126
- const logicFn3 = jest.fn().mockResolvedValue({
161
+ const userLogicFn3 = jest.fn().mockResolvedValue({
127
162
  status: "finished",
128
163
  documents: [],
129
164
  });
130
165
  const patchLogics = [
131
166
  {
132
- name: "Patch Version 1",
167
+ name: "User Patch Version 1",
133
168
  entity: "user",
134
- patchLogicFn: logicFn1,
169
+ patchLogicFn: userLogicFn1,
135
170
  version: "1.0.0",
136
171
  },
137
172
  {
138
- name: "Patch Version 2",
173
+ name: "User Patch Version 2",
139
174
  entity: "user",
140
- patchLogicFn: logicFn2,
175
+ patchLogicFn: userLogicFn2,
141
176
  version: "2.0.0",
142
177
  },
143
178
  {
144
- name: "Patch Version 2.5",
179
+ name: "Additional User Patch Version 2",
145
180
  entity: "user",
146
- patchLogicFn: logicFn2Point5,
181
+ patchLogicFn: additionalUserLogicFn2,
182
+ version: "2.0.0",
183
+ },
184
+ {
185
+ name: "User Patch Version 2.5",
186
+ entity: "user",
187
+ patchLogicFn: userLogicFn2p5,
147
188
  version: "2.5.0",
148
189
  },
149
190
  {
150
- name: "Patch Version 3",
191
+ name: "Topic Patch Version 1",
192
+ entity: "topic",
193
+ patchLogicFn: topicLogicFn1,
194
+ version: "1.0.0",
195
+ },
196
+ {
197
+ name: "User Patch Version 3",
151
198
  entity: "user",
152
- patchLogicFn: logicFn3,
199
+ patchLogicFn: userLogicFn3,
153
200
  version: "3.0.0",
154
201
  },
155
202
  ];
156
203
  const dataVersion = "1.0.0";
157
204
  const appVersion = "2.9.0";
158
- const txn = {
205
+ const txnResult1 = {
159
206
  get: jest.fn().mockResolvedValue({
160
207
  data: jest.fn().mockReturnValue({
161
208
  "userId": "userId",
@@ -163,52 +210,133 @@ describe("runPatchLogics", () => {
163
210
  }),
164
211
  }),
165
212
  };
166
- jest.spyOn(paths, "findMatchingDocPathRegex").mockReturnValue({
167
- entity: "user",
168
- regex: /users/,
213
+ const txnResult2 = {
214
+ get: jest.fn().mockResolvedValue({
215
+ data: jest.fn().mockReturnValue({
216
+ "userId": "userId",
217
+ "@dataVersion": "2.0.0",
218
+ "firstName": "John",
219
+ "lastName": "Doe",
220
+ }),
221
+ }),
222
+ };
223
+ beforeEach(() => {
224
+ jest.spyOn(indexUtils, "createMetricLogicDoc").mockResolvedValue();
225
+ jest.spyOn(admin.firestore(), "doc").mockReturnValue({
226
+ get: jest.fn().mockResolvedValue({
227
+ data: jest.fn().mockReturnValue({
228
+ "userId": "userId",
229
+ "@dataVersion": dataVersion,
230
+ }),
231
+ }),
232
+ });
233
+ jest.spyOn(paths, "findMatchingDocPathRegex").mockReturnValue({
234
+ entity: "user",
235
+ regex: /users/,
236
+ });
237
+ createMetricExecutionSpy = jest.spyOn(indexUtils._mockable, "createMetricExecution").mockResolvedValue();
238
+ queueRunViewLogicsSpy = jest.spyOn(viewLogics, "queueRunViewLogics").mockResolvedValue();
239
+ runTransactionSpy = jest.spyOn(index_1.db, "runTransaction")
240
+ .mockImplementationOnce(async (callback) => callback(txnResult1))
241
+ .mockImplementationOnce(async (callback) => callback(txnResult2));
242
+ distributeFnTransactionalSpy = jest.spyOn(indexUtils, "distributeFnTransactional")
243
+ .mockResolvedValueOnce([
244
+ {
245
+ action: "merge",
246
+ dstPath: "users/userId",
247
+ doc: {
248
+ "firstName": "John",
249
+ "lastName": "Doe",
250
+ "@dataVersion": "2.0.0",
251
+ },
252
+ },
253
+ ]).mockResolvedValueOnce([
254
+ {
255
+ action: "merge",
256
+ dstPath: "users/userId",
257
+ doc: {
258
+ "fullName": "John Doe",
259
+ "@dataVersion": "2.5.0",
260
+ },
261
+ },
262
+ ]);
169
263
  });
170
- it("should run the patch logics between dataVersion and appVersion then " +
171
- "update the version of the data", async () => {
264
+ afterEach(() => {
265
+ jest.restoreAllMocks();
266
+ });
267
+ it("should appropriately group the matched logics by version then run transactions for each group", async () => {
172
268
  const dstPath = "users/userId";
173
269
  (0, index_1.initializeEmberFlow)(projectConfig, admin, db_structure_1.dbStructure, db_structure_1.Entity, security_1.securityConfigs, validators_1.validatorConfigs, [], patchLogics);
174
- const result = await (0, patch_logics_1.runPatchLogics)(appVersion, dstPath, txn);
175
- // should run the appropriate logics
176
- expect(logicFn1).not.toHaveBeenCalled();
177
- expect(logicFn2).toHaveBeenCalled();
178
- expect(logicFn2Point5).toHaveBeenCalled();
179
- expect(logicFn3).not.toHaveBeenCalled();
180
- // should run the logics in the correct order
181
- expect(logicFn2.mock.invocationCallOrder[0])
182
- .toBeLessThan(logicFn2Point5.mock.invocationCallOrder[0]);
183
- // should update the data version
184
- expect(result).toEqual([
185
- {
270
+ await (0, patch_logics_1.runPatchLogics)(appVersion, dstPath);
271
+ expect(runTransactionSpy).toHaveBeenCalledTimes(2); // for version 2.0.0 and 2.5.0
272
+ });
273
+ it("should run all patch logics between dataVersion and appVersion", async () => {
274
+ const dstPath = "users/userId";
275
+ (0, index_1.initializeEmberFlow)(projectConfig, admin, db_structure_1.dbStructure, db_structure_1.Entity, security_1.securityConfigs, validators_1.validatorConfigs, [], patchLogics);
276
+ await (0, patch_logics_1.runPatchLogics)(appVersion, dstPath);
277
+ expect(userLogicFn1).not.toHaveBeenCalled(); // below data version
278
+ expect(userLogicFn2).toHaveBeenCalled();
279
+ expect(additionalUserLogicFn2).toHaveBeenCalled();
280
+ expect(userLogicFn2p5).toHaveBeenCalled();
281
+ expect(topicLogicFn1).not.toHaveBeenCalled(); // wrong entity
282
+ expect(userLogicFn3).not.toHaveBeenCalled(); // ahead the app version
283
+ });
284
+ it("should distribute all consolidated logic result docs", async () => {
285
+ const dstPath = "users/userId";
286
+ (0, index_1.initializeEmberFlow)(projectConfig, admin, db_structure_1.dbStructure, db_structure_1.Entity, security_1.securityConfigs, validators_1.validatorConfigs, [], patchLogics);
287
+ await (0, patch_logics_1.runPatchLogics)(appVersion, dstPath);
288
+ expect(distributeFnTransactionalSpy).toHaveBeenCalledTimes(2);
289
+ expect(distributeFnTransactionalSpy).toHaveBeenNthCalledWith(1, txnResult1, [
290
+ Object.assign(Object.assign({}, userLogicFn2Result), { documents: [Object.assign(Object.assign({}, userLogicFn2Result.documents[0]), { "doc": Object.assign(Object.assign({}, userLogicFn2Result.documents[0].doc), { "@dataVersion": "2.0.0" }) })], transactional: true, execTime: expect.any(Number) }),
291
+ Object.assign(Object.assign({}, additionalUserLogicFn2Result), { documents: [
292
+ Object.assign(Object.assign({}, additionalUserLogicFn2Result.documents[0]), { "doc": Object.assign(Object.assign({}, additionalUserLogicFn2Result.documents[0].doc), { "@dataVersion": "2.0.0" }) }),
293
+ ], transactional: true, execTime: expect.any(Number) }),
294
+ ]);
295
+ expect(distributeFnTransactionalSpy).toHaveBeenNthCalledWith(2, txnResult2, [
296
+ Object.assign(Object.assign({}, userLogicFn2p5Result), { documents: [Object.assign(Object.assign({}, userLogicFn2p5Result.documents[0]), { "doc": Object.assign(Object.assign({}, userLogicFn2p5Result.documents[0].doc), { "@dataVersion": "2.5.0" }) })], execTime: expect.any(Number), transactional: true }),
297
+ ]);
298
+ expect(queueRunViewLogicsSpy).toHaveBeenCalledTimes(2);
299
+ });
300
+ it("should run createMetricExecution per group patch", async () => {
301
+ const dstPath = "users/userId";
302
+ (0, index_1.initializeEmberFlow)(projectConfig, admin, db_structure_1.dbStructure, db_structure_1.Entity, security_1.securityConfigs, validators_1.validatorConfigs, [], patchLogics);
303
+ await (0, patch_logics_1.runPatchLogics)(appVersion, dstPath);
304
+ expect(createMetricExecutionSpy).toHaveBeenCalledTimes(2);
305
+ // version 2.0.0
306
+ expect(createMetricExecutionSpy).toHaveBeenNthCalledWith(1, [{
307
+ execTime: expect.any(Number),
186
308
  status: "finished",
187
- documents: [
188
- {
189
- "action": "merge",
190
- "doc": {
191
- "@dataVersion": "2.0.0",
192
- },
193
- "dstPath": "users/userId",
194
- },
195
- ],
309
+ timeFinished: expect.any(Timestamp),
310
+ documents: [{ "action": "merge", "doc": { "firstName": "John", "@dataVersion": "2.0.0" }, "dstPath": "users/userId" }],
311
+ transactional: true,
312
+ },
313
+ {
196
314
  execTime: expect.any(Number),
315
+ status: "finished",
197
316
  timeFinished: expect.any(Timestamp),
317
+ documents: [{ action: "merge", doc: { "lastName": "Doe", "@dataVersion": "2.0.0" }, dstPath: "users/userId" }],
318
+ transactional: true,
198
319
  },
199
320
  {
321
+ execTime: expect.any(Number),
200
322
  status: "finished",
201
- documents: [
202
- {
203
- "action": "merge",
204
- "doc": {
205
- "@dataVersion": "2.5.0",
206
- },
207
- "dstPath": "users/userId",
208
- },
209
- ],
323
+ name: "runPatchLogics",
324
+ documents: [],
325
+ },
326
+ ]);
327
+ // version 2.5.0
328
+ expect(createMetricExecutionSpy).toHaveBeenNthCalledWith(2, [{
210
329
  execTime: expect.any(Number),
330
+ status: "finished",
211
331
  timeFinished: expect.any(Timestamp),
332
+ documents: [{ action: "merge", doc: { "fullName": "John Doe", "@dataVersion": "2.5.0" }, dstPath: "users/userId" }],
333
+ transactional: true,
334
+ },
335
+ {
336
+ execTime: expect.any(Number),
337
+ status: "finished",
338
+ name: "runPatchLogics",
339
+ documents: [],
212
340
  },
213
341
  ]);
214
342
  });
@@ -216,85 +344,8 @@ describe("runPatchLogics", () => {
216
344
  describe("onMessageRunPatchLogicsQueue", () => {
217
345
  let isProcessedSpy;
218
346
  let trackProcessedIdsSpy;
219
- let queueRunViewLogicsSpy;
220
347
  let runPatchLogicsSpy;
221
- let runTransactionSpy;
222
- let expandConsolidateAndGroupByDstPathSpy;
223
- let distributeDocSpy;
224
348
  const dstPath = "users/userId";
225
- const patchLogicResult1 = {
226
- name: "logic1",
227
- status: "finished",
228
- documents: [
229
- {
230
- action: "merge",
231
- doc: { "@dataVersion": "2.0.0" },
232
- dstPath,
233
- },
234
- {
235
- action: "create",
236
- doc: {
237
- "@id": "userId",
238
- "firstName": "Maria",
239
- "lastName": "Doe",
240
- },
241
- dstPath: "users/userId/collaborators/collaboratorId",
242
- },
243
- ],
244
- };
245
- const patchLogicResult2 = {
246
- name: "logic2",
247
- status: "finished",
248
- documents: [
249
- {
250
- action: "merge",
251
- doc: {
252
- firstName: "john",
253
- lastName: "doe",
254
- },
255
- instructions: {
256
- fullName: "del",
257
- },
258
- dstPath,
259
- },
260
- {
261
- action: "merge",
262
- doc: { "@dataVersion": "2.5.0" },
263
- dstPath,
264
- },
265
- ],
266
- };
267
- const patchLogicResults = [patchLogicResult1, patchLogicResult2];
268
- const txnGet = jest.fn();
269
- const fakeTxn = {
270
- get: txnGet,
271
- };
272
- const expandConsolidateResult = new Map([
273
- ["users/doc1", [
274
- {
275
- action: "merge",
276
- priority: "normal",
277
- dstPath: "users/doc1",
278
- doc: {
279
- firstName: "john",
280
- lastName: "doe",
281
- },
282
- instructions: { field2: "--", field4: "--" },
283
- }
284
- ],
285
- ],
286
- ["users/userId/collaborators/collaboratorId", [
287
- {
288
- action: "create",
289
- doc: {
290
- "@id": "userId",
291
- "firstName": "Maria",
292
- "lastName": "Doe",
293
- },
294
- dstPath: "users/userId/collaborators/collaboratorId",
295
- }
296
- ]],
297
- ]);
298
349
  const targetVersion = "2.9.0";
299
350
  const event = {
300
351
  data: {
@@ -309,12 +360,7 @@ describe("onMessageRunPatchLogicsQueue", () => {
309
360
  beforeEach(() => {
310
361
  isProcessedSpy = jest.spyOn(pubsub_1.pubsubUtils, "isProcessed").mockResolvedValue(false);
311
362
  trackProcessedIdsSpy = jest.spyOn(pubsub_1.pubsubUtils, "trackProcessedIds").mockResolvedValue();
312
- queueRunViewLogicsSpy = jest.spyOn(viewLogics, "queueRunViewLogics").mockResolvedValue();
313
- runPatchLogicsSpy = jest.spyOn(patchLogics, "runPatchLogics").mockResolvedValue(patchLogicResults);
314
- runTransactionSpy = jest.spyOn(index_1.db, "runTransaction").mockImplementation(async (callback) => callback(fakeTxn));
315
- expandConsolidateAndGroupByDstPathSpy = jest.spyOn(indexUtils, "expandConsolidateAndGroupByDstPath")
316
- .mockResolvedValue(expandConsolidateResult);
317
- distributeDocSpy = jest.spyOn(indexUtils, "distributeDoc").mockResolvedValue();
363
+ runPatchLogicsSpy = jest.spyOn(patchLogics, "runPatchLogics").mockResolvedValue();
318
364
  });
319
365
  afterEach(() => {
320
366
  jest.restoreAllMocks();
@@ -327,19 +373,9 @@ describe("onMessageRunPatchLogicsQueue", () => {
327
373
  expect(console.log).toHaveBeenCalledWith("Skipping duplicate message");
328
374
  });
329
375
  it("should distribute patch logic result docs", async () => {
330
- var _a, _b;
331
- jest.spyOn(indexUtils._mockable, "createMetricExecution").mockResolvedValue();
332
376
  const result = await (0, patch_logics_1.onMessageRunPatchLogicsQueue)(event);
333
377
  expect(isProcessedSpy).toHaveBeenCalledWith(index_1.PATCH_LOGICS_TOPIC_NAME, event.id);
334
- expect(runTransactionSpy).toHaveBeenCalledTimes(1);
335
- expect(runPatchLogicsSpy).toHaveBeenCalledWith(targetVersion, dstPath, fakeTxn);
336
- const flattenedPatchLogicResults = patchLogicResults.flatMap((result) => result.documents);
337
- expect(expandConsolidateAndGroupByDstPathSpy).toHaveBeenCalledWith(flattenedPatchLogicResults);
338
- const consolidatedLogicResultDoc1 = (_a = expandConsolidateResult.get("users/doc1")) === null || _a === void 0 ? void 0 : _a[0];
339
- expect(distributeDocSpy).toHaveBeenNthCalledWith(1, consolidatedLogicResultDoc1, undefined, fakeTxn);
340
- const consolidatedLogicResultDoc2 = (_b = expandConsolidateResult.get("users/userId/collaborators/collaboratorId")) === null || _b === void 0 ? void 0 : _b[0];
341
- expect(distributeDocSpy).toHaveBeenNthCalledWith(2, consolidatedLogicResultDoc2, undefined, fakeTxn);
342
- expect(queueRunViewLogicsSpy).toHaveBeenCalledWith(targetVersion, consolidatedLogicResultDoc1, consolidatedLogicResultDoc2);
378
+ expect(runPatchLogicsSpy).toHaveBeenCalledWith(targetVersion, dstPath);
343
379
  expect(trackProcessedIdsSpy).toHaveBeenCalledWith(index_1.PATCH_LOGICS_TOPIC_NAME, event.id);
344
380
  expect(result).toEqual("Processed patch logics");
345
381
  });
@@ -1 +1 @@
1
- {"version":3,"file":"patch-logis.test.js","sourceRoot":"","sources":["../../../src/tests/logics/patch-logis.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"patch-logis.test.js","sourceRoot":"","sources":["../../../src/tests/logics/patch-logis.test.ts"],"names":[],"mappings":"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"}
@@ -4,19 +4,19 @@ const db_structure_1 = require("../../utils/db-structure");
4
4
  describe("view", () => {
5
5
  it("uses default version when not provided", () => {
6
6
  const result = (0, db_structure_1.view)("User", ["id", "name"], { syncCreate: true });
7
- expect(result).toBe("View:User@0.0.0:id,name:syncCreate=true");
7
+ expect(result).toBe("View@0.0.0:User:id,name:syncCreate=true");
8
8
  });
9
9
  it("uses provided version", () => {
10
10
  const result = (0, db_structure_1.view)("Order", ["id"], { syncCreate: false }, "1.2.3");
11
- expect(result).toBe("View:Order@1.2.3:id:syncCreate=false");
11
+ expect(result).toBe("View@1.2.3:Order:id:syncCreate=false");
12
12
  });
13
13
  it("should handle multiple options", () => {
14
14
  const result = (0, db_structure_1.view)("Order", ["id"], { syncCreate: true, type: "view-array" }, "1.2.3");
15
- expect(result).toBe("View:Order@1.2.3:id:syncCreate=true,type=view-array");
15
+ expect(result).toBe("View@1.2.3:Order:id:syncCreate=true,type=view-array");
16
16
  });
17
17
  it("should handle no options", () => {
18
18
  const result = (0, db_structure_1.view)("Product", ["sku", "price"], undefined, "1.0.0");
19
- expect(result).toBe("View:Product@1.0.0:sku,price:");
19
+ expect(result).toBe("View@1.0.0:Product:sku,price:");
20
20
  });
21
21
  });
22
22
  describe("propView", () => {
@@ -49,6 +49,35 @@ admin.initializeApp({
49
49
  jest.mock("../../utils/query", () => ({
50
50
  fetchIds: jest.fn(),
51
51
  }));
52
+ describe("findMatchingDocPathRegex", () => {
53
+ beforeEach(() => {
54
+ (0, index_1.initializeEmberFlow)(projectConfig, admin, db_structure_1.dbStructure, db_structure_1.Entity, [], [], [], []);
55
+ });
56
+ it("should return entity and regex for root level path", () => {
57
+ const path = "topics/topicId";
58
+ const res = (0, paths_1.findMatchingDocPathRegex)(path);
59
+ expect(res).toEqual({
60
+ entity: db_structure_1.Entity.Topic,
61
+ regex: /^topics\/([^/]+)$/,
62
+ });
63
+ });
64
+ it("should return entity and regex for second level path", () => {
65
+ const path = "topics/topicId/ingredients/ingredientId";
66
+ const res = (0, paths_1.findMatchingDocPathRegex)(path);
67
+ expect(res).toEqual({
68
+ entity: db_structure_1.Entity.RecipeIngredient,
69
+ regex: /^topics\/([^/]+)\/ingredients\/([^/]+)$/,
70
+ });
71
+ });
72
+ it("should return entity and regex for view document path", () => {
73
+ const path = "topics/topicId/menuItems/menuItemId/ingredients/ingredientId";
74
+ const res = (0, paths_1.findMatchingDocPathRegex)(path);
75
+ expect(res).toEqual({
76
+ entity: db_structure_1.Entity.MenuItemIngredient,
77
+ regex: /^topics\/([^/]+)\/menuItems\/([^/]+)\/ingredients\/([^/]+)$/,
78
+ });
79
+ });
80
+ });
52
81
  describe("hydrateDocPath", () => {
53
82
  beforeEach(() => {
54
83
  // Clear the mock before each test
@@ -1 +1 @@
1
- {"version":3,"file":"paths.test.js","sourceRoot":"","sources":["../../../src/tests/utils/paths.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paths.test.js","sourceRoot":"","sources":["../../../src/tests/utils/paths.test.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -40,7 +40,7 @@ export interface LogicResultDoc {
40
40
  skipEntityDuringRecursion?: string[];
41
41
  skipRunViewLogics?: boolean;
42
42
  }
43
- export interface SubmitFormDoc extends FormData {
43
+ export interface SubmitFormDoc extends Omit<FormData, "@docPath"> {
44
44
  "@appVersion": string;
45
45
  "@submitFormAs"?: string;
46
46
  }
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.propView = exports.view = void 0;
4
4
  function view(entity, props, options, version) {
5
5
  const optionStr = formOptionStr(options);
6
- return `View:${entity}@${version || "0.0.0"}:${props.join(",")}:${optionStr}`;
6
+ return `View@${version || "0.0.0"}:${entity}:${props.join(",")}:${optionStr}`;
7
7
  }
8
8
  exports.view = view;
9
9
  function propView(type, entity, props, options, version) {
@@ -13,9 +13,8 @@ function propView(type, entity, props, options, version) {
13
13
  }
14
14
  exports.propView = propView;
15
15
  function formOptionStr(options) {
16
- const optionStr = Object.entries(options || {})
16
+ return Object.entries(options || {})
17
17
  .map(([key, value]) => `${key}=${value}`)
18
18
  .join(",");
19
- return optionStr;
20
19
  }
21
20
  //# sourceMappingURL=db-structure.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"db-structure.js","sourceRoot":"","sources":["../../src/utils/db-structure.ts"],"names":[],"mappings":";;;AAEA,SAAS,IAAI,CAAC,MAAc,EAAE,KAAe,EAAE,OAA6B,EAAE,OAAgB;IAC5F,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEzC,OAAO,QAAQ,MAAM,IAAI,OAAO,IAAI,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC;AAChF,CAAC;AAkBO,oBAAI;AAhBZ,SAAS,QAAQ,CACf,IAAkB,EAAE,MAAc,EAAE,KAAe,EAAE,OAA6B,EAAE,OAAgB;IAEpG,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEzC,MAAM,QAAQ,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC;IAC7D,OAAO,GAAG,QAAQ,IAAI,OAAO,IAAI,OAAO,IAAI,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC;AACvF,CAAC;AASa,4BAAQ;AAPtB,SAAS,aAAa,CAAC,OAAwC;IAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;SAC5C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;SACxC,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"db-structure.js","sourceRoot":"","sources":["../../src/utils/db-structure.ts"],"names":[],"mappings":";;;AAEA,SAAS,IAAI,CAAC,MAAc,EAAE,KAAe,EAAE,OAA6B,EAAE,OAAgB;IAC5F,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEzC,OAAO,QAAQ,OAAO,IAAI,OAAO,IAAI,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC;AAChF,CAAC;AAiBO,oBAAI;AAfZ,SAAS,QAAQ,CACf,IAAkB,EAAE,MAAc,EAAE,KAAe,EAAE,OAA6B,EAAE,OAAgB;IAEpG,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEzC,MAAM,QAAQ,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC;IAC7D,OAAO,GAAG,QAAQ,IAAI,OAAO,IAAI,OAAO,IAAI,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC;AACvF,CAAC;AAQa,4BAAQ;AANtB,SAAS,aAAa,CAAC,OAAwC;IAC7D,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;SACjC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;SACxC,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "emberflow",
3
- "version": "1.4.33",
3
+ "version": "1.4.34",
4
4
  "description": "A Firebase Cloud Functions library for handling document changes in a structured way",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.js",
@@ -1,5 +1,5 @@
1
1
  // You should import from the path to the ember-flow package in your project
2
- import {view} from "../utils/db-structure";
2
+ import {propView, view} from "../utils/db-structure";
3
3
 
4
4
  export enum Entity {
5
5
  User = "user", // do not delete
@@ -29,21 +29,19 @@ export enum Entity {
29
29
  export const dbStructure = {
30
30
  servers: {
31
31
  [Entity.Server]: {
32
- createdBy: view(Entity.User, ["name", "email"]),
32
+ createdBy: propView("map", Entity.User, ["name", "email"]),
33
33
  channels: {
34
34
  [Entity.Channel]: {
35
- "createdBy": view(Entity.User, ["name", "email"]),
35
+ "createdBy": propView("map", Entity.User, ["name", "email"]),
36
36
  "members": {
37
- [view(Entity.User, ["name"])]: {},
37
+ [propView("array-map", Entity.User, ["name"])]: {},
38
38
  },
39
39
  },
40
40
  },
41
41
  members: {
42
- [Entity.Member]: {
43
- [view(Entity.User, ["name"])]: {},
44
- },
42
+ [Entity.Member]: [view(Entity.User, ["name"])],
45
43
  },
46
- followers: [view(Entity.User, ["name", "email"])],
44
+ followers: [propView("array-map", Entity.User, ["name", "email"])],
47
45
  },
48
46
  },
49
47
  topics: {
@@ -53,31 +51,39 @@ export const dbStructure = {
53
51
  },
54
52
  menuItems: {
55
53
  [Entity.MenuItem]: {
56
- recipe: view(Entity.Topic, []),
54
+ recipe: [
55
+ propView("map", Entity.Topic, [], {}, "0.0.1"),
56
+ propView("array-map", Entity.Topic, [], {}, "0.0.2"),
57
+ view(Entity.Topic, [], {}, "0.0.3"),
58
+ view(Entity.Server, [], {}, "0.0.4"),
59
+ ],
57
60
  ingredients: {
58
- [Entity.MenuItemIngredient]: {
59
- [view(Entity.RecipeIngredient, [], {syncCreate: true})]: {},
60
- },
61
+ [Entity.MenuItemIngredient]: [
62
+ view(Entity.RecipeIngredient, [], {syncCreate: true}, "0.0.1"),
63
+ propView("map", Entity.RecipeIngredient, [], {syncCreate: true}, "0.0.2"),
64
+ propView("array-map", Entity.RecipeIngredient, [], {syncCreate: true}, "0.0.3"),
65
+ view(Entity.Topic, [], {syncCreate: true}, "0.0.4"),
66
+ ],
61
67
  },
62
68
  },
63
69
  },
64
- createdBy: view(Entity.User, ["name", "email"]),
70
+ createdBy: [propView("map", Entity.User, ["name", "email"])],
65
71
  orders: {
66
72
  [Entity.Order]: {
67
- createdBy: view(Entity.User, ["name", "email"]),
73
+ createdBy: [propView("map", Entity.User, ["name", "email"])],
68
74
  menus: {
69
75
  [Entity.OrderMenuItem]: {
70
- createdBy: view(Entity.User, ["name", "email"]),
76
+ createdBy: [propView("map", Entity.User, ["name", "email"])],
71
77
  },
72
78
  },
73
79
  },
74
80
  },
75
81
  prepAreas: {
76
82
  [Entity.PrepArea]: {
77
- "createdBy": view(Entity.User, ["name", "email"]),
83
+ "createdBy": [propView("map", Entity.User, ["name", "email"])],
78
84
  "menus": {
79
85
  [Entity.PrepAreaMenuItem]: {
80
- createdBy: view(Entity.User, ["name", "email"]),
86
+ createdBy: [propView("map", Entity.User, ["name", "email"])],
81
87
  },
82
88
  },
83
89
  },
@@ -88,7 +94,7 @@ export const dbStructure = {
88
94
  [Entity.User]: {
89
95
  feeds: {
90
96
  [Entity.Feed]: {
91
- createdBy: view(Entity.User, ["name", "email"]),
97
+ createdBy: [propView("map", Entity.User, ["name", "email"])],
92
98
  },
93
99
  },
94
100
  friends: {