@stoker-platform/system-functions 0.2.12 → 0.5.2
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.
- package/lib/autoIncrement.js +13 -1
- package/lib/autoIncrement.js.map +1 -1
- package/lib/chatFlow.js +29 -8
- package/lib/chatFlow.js.map +1 -1
- package/lib/customToken.js +2 -1
- package/lib/customToken.js.map +1 -1
- package/lib/deleteFiles.js +2 -1
- package/lib/deleteFiles.js.map +1 -1
- package/lib/deleteFolder.js +5 -4
- package/lib/deleteFolder.js.map +1 -1
- package/lib/deleteTrash.js +28 -20
- package/lib/deleteTrash.js.map +1 -1
- package/lib/fullTextSearch.js +3 -5
- package/lib/fullTextSearch.js.map +1 -1
- package/lib/getFiles.js +5 -4
- package/lib/getFiles.js.map +1 -1
- package/lib/getSchema.js +4 -3
- package/lib/getSchema.js.map +1 -1
- package/lib/getWriteLog.js +4 -3
- package/lib/getWriteLog.js.map +1 -1
- package/lib/messageNotifications.d.ts +1 -0
- package/lib/messageNotifications.js +2 -1
- package/lib/messageNotifications.js.map +1 -1
- package/lib/readApi.js +3 -2
- package/lib/readApi.js.map +1 -1
- package/lib/removeRelations.js +24 -8
- package/lib/removeRelations.js.map +1 -1
- package/lib/revokeMfa.js +1 -1
- package/lib/revokeMfa.js.map +1 -1
- package/lib/searchResults.js +3 -5
- package/lib/searchResults.js.map +1 -1
- package/lib/uniqueDelete.js +2 -1
- package/lib/uniqueDelete.js.map +1 -1
- package/lib/updateIncludeFields.js +9 -2
- package/lib/updateIncludeFields.js.map +1 -1
- package/lib/validateDenormalized.js +5 -0
- package/lib/validateDenormalized.js.map +1 -1
- package/lib/validateFields.js +3 -5
- package/lib/validateFields.js.map +1 -1
- package/lib/validateRelations.js +45 -14
- package/lib/validateRelations.js.map +1 -1
- package/lib/validateUser.js +24 -8
- package/lib/validateUser.js.map +1 -1
- package/lib/verifyWriteLog.js +1 -5
- package/lib/verifyWriteLog.js.map +1 -1
- package/lib/writeApi.js +3 -2
- package/lib/writeApi.js.map +1 -1
- package/lib/writeEmbedding.js +3 -2
- package/lib/writeEmbedding.js.map +1 -1
- package/package.json +4 -4
package/lib/validateRelations.js
CHANGED
|
@@ -6,6 +6,7 @@ import { getFirestorePathRef } from "@stoker-platform/node-client";
|
|
|
6
6
|
/* eslint-disable max-len */
|
|
7
7
|
export const validateRelations = (event, collection, schema) => {
|
|
8
8
|
return (async () => {
|
|
9
|
+
const tenantId = event.params.tenantId;
|
|
9
10
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
10
11
|
const snapshot = event.data;
|
|
11
12
|
const before = snapshot.before.data();
|
|
@@ -46,7 +47,10 @@ export const validateRelations = (event, collection, schema) => {
|
|
|
46
47
|
[`${field.name}_Single`]: FieldValue.delete(),
|
|
47
48
|
});
|
|
48
49
|
if (isDependencyField(field, collection, schema)) {
|
|
49
|
-
transaction.update(db
|
|
50
|
+
transaction.update(db
|
|
51
|
+
.collection("tenants")
|
|
52
|
+
.doc(tenantId)
|
|
53
|
+
.collection("system_fields")
|
|
50
54
|
.doc(labels.collection)
|
|
51
55
|
.collection(`${labels.collection}-${field.name}`)
|
|
52
56
|
.doc(docId), {
|
|
@@ -58,7 +62,10 @@ export const validateRelations = (event, collection, schema) => {
|
|
|
58
62
|
if (isDependencyField(collectionField, collection, schema)) {
|
|
59
63
|
const dependencyIndexFields = JSON.parse(getFieldNames(getDependencyIndexFields(collectionField, collection, schema)));
|
|
60
64
|
if (dependencyIndexFields.includes(field.name)) {
|
|
61
|
-
transaction.update(db.
|
|
65
|
+
transaction.update(db.
|
|
66
|
+
collection("tenants")
|
|
67
|
+
.doc(tenantId)
|
|
68
|
+
.collection("system_fields")
|
|
62
69
|
.doc(labels.collection)
|
|
63
70
|
.collection(`${labels.collection}-${collectionField.name}`)
|
|
64
71
|
.doc(docId), {
|
|
@@ -70,7 +77,10 @@ export const validateRelations = (event, collection, schema) => {
|
|
|
70
77
|
const roleGroups = getRoleGroups(collection, schema);
|
|
71
78
|
roleGroups.forEach((roleGroup) => {
|
|
72
79
|
if (roleGroup.fields.some((groupField) => groupField.name === field.name)) {
|
|
73
|
-
transaction.update(db
|
|
80
|
+
transaction.update(db
|
|
81
|
+
.collection("tenants")
|
|
82
|
+
.doc(tenantId)
|
|
83
|
+
.collection("system_fields")
|
|
74
84
|
.doc(labels.collection)
|
|
75
85
|
.collection(`${labels.collection}-${roleGroup.key}`)
|
|
76
86
|
.doc(docId), {
|
|
@@ -89,7 +99,10 @@ export const validateRelations = (event, collection, schema) => {
|
|
|
89
99
|
[`${field.name}_Single`]: FieldValue.delete(),
|
|
90
100
|
});
|
|
91
101
|
if (isDependencyField(field, sourceSchema, schema)) {
|
|
92
|
-
transaction.update(db
|
|
102
|
+
transaction.update(db
|
|
103
|
+
.collection("tenants")
|
|
104
|
+
.doc(tenantId)
|
|
105
|
+
.collection("system_fields")
|
|
93
106
|
.doc(sourceSchema.labels.collection)
|
|
94
107
|
.collection(`${sourceSchema.labels.collection}-${field.name}`)
|
|
95
108
|
.doc(docId), {
|
|
@@ -101,7 +114,10 @@ export const validateRelations = (event, collection, schema) => {
|
|
|
101
114
|
if (isDependencyField(collectionField, sourceSchema, schema)) {
|
|
102
115
|
const sourceDependencyIndexFields = JSON.parse(getFieldNames(getDependencyIndexFields(collectionField, sourceSchema, schema)));
|
|
103
116
|
if (sourceDependencyIndexFields.includes(field.name)) {
|
|
104
|
-
transaction.update(db
|
|
117
|
+
transaction.update(db
|
|
118
|
+
.collection("tenants")
|
|
119
|
+
.doc(tenantId)
|
|
120
|
+
.collection("system_fields")
|
|
105
121
|
.doc(sourceSchema.labels.collection)
|
|
106
122
|
.collection(`${sourceSchema.labels.collection}-${collectionField.name}`)
|
|
107
123
|
.doc(docId), {
|
|
@@ -113,7 +129,10 @@ export const validateRelations = (event, collection, schema) => {
|
|
|
113
129
|
const roleGroups = getRoleGroups(sourceSchema, schema);
|
|
114
130
|
roleGroups.forEach((roleGroup) => {
|
|
115
131
|
if (roleGroup.fields.includes(field)) {
|
|
116
|
-
transaction.update(db
|
|
132
|
+
transaction.update(db
|
|
133
|
+
.collection("tenants")
|
|
134
|
+
.doc(tenantId)
|
|
135
|
+
.collection("system_fields")
|
|
117
136
|
.doc(sourceSchema.labels.collection)
|
|
118
137
|
.collection(`${sourceSchema.labels.collection}-${roleGroup.key}`)
|
|
119
138
|
.doc(docId), {
|
|
@@ -134,7 +153,10 @@ export const validateRelations = (event, collection, schema) => {
|
|
|
134
153
|
}
|
|
135
154
|
transaction.update(ref.doc(docId), mainUpdate);
|
|
136
155
|
if (isDependencyField(field, sourceSchema, schema)) {
|
|
137
|
-
transaction.update(db
|
|
156
|
+
transaction.update(db
|
|
157
|
+
.collection("tenants")
|
|
158
|
+
.doc(tenantId)
|
|
159
|
+
.collection("system_fields")
|
|
138
160
|
.doc(sourceSchema.labels.collection)
|
|
139
161
|
.collection(`${sourceSchema.labels.collection}-${field.name}`)
|
|
140
162
|
.doc(docId), {
|
|
@@ -150,7 +172,10 @@ export const validateRelations = (event, collection, schema) => {
|
|
|
150
172
|
if (singleRelationFields.size === 1) {
|
|
151
173
|
roleGroupUpdate[`${field.name}_Single.deleted`] = true;
|
|
152
174
|
}
|
|
153
|
-
transaction.update(db.
|
|
175
|
+
transaction.update(db.
|
|
176
|
+
collection("tenants")
|
|
177
|
+
.doc(tenantId)
|
|
178
|
+
.collection("system_fields")
|
|
154
179
|
.doc(sourceSchema.labels.collection)
|
|
155
180
|
.collection(`${sourceSchema.labels.collection}-${roleGroup.key}`)
|
|
156
181
|
.doc(docId), roleGroupUpdate);
|
|
@@ -233,7 +258,7 @@ export const validateRelations = (event, collection, schema) => {
|
|
|
233
258
|
}
|
|
234
259
|
if (!collectionPath)
|
|
235
260
|
return;
|
|
236
|
-
const ref = getFirestorePathRef(db, collectionPath);
|
|
261
|
+
const ref = getFirestorePathRef(db, collectionPath, tenantId);
|
|
237
262
|
const sourceRef = await transaction.get(ref.doc(id));
|
|
238
263
|
const source = sourceRef.data();
|
|
239
264
|
if (!source && !field.preserve) {
|
|
@@ -243,7 +268,7 @@ export const validateRelations = (event, collection, schema) => {
|
|
|
243
268
|
}
|
|
244
269
|
// eslint-disable-next-line security/detect-object-injection
|
|
245
270
|
if (!before?.[field.name]?.[id] && after.Last_Write_By !== "System" && source && ref && !field.writeAny) {
|
|
246
|
-
const permissions = await transaction.get(db.collection("system_user_permissions").doc(after.Last_Write_By));
|
|
271
|
+
const permissions = await transaction.get(db.collection("tenants").doc(tenantId).collection("system_user_permissions").doc(after.Last_Write_By));
|
|
247
272
|
if (!permissions.exists || !(documentAccess("Read", relationCollection, schema, after.Last_Write_By, permissions.data(), source) || dependencyAccess(relationCollection, schema, after.Last_Write_By, permissions.data(), source))) {
|
|
248
273
|
deleteMainRelation(field, snapshot.after.id, id, transaction);
|
|
249
274
|
if (field.twoWay) {
|
|
@@ -338,7 +363,10 @@ export const validateRelations = (event, collection, schema) => {
|
|
|
338
363
|
}
|
|
339
364
|
if (Object.keys(fieldUpdate).length > 0) {
|
|
340
365
|
if (isDependencyField(field, collection, schema)) {
|
|
341
|
-
transaction.update(db
|
|
366
|
+
transaction.update(db
|
|
367
|
+
.collection("tenants")
|
|
368
|
+
.doc(tenantId)
|
|
369
|
+
.collection("system_fields")
|
|
342
370
|
.doc(labels.collection)
|
|
343
371
|
.collection(`${labels.collection}-${field.name}`)
|
|
344
372
|
.doc(snapshot.after.id), fieldUpdate);
|
|
@@ -348,7 +376,10 @@ export const validateRelations = (event, collection, schema) => {
|
|
|
348
376
|
const roleGroups = getRoleGroups(collection, schema);
|
|
349
377
|
roleGroups.forEach((roleGroup) => {
|
|
350
378
|
if (roleGroup.fields.some((groupField) => groupField.name === field.name)) {
|
|
351
|
-
transaction.update(db
|
|
379
|
+
transaction.update(db
|
|
380
|
+
.collection("tenants")
|
|
381
|
+
.doc(tenantId)
|
|
382
|
+
.collection("system_fields")
|
|
352
383
|
.doc(labels.collection)
|
|
353
384
|
.collection(`${labels.collection}-${roleGroup.key}`)
|
|
354
385
|
.doc(snapshot.after.id), fieldUpdateWithSingle);
|
|
@@ -376,7 +407,7 @@ export const validateRelations = (event, collection, schema) => {
|
|
|
376
407
|
else {
|
|
377
408
|
relation.Collection_Path = sourceDoc?.Collection_Path;
|
|
378
409
|
}
|
|
379
|
-
const ref = getFirestorePathRef(db, relation.Collection_Path);
|
|
410
|
+
const ref = getFirestorePathRef(db, relation.Collection_Path, tenantId);
|
|
380
411
|
const sourceRef = await transaction.get(ref.doc(id));
|
|
381
412
|
const source = sourceRef.data();
|
|
382
413
|
if (!source) {
|
|
@@ -412,7 +443,7 @@ export const validateRelations = (event, collection, schema) => {
|
|
|
412
443
|
else {
|
|
413
444
|
relation.Collection_Path = sourceDoc?.Collection_Path;
|
|
414
445
|
}
|
|
415
|
-
const ref = getFirestorePathRef(db, relation.Collection_Path);
|
|
446
|
+
const ref = getFirestorePathRef(db, relation.Collection_Path, tenantId);
|
|
416
447
|
const sourceRef = await transaction.get(ref.doc(id));
|
|
417
448
|
const source = sourceRef.data();
|
|
418
449
|
if (!source) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateRelations.js","sourceRoot":"","sources":["../src/validateRelations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validateRelations.js","sourceRoot":"","sources":["../src/validateRelations.ts"],"names":[],"mappings":"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"}
|
package/lib/validateUser.js
CHANGED
|
@@ -5,7 +5,7 @@ export const validateUser = async (user) => {
|
|
|
5
5
|
return (async () => {
|
|
6
6
|
const auth = getAuth();
|
|
7
7
|
const db = getFirestore();
|
|
8
|
-
const deleteUser = async () => {
|
|
8
|
+
const deleteUser = async (tenantId) => {
|
|
9
9
|
try {
|
|
10
10
|
await auth.deleteUser(user.uid);
|
|
11
11
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -16,9 +16,16 @@ export const validateUser = async (user) => {
|
|
|
16
16
|
}
|
|
17
17
|
errorLogger(error);
|
|
18
18
|
}
|
|
19
|
+
if (!tenantId) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
19
22
|
try {
|
|
20
|
-
await db
|
|
21
|
-
.
|
|
23
|
+
await db
|
|
24
|
+
.collection("tenants")
|
|
25
|
+
.doc(tenantId)
|
|
26
|
+
.collection("system_user_permissions")
|
|
27
|
+
.doc(user.uid)
|
|
28
|
+
.delete();
|
|
22
29
|
}
|
|
23
30
|
catch (error) {
|
|
24
31
|
errorLogger(error);
|
|
@@ -40,21 +47,30 @@ export const validateUser = async (user) => {
|
|
|
40
47
|
return;
|
|
41
48
|
}
|
|
42
49
|
const claims = latestUser.customClaims;
|
|
43
|
-
if (!claims?.collection) {
|
|
50
|
+
if (!claims?.tenant || !claims?.collection) {
|
|
44
51
|
await deleteUser();
|
|
45
52
|
return;
|
|
46
53
|
}
|
|
47
|
-
const permissionsSnapshot = await db
|
|
54
|
+
const permissionsSnapshot = await db
|
|
55
|
+
.collection("tenants")
|
|
56
|
+
.doc(claims.tenant)
|
|
57
|
+
.collection("system_user_permissions")
|
|
58
|
+
.doc(user.uid)
|
|
59
|
+
.get();
|
|
48
60
|
if (!permissionsSnapshot.exists) {
|
|
49
61
|
await deleteUser();
|
|
50
62
|
return;
|
|
51
63
|
}
|
|
52
64
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
53
65
|
const permissions = permissionsSnapshot.data();
|
|
54
|
-
const snapshot = await db
|
|
55
|
-
.
|
|
66
|
+
const snapshot = await db
|
|
67
|
+
.collection("tenants")
|
|
68
|
+
.doc(claims.tenant)
|
|
69
|
+
.collection(claims.collection)
|
|
70
|
+
.doc(permissions.Doc_ID)
|
|
71
|
+
.get();
|
|
56
72
|
if (!snapshot.exists) {
|
|
57
|
-
await deleteUser();
|
|
73
|
+
await deleteUser(claims.tenant);
|
|
58
74
|
return;
|
|
59
75
|
}
|
|
60
76
|
return;
|
package/lib/validateUser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateUser.js","sourceRoot":"","sources":["../src/validateUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAa,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAC,KAAK,IAAI,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAE/D,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC7B,IAAgB,EAClB,EAAE;IACA,OAAO,CAAC,KAAK,IAAI,EAAE;QACf,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;QAE1B,MAAM,UAAU,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"validateUser.js","sourceRoot":"","sources":["../src/validateUser.ts"],"names":[],"mappings":"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"}
|
package/lib/verifyWriteLog.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { error as errorLogger } from "firebase-functions/logger";
|
|
2
|
-
import { getFirestore, } from "firebase-admin/firestore";
|
|
3
|
-
import { getFirestorePathRef } from "@stoker-platform/node-client";
|
|
4
2
|
/* eslint-disable max-len */
|
|
5
3
|
export const verifyWriteLog = (event, collection) => {
|
|
6
4
|
return (async () => {
|
|
@@ -8,7 +6,6 @@ export const verifyWriteLog = (event, collection) => {
|
|
|
8
6
|
const snapshot = event.data;
|
|
9
7
|
const before = snapshot.before.data();
|
|
10
8
|
const after = snapshot.after.data();
|
|
11
|
-
const db = getFirestore();
|
|
12
9
|
const { labels } = collection;
|
|
13
10
|
let data;
|
|
14
11
|
let originalRecord;
|
|
@@ -59,8 +56,7 @@ export const verifyWriteLog = (event, collection) => {
|
|
|
59
56
|
await new Promise((resolve) => {
|
|
60
57
|
setTimeout(resolve, 1000);
|
|
61
58
|
});
|
|
62
|
-
|
|
63
|
-
await ref.doc(snapshot.after.id).collection("system_write_log")
|
|
59
|
+
await snapshot.after.ref.collection("system_write_log")
|
|
64
60
|
.doc(`${data.Last_Write_By}-${data.Last_Write_At.valueOf()}`)
|
|
65
61
|
.set(log, { mergeFields: [
|
|
66
62
|
...Object.keys(log).filter((key) => key !== "data"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifyWriteLog.js","sourceRoot":"","sources":["../src/verifyWriteLog.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,IAAI,WAAW,EAAC,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"verifyWriteLog.js","sourceRoot":"","sources":["../src/verifyWriteLog.ts"],"names":[],"mappings":"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"}
|
package/lib/writeApi.js
CHANGED
|
@@ -8,9 +8,10 @@ export const writeApi = async (request,
|
|
|
8
8
|
secrets = {}) => {
|
|
9
9
|
const user = request.auth?.uid;
|
|
10
10
|
const token = request.auth?.token;
|
|
11
|
-
if (!(token?.collection && token?.role && token?.doc)) {
|
|
11
|
+
if (!(token?.tenant && token?.collection && token?.role && token?.doc)) {
|
|
12
12
|
throw new HttpsError("permission-denied", "User does not have permission to access this database");
|
|
13
13
|
}
|
|
14
|
+
const tenantId = token?.tenant;
|
|
14
15
|
const secretValues = {};
|
|
15
16
|
for (const [key, secret] of Object.entries(secrets)) {
|
|
16
17
|
// eslint-disable-next-line security/detect-object-injection
|
|
@@ -70,7 +71,7 @@ secrets = {}) => {
|
|
|
70
71
|
if (operation === "delete" && !id) {
|
|
71
72
|
throw new HttpsError("invalid-argument", "ID is required for delete operation");
|
|
72
73
|
}
|
|
73
|
-
await initializeStoker("production", join(process.cwd(), "lib", "system-custom", "main.js"), join(process.cwd(), "lib", "system-custom", "collections"), true);
|
|
74
|
+
await initializeStoker("production", tenantId, join(process.cwd(), "lib", "system-custom", "main.js"), join(process.cwd(), "lib", "system-custom", "collections"), true);
|
|
74
75
|
try {
|
|
75
76
|
if (operation === "create") {
|
|
76
77
|
const result = await addRecord(path, record, userData, user, undefined, { secrets: secretValues, user }, id).catch((error) => {
|
package/lib/writeApi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeApi.js","sourceRoot":"","sources":["../src/writeApi.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,YAAY,GACf,MAAM,8BAA8B,CAAC;AAItC,OAAO,EAAkB,UAAU,EAAC,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAC,IAAI,EAAC,MAAM,MAAM,CAAC;AAC1B,OAAO,EACH,KAAK,IAAI,WAAW,EACpB,IAAI,GACP,MAAM,2BAA2B,CAAC;AAEnC,4BAA4B;AAE5B,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EACzB,OAAwB;AACxB,8DAA8D;AAC9D,UAA+B,EAAE,EACnC,EAAE;IACA,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;IAClC,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"writeApi.js","sourceRoot":"","sources":["../src/writeApi.ts"],"names":[],"mappings":"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"}
|
package/lib/writeEmbedding.js
CHANGED
|
@@ -11,12 +11,13 @@ const ai = genkit({
|
|
|
11
11
|
});
|
|
12
12
|
export const writeEmbedding = (event, collectionSchema, schema) => {
|
|
13
13
|
return (async () => {
|
|
14
|
+
const tenantId = event.params.tenantId;
|
|
14
15
|
const { labels, ai: aiConfig, softDelete } = collectionSchema;
|
|
15
16
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
16
17
|
const snapshot = event.data;
|
|
17
18
|
const after = snapshot.after.data();
|
|
18
19
|
if (after && aiConfig?.embedding) {
|
|
19
|
-
const { getCustomizationFile } = await initializeStoker("production", join(process.cwd(), "lib", "system-custom", "main.js"), join(process.cwd(), "lib", "system-custom", "collections"), true);
|
|
20
|
+
const { getCustomizationFile } = await initializeStoker("production", tenantId, join(process.cwd(), "lib", "system-custom", "main.js"), join(process.cwd(), "lib", "system-custom", "collections"), true);
|
|
20
21
|
const customization = getCustomizationFile(labels.collection, schema);
|
|
21
22
|
// eslint-disable-next-line security/detect-object-injection
|
|
22
23
|
const db = getFirestore();
|
|
@@ -39,7 +40,7 @@ export const writeEmbedding = (event, collectionSchema, schema) => {
|
|
|
39
40
|
if (softDelete) {
|
|
40
41
|
doc[softDelete.archivedField] = record[softDelete.archivedField];
|
|
41
42
|
}
|
|
42
|
-
transaction.set(db.collection(`system_embeddings_${labels.collection}`).doc(snapshot.after.id), doc);
|
|
43
|
+
transaction.set(db.collection("tenants").doc(tenantId).collection(`system_embeddings_${labels.collection}`).doc(snapshot.after.id), doc);
|
|
43
44
|
}, { maxAttempts: 20 }).catch((error) => {
|
|
44
45
|
errorLogger(error);
|
|
45
46
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeEmbedding.js","sourceRoot":"","sources":["../src/writeEmbedding.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,IAAI,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAM/D,OAAO,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAC,gBAAgB,EAAE,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAC,IAAI,EAAC,MAAM,MAAM,CAAC;AAE1B,4BAA4B;AAE5B,MAAM,EAAE,GAAG,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC1B,KAC4B,EAC5B,gBAAkC,EAClC,MAAyB,EAC3B,EAAE;IACA,OAAO,CAAC,KAAK,IAAI,EAAE;QACf,MAAM,EAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAC,GAAG,gBAAgB,CAAC;QAC5D,oEAAoE;QACpE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAK,CAAC;QAE7B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAA8B,CAAC;QAEhE,IAAI,KAAK,IAAI,QAAQ,EAAE,SAAS,EAAE,CAAC;YAC/B,MAAM,EAAC,oBAAoB,EAAC,GAAG,MAAM,gBAAgB,CACjD,YAAY,EACZ,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,CAAC,EACtD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,aAAa,CAAC,EAC1D,IAAI,CACP,CAAC;YACF,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACtE,4DAA4D;YAC5D,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;YAC1B,MAAM,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;gBAC1C,IAAI,CAAC,QAAQ,EAAE,SAAS;oBAAE,OAAO;gBACjC,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAkB,CAAC;gBAC1C,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY;oBAAE,OAAO;gBAChD,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7E,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;oBAC9B,QAAQ,EAAE,gBAAgB;oBAC1B,OAAO,EAAE,KAAK;iBACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACjB,MAAM,GAAG,GAA4B;oBACjC,KAAK;oBACL,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC;iBACvC,CAAC;gBACF,IAAI,UAAU,EAAE,CAAC;oBACb,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;gBACrE,CAAC;gBACD,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,qBAAqB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"writeEmbedding.js","sourceRoot":"","sources":["../src/writeEmbedding.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stoker-platform/system-functions",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.2
|
|
4
|
+
"version": "0.5.2",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"main": "lib/main.js",
|
|
7
7
|
"types": "lib/main.d.ts",
|
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
"@genkit-ai/firebase": "^1.25.0",
|
|
20
20
|
"@genkit-ai/vertexai": "^1.25.0",
|
|
21
21
|
"@google-cloud/storage": "^7.18.0",
|
|
22
|
-
"@stoker-platform/node-client": "0.2
|
|
23
|
-
"@stoker-platform/types": "0.2
|
|
24
|
-
"@stoker-platform/utils": "0.2
|
|
22
|
+
"@stoker-platform/node-client": "0.5.2",
|
|
23
|
+
"@stoker-platform/types": "0.5.2",
|
|
24
|
+
"@stoker-platform/utils": "0.5.2",
|
|
25
25
|
"dotenv": "^17.2.3",
|
|
26
26
|
"firebase-admin": "^13.6.0",
|
|
27
27
|
"firebase-functions": "^6.6.0",
|