@stoker-platform/cli 0.5.20 → 0.5.22

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.
@@ -0,0 +1,4 @@
1
+ {
2
+ "indexes": [],
3
+ "fieldOverrides": []
4
+ }
@@ -39,6 +39,7 @@ import {defineSecret} from "firebase-functions/params";
39
39
  import {readFileSync} from "fs";
40
40
  import {
41
41
  getPathCollections,
42
+ roleHasOperationAccess,
42
43
  } from "@stoker-platform/utils";
43
44
  import {
44
45
  CollectionSchema,
@@ -202,10 +203,12 @@ Object.values(schema.collections).forEach((collectionSchema) => {
202
203
  });
203
204
  }
204
205
 
206
+ const readRoles = schema.config.roles.filter((role) =>
207
+ roleHasOperationAccess(collectionSchema, role, "read"));
205
208
  if (
206
209
  collectionSchema.fullTextSearch &&
207
210
  process.env.STOKER_ALGOLIA_ID &&
208
- !schema.config.roles.every((role) =>
211
+ !readRoles.every((role) =>
209
212
  collectionSchema.preloadCache?.roles.includes(role) ||
210
213
  collectionSchema.access.serverReadOnly?.includes(role)
211
214
  )) {
package/lib/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stoker-platform/cli",
3
- "version": "0.5.20",
3
+ "version": "0.5.22",
4
4
  "type": "module",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "main": "./lib/src/main.js",
@@ -24,7 +24,7 @@
24
24
  "@google-cloud/secret-manager": "^6.1.1",
25
25
  "@google-cloud/storage": "^7.18.0",
26
26
  "@inquirer/prompts": "^8.1.0",
27
- "@stoker-platform/node-client": "0.5.13",
27
+ "@stoker-platform/node-client": "0.5.14",
28
28
  "@stoker-platform/types": "0.5.5",
29
29
  "@stoker-platform/utils": "0.5.8",
30
30
  "algoliasearch": "^5.46.2",
@@ -2,7 +2,7 @@ import { generateSchema } from "../schema/generateSchema.js";
2
2
  import { lintSchema } from "../../lint/lintSchema.js";
3
3
  import { fileURLToPath } from "url";
4
4
  import { dirname, resolve } from "path";
5
- import { writeFileSync } from "fs";
5
+ import { existsSync, readFileSync, writeFileSync } from "fs";
6
6
  export const generateFirestoreIndexes = async () => {
7
7
  if (!process.env.URL_FIRESTORE_INDEXES) {
8
8
  throw new Error("STOKER_FIRESTORE_INDEXES_URL is not set");
@@ -19,5 +19,12 @@ export const generateFirestoreIndexes = async () => {
19
19
  method: "POST",
20
20
  });
21
21
  const indexes = await indexesResponse.json();
22
+ const customIndexesPath = resolve(__dirname, process.cwd(), "firebase-rules", "firestore.custom.indexes.json");
23
+ if (existsSync(customIndexesPath)) {
24
+ const customIndexesString = readFileSync(resolve(__dirname, process.cwd(), "firebase-rules", "firestore.custom.indexes.json"), "utf8");
25
+ const customIndexes = JSON.parse(customIndexesString);
26
+ indexes.indexes = [...indexes.indexes, ...customIndexes.indexes];
27
+ indexes.fieldOverrides = [...indexes.fieldOverrides, ...customIndexes.fieldOverrides];
28
+ }
22
29
  writeFileSync(resolve(__dirname, process.cwd(), "firebase-rules", "firestore.indexes.json"), JSON.stringify(indexes, null, 4));
23
30
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stoker-platform/cli",
3
- "version": "0.5.20",
3
+ "version": "0.5.22",
4
4
  "type": "module",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "main": "./lib/src/main.js",
@@ -24,7 +24,7 @@
24
24
  "@google-cloud/secret-manager": "^6.1.1",
25
25
  "@google-cloud/storage": "^7.18.0",
26
26
  "@inquirer/prompts": "^8.1.0",
27
- "@stoker-platform/node-client": "0.5.13",
27
+ "@stoker-platform/node-client": "0.5.14",
28
28
  "@stoker-platform/types": "0.5.5",
29
29
  "@stoker-platform/utils": "0.5.8",
30
30
  "algoliasearch": "^5.46.2",