emberflow 1.4.98 → 1.5.0

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/README.md CHANGED
@@ -1,40 +1,145 @@
1
1
  # Emberflow
2
2
 
3
- Emberflow is a library for Firebase Functions that simplifies the process of setting up security, validation, and business logic.
3
+ Emberflow is a library for Firebase Functions that simplifies the process of setting up security, validation, and business logic. It provides a structured way to handle Firestore events and keep your data in sync across different collections.
4
+
5
+ ## Features
6
+
7
+ - **Centralized Security**: Define security rules for your entities in one place.
8
+ - **Validation**: Ensure your data is valid before it's saved to Firestore.
9
+ - **Business Logics**: Define complex business rules that are automatically triggered by Firestore changes.
10
+ - **View Logics**: Easily create and maintain denormalized data (views) across your database.
11
+ - **Patch Logics**: Handle versioning and data migrations seamlessly.
12
+ - **Billing Protection**: Built-in budget monitoring to prevent unexpected costs.
4
13
 
5
14
  ## Usage
6
15
 
7
16
  To use Emberflow in your Firebase Functions project, follow these steps:
8
17
 
9
- 1. Install Emberflow in your 'functions' folder:
18
+ ### 1. Install Emberflow
19
+
20
+ Install Emberflow in your `functions` folder:
10
21
 
11
22
  ```sh
12
23
  npm install emberflow
13
24
  ```
14
25
 
15
- 2. Import and initialize Emberflow in your Firebase Functions `index.ts` file:
26
+ ### 2. Initialize Emberflow
27
+
28
+ Import and initialize Emberflow in your Firebase Functions `index.ts` file. You'll need to provide your database structure, entities, security, validation, and logic configurations.
16
29
 
17
30
  ```typescript
18
31
  import * as admin from "firebase-admin";
19
- import {dbStructure, Entity} from "./db-structure";
20
- import {initializeEmberFlow} from "emberflow";
21
- import {securityConfigs} from "./security";
22
- import {validatorConfigs} from "./validators";
23
- import {logics} from "./business-logics";
32
+ import { initializeEmberFlow } from "emberflow";
33
+ import { projectConfig } from "./project-config";
34
+ import { dbStructure, Entity } from "./db-structure";
35
+ import { securityConfigs } from "./security";
36
+ import { validatorConfigs } from "./validators";
37
+ import { logics } from "./business-logics";
38
+ import { patchLogicConfigs } from "./patch-logics";
24
39
 
25
40
  admin.initializeApp();
26
- const {functionsConfig} = initializeEmberFlow(
41
+
42
+ const { functionsConfig } = initializeEmberFlow(
43
+ projectConfig,
27
44
  admin,
28
45
  dbStructure,
29
46
  Entity,
30
47
  securityConfigs,
31
48
  validatorConfigs,
32
- logics
49
+ logics,
50
+ patchLogicConfigs
33
51
  );
34
52
 
53
+ // Export the generated functions
35
54
  Object.entries(functionsConfig).forEach(([key, value]) => {
36
55
  exports[key] = value;
37
56
  });
38
57
  ```
39
- This example assumes you have the necessary files **(db-structure.ts, security.ts, validators.ts, and business-logics.ts)** in your project. For reference on how to set up these files, you can check the **src.sample-custom** folder in the Emberflow library.
58
+
59
+ ## Configuration
60
+
61
+ Emberflow relies on several configuration objects to define how your project behaves.
62
+
63
+ ### Database Structure (`dbStructure`)
64
+
65
+ Defines the hierarchy of your Firestore collections and how data is denormalized using views.
66
+
67
+ ```typescript
68
+ import { propView, view } from "emberflow/utils/db-structure";
69
+
70
+ export const dbStructure = {
71
+ users: {
72
+ [Entity.User]: {
73
+ feeds: {
74
+ [Entity.Feed]: {
75
+ createdBy: [propView("map", Entity.User, ["name", "email"])],
76
+ },
77
+ },
78
+ },
79
+ },
80
+ };
81
+ ```
82
+
83
+ ### Security Configs (`securityConfigs`)
84
+
85
+ Defines access control rules for each entity.
86
+
87
+ ```typescript
88
+ export const securityConfigs: SecurityConfig[] = [
89
+ {
90
+ entity: Entity.User,
91
+ securityFn: async (txnGet, entity, docPath, doc, actionType, modifiedFields, user) => {
92
+ if (actionType === "delete") return { status: "rejected", message: "Deletes not allowed" };
93
+ return { status: "allowed" };
94
+ },
95
+ version: "1",
96
+ },
97
+ ];
98
+ ```
99
+
100
+ ### Validator Configs (`validatorConfigs`)
101
+
102
+ Ensures data consistency before any logic is executed.
103
+
104
+ ```typescript
105
+ export const validatorConfigs: ValidatorConfig[] = [
106
+ {
107
+ entity: Entity.User,
108
+ validatorFn: async (document) => {
109
+ const result: ValidationResult = {};
110
+ if (!document.name) result["name"] = ["Name is required"];
111
+ return result;
112
+ },
113
+ version: "1",
114
+ },
115
+ ];
116
+ ```
117
+
118
+ ### Business Logics (`logics`)
119
+
120
+ Defines the side effects of data changes.
121
+
122
+ ```typescript
123
+ export const logics: LogicConfig[] = [
124
+ {
125
+ name: "EchoLogic",
126
+ actionTypes: ["create", "update"],
127
+ modifiedFields: "all",
128
+ entities: "all",
129
+ logicFn: async (txnGet, action, sharedMap) => {
130
+ // Your business logic here
131
+ return {
132
+ name: "EchoLogic",
133
+ status: "finished",
134
+ documents: [], // documents to create/update/delete
135
+ };
136
+ },
137
+ version: "1",
138
+ },
139
+ ];
140
+ ```
141
+
142
+ ## Reference
143
+
144
+ For more detailed examples on how to set up these configuration files, you can check the `src/sample-custom` folder in the Emberflow repository.
40
145
 
package/lib/index.js CHANGED
@@ -157,8 +157,9 @@ function initializeEmberFlow(customProjectConfig, adminInstance, customDbStructu
157
157
  exports.functionsConfig["createMetricComputation"] = (0, scheduler_1.onSchedule)(Object.assign({ schedule: "every 1 hours", region: exports.projectConfig.region, memory: "512MiB", timeoutSeconds: 540 }, (_p = exports.projectConfig.functionsConfig) === null || _p === void 0 ? void 0 : _p.createMetricComputation), index_utils_1.createMetricComputation);
158
158
  exports.functionsConfig["onDeleteFunctions"] = (0, firestore_1.onDocumentCreated)(Object.assign({ document: "@server/delete/functions/{deleteFuncId}" }, (_q = exports.projectConfig.functionsConfig) === null || _q === void 0 ? void 0 : _q.onDeleteFunctions), index_utils_1.onDeleteFunction);
159
159
  const onUserRegisterConfig = (_r = exports.projectConfig.functionsConfig) === null || _r === void 0 ? void 0 : _r.onUserRegister;
160
+ const _s = onUserRegisterConfig || {}, { memory, timeoutSeconds, minInstances, maxInstances, secrets } = _s, restConfig = __rest(_s, ["memory", "timeoutSeconds", "minInstances", "maxInstances", "secrets"]);
160
161
  exports.functionsConfig["onUserRegister"] =
161
- functions.runWith(Object.assign(Object.assign(Object.assign(Object.assign({}, ((onUserRegisterConfig === null || onUserRegisterConfig === void 0 ? void 0 : onUserRegisterConfig.memory) ? { memory: onUserRegisterConfig.memory.replace("MiB", "") } : {})), ((onUserRegisterConfig === null || onUserRegisterConfig === void 0 ? void 0 : onUserRegisterConfig.timeoutSeconds) ? { timeoutSeconds: onUserRegisterConfig.timeoutSeconds } : {})), ((onUserRegisterConfig === null || onUserRegisterConfig === void 0 ? void 0 : onUserRegisterConfig.minInstances) ? { minInstances: onUserRegisterConfig.minInstances } : {})), ((onUserRegisterConfig === null || onUserRegisterConfig === void 0 ? void 0 : onUserRegisterConfig.maxInstances) ? { maxInstances: onUserRegisterConfig.maxInstances } : {}))).auth.user().onCreate(exports.onUserRegister);
162
+ functions.runWith(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (memory ? { memory: memory.replace("MiB", "") } : {})), (timeoutSeconds ? { timeoutSeconds } : {})), (minInstances ? { minInstances } : {})), (maxInstances ? { maxInstances } : {})), { secrets: secrets || [] }), restConfig)).auth.user().onCreate(exports.onUserRegister);
162
163
  return { docPaths: exports.docPaths, colPaths: exports.colPaths, docPathsRegex: exports.docPathsRegex, entityViewDefinitions: exports.entityViewDefinitions, functionsConfig: exports.functionsConfig };
163
164
  }
164
165
  exports.initializeEmberFlow = initializeEmberFlow;
@@ -454,7 +455,6 @@ function transformLogicResultDocIfNeeded(doc) {
454
455
  const { basePath, destProp } = (0, paths_1.getDestPropAndDestPropId)(doc.dstPath);
455
456
  const { entity } = (0, paths_1.findMatchingDocPathRegex)(basePath);
456
457
  if (destProp && (!entity || !((_a = exports.entityViewDefinitions[entity]) === null || _a === void 0 ? void 0 : _a[destProp]))) {
457
- console.debug(`[EF] Transforming LogicResultDoc for dstPath: ${doc.dstPath}. No view definition found for entity: ${entity}, property: ${destProp}. Nesting document.`);
458
458
  return Object.assign(Object.assign({}, doc), { dstPath: basePath, doc: { [destProp]: doc.doc } });
459
459
  }
460
460
  return doc;
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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"}
@@ -138,7 +138,6 @@ function mapEntityViewDefinitions(viewDefinitions) {
138
138
  if (!entityViewDefinitions[destEntity]) {
139
139
  entityViewDefinitions[destEntity] = {};
140
140
  }
141
- console.debug(`[EF] Mapping view definition for entity: ${destEntity}, property: ${propName}`);
142
141
  entityViewDefinitions[destEntity][propName] = viewDef;
143
142
  }
144
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"init-db-structure.js","sourceRoot":"","sources":["../src/init-db-structure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-db-structure.js","sourceRoot":"","sources":["../src/init-db-structure.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const admin = __importStar(require("firebase-admin"));
27
+ const index_1 = require("../index");
28
+ const project_config_1 = require("./project-config");
29
+ const db_structure_1 = require("./db-structure");
30
+ const security_1 = require("./security");
31
+ const validators_1 = require("./validators");
32
+ const business_logics_1 = require("./business-logics");
33
+ const patch_logics_1 = require("./patch-logics");
34
+ admin.initializeApp();
35
+ const { functionsConfig } = (0, index_1.initializeEmberFlow)(project_config_1.projectConfig, admin, db_structure_1.dbStructure, db_structure_1.Entity, security_1.securityConfigs, validators_1.validatorConfigs, business_logics_1.logics, patch_logics_1.patchLogicConfigs);
36
+ // Export the generated functions
37
+ Object.entries(functionsConfig).forEach(([key, value]) => {
38
+ exports[key] = value;
39
+ });
40
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sample-custom/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAwC;AACxC,oCAA+C;AAC/C,qDAAiD;AACjD,iDAAqD;AACrD,yCAA6C;AAC7C,6CAAgD;AAChD,uDAA2C;AAC3C,iDAAmD;AAEnD,KAAK,CAAC,aAAa,EAAE,CAAC;AAEtB,MAAM,EAAE,eAAe,EAAE,GAAG,IAAA,2BAAmB,EAC7C,8BAAa,EACb,KAAK,EACL,0BAAW,EACX,qBAAM,EACN,0BAAe,EACf,6BAAgB,EAChB,wBAAM,EACN,gCAAiB,CAClB,CAAC;AAEF,iCAAiC;AACjC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;IACvD,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AACvB,CAAC,CAAC,CAAC"}
@@ -24,6 +24,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.patchLogicConfigs = void 0;
27
+ const db_structure_1 = require("./db-structure");
27
28
  const admin = __importStar(require("firebase-admin"));
28
29
  const samplePatchLogic = async (dstPath, data) => {
29
30
  console.log(`Executing patch logic on document at ${dstPath}...`);
@@ -49,7 +50,7 @@ const samplePatchLogic = async (dstPath, data) => {
49
50
  exports.patchLogicConfigs = [
50
51
  {
51
52
  name: "samplePatchLogic",
52
- entity: "user",
53
+ entity: db_structure_1.Entity.User,
53
54
  patchLogicFn: samplePatchLogic,
54
55
  version: "1",
55
56
  },
@@ -1 +1 @@
1
- {"version":3,"file":"patch-logics.js","sourceRoot":"","sources":["../../src/sample-custom/patch-logics.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,sDAAwC;AAExC,MAAM,gBAAgB,GAAiB,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IAC7D,OAAO,CAAC,GAAG,CAAC,wCAAwC,OAAO,KAAK,CAAC,CAAC;IAElE,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAElD,0CAA0C;IAC1C,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;QACpB,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;QAC7C,SAAS,EAAE;YACT;gBACE,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,OAAO;gBAChB,GAAG,EAAE,EAAC,SAAS,EAAE,QAAQ,EAAC;gBAC1B,YAAY,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAC;gBAC/B,QAAQ,EAAE,QAAQ;aACnB;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAGW,QAAA,iBAAiB,GAAuB;IACnD;QACE,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,MAAM;QACd,YAAY,EAAE,gBAAgB;QAC9B,OAAO,EAAE,GAAG;KACb;CACF,CAAC"}
1
+ {"version":3,"file":"patch-logics.js","sourceRoot":"","sources":["../../src/sample-custom/patch-logics.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAsC;AAEtC,sDAAwC;AAExC,MAAM,gBAAgB,GAAiB,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IAC7D,OAAO,CAAC,GAAG,CAAC,wCAAwC,OAAO,KAAK,CAAC,CAAC;IAElE,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAElD,0CAA0C;IAC1C,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;QACpB,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;QAC7C,SAAS,EAAE;YACT;gBACE,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,OAAO;gBAChB,GAAG,EAAE,EAAC,SAAS,EAAE,QAAQ,EAAC;gBAC1B,YAAY,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAC;gBAC/B,QAAQ,EAAE,QAAQ;aACnB;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAGW,QAAA,iBAAiB,GAAuB;IACnD;QACE,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,qBAAM,CAAC,IAAI;QACnB,YAAY,EAAE,gBAAgB;QAC9B,OAAO,EAAE,GAAG;KACb;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { ProjectConfig } from "../types";
2
+ export declare const projectConfig: ProjectConfig;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.projectConfig = void 0;
4
+ exports.projectConfig = {
5
+ projectId: "your-project-id",
6
+ region: "us-central1",
7
+ rtdbName: "your-rtdb-name",
8
+ budgetAlertTopicName: "budget-alerts",
9
+ maxCostLimitPerFunction: 10,
10
+ specialCostLimitPerFunction: {},
11
+ };
12
+ //# sourceMappingURL=project-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-config.js","sourceRoot":"","sources":["../../src/sample-custom/project-config.ts"],"names":[],"mappings":";;;AAEa,QAAA,aAAa,GAAkB;IAC1C,SAAS,EAAE,iBAAiB;IAC5B,MAAM,EAAE,aAAa;IACrB,QAAQ,EAAE,gBAAgB;IAC1B,oBAAoB,EAAE,eAAe;IACrC,uBAAuB,EAAE,EAAE;IAC3B,2BAA2B,EAAE,EAAE;CAChC,CAAC"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.securityConfigs = void 0;
4
4
  const db_structure_1 = require("./db-structure");
5
5
  // A security function that allows all actions
6
- const allAllowed = async (entity, doc, actionType, modifiedFields, user) => {
6
+ const allAllowed = async (txnGet, entity, docPath, doc, actionType, modifiedFields, user) => {
7
7
  console.log(`Security check for entity ${entity}, action type ${actionType},
8
8
  and modified fields:`, modifiedFields);
9
9
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/sample-custom/security.ts"],"names":[],"mappings":";;;AAAA,iDAAsC;AAQtC,8CAA8C;AAC9C,MAAM,UAAU,GAAe,KAAK,EAClC,MAAM,EACN,GAAG,EACH,UAAU,EACV,cAAc,EACd,IAAI,EACJ,EAAE;IACF,OAAO,CAAC,GAAG,CAAC,6BAA6B,MAAM,iBAAiB,UAAU;wBACpD,EAAE,cAAc,CAAC,CAAC;IACxC,OAAO;QACL,MAAM,EAAE,SAAS;KAClB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,cAAc,GAChB,KAAK,EACH,MAAM,EACN,MAAM,EACN,OAAO,EACP,GAAG,EACH,UAAU,EACV,cAAc,EACd,IAAI,EACsB,EAAE;IAC5B,QAAQ,UAAU,EAAE;QACpB,KAAK,QAAQ,CAAC,CAAC;YACb,uDAAuD;YACvD,oDAAoD;YACpD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;YACnC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,cAAc,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;YACtD,IAAI,MAAsB,CAAC;YAC3B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBACpC,MAAM,GAAG;oBACP,MAAM,EAAE,UAAU;oBAClB,OAAO,EAAE;eACN,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBAC/B,CAAC;aACH;iBAAM;gBACL,MAAM,GAAG;oBACP,MAAM,EAAE,SAAS;iBAClB,CAAC;aACH;YACD,OAAO,MAAM,CAAC;SACf;QAED,KAAK,QAAQ,CAAC,CAAC;YACb,6DAA6D;YAC7D,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,QAAQ,CAAC,YAAY,CAAC,EAAE;gBAC1C,OAAO;oBACL,MAAM,EAAE,UAAU;oBAClB,OAAO,EAAE,+CAA+C;iBACzD,CAAC;aACH;YACD,MAAM;SACP;QACD,KAAK,QAAQ;YACX,sCAAsC;YACtC,OAAO;gBACL,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,6CAA6C;aACvD,CAAC;KACH;IAED,OAAO;QACL,MAAM,EAAE,SAAS;KAClB,CAAC;AACJ,CAAC,CAAC;AAEO,QAAA,eAAe,GAAqB;IAC/C;QACE,MAAM,EAAE,qBAAM,CAAC,IAAI;QACnB,UAAU,EAAE,cAAc;QAC1B,OAAO,EAAE,GAAG;KACb;IACD;QACE,MAAM,EAAE,qBAAM,CAAC,IAAI;QACnB,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE,GAAG;KACb;IACD;QACE,MAAM,EAAE,qBAAM,CAAC,MAAM;QACrB,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE,GAAG;KACb;CACF,CAAC"}
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/sample-custom/security.ts"],"names":[],"mappings":";;;AAAA,iDAAsC;AAQtC,8CAA8C;AAC9C,MAAM,UAAU,GAAe,KAAK,EAClC,MAAM,EACN,MAAM,EACN,OAAO,EACP,GAAG,EACH,UAAU,EACV,cAAc,EACd,IAAI,EACJ,EAAE;IACF,OAAO,CAAC,GAAG,CAAC,6BAA6B,MAAM,iBAAiB,UAAU;wBACpD,EAAE,cAAc,CAAC,CAAC;IACxC,OAAO;QACL,MAAM,EAAE,SAAS;KAClB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,cAAc,GAChB,KAAK,EACH,MAAM,EACN,MAAM,EACN,OAAO,EACP,GAAG,EACH,UAAU,EACV,cAAc,EACd,IAAI,EACsB,EAAE;IAC5B,QAAQ,UAAU,EAAE;QACpB,KAAK,QAAQ,CAAC,CAAC;YACb,uDAAuD;YACvD,oDAAoD;YACpD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;YACnC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,cAAc,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;YACtD,IAAI,MAAsB,CAAC;YAC3B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBACpC,MAAM,GAAG;oBACP,MAAM,EAAE,UAAU;oBAClB,OAAO,EAAE;eACN,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBAC/B,CAAC;aACH;iBAAM;gBACL,MAAM,GAAG;oBACP,MAAM,EAAE,SAAS;iBAClB,CAAC;aACH;YACD,OAAO,MAAM,CAAC;SACf;QAED,KAAK,QAAQ,CAAC,CAAC;YACb,6DAA6D;YAC7D,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,QAAQ,CAAC,YAAY,CAAC,EAAE;gBAC1C,OAAO;oBACL,MAAM,EAAE,UAAU;oBAClB,OAAO,EAAE,+CAA+C;iBACzD,CAAC;aACH;YACD,MAAM;SACP;QACD,KAAK,QAAQ;YACX,sCAAsC;YACtC,OAAO;gBACL,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,6CAA6C;aACvD,CAAC;KACH;IAED,OAAO;QACL,MAAM,EAAE,SAAS;KAClB,CAAC;AACJ,CAAC,CAAC;AAEO,QAAA,eAAe,GAAqB;IAC/C;QACE,MAAM,EAAE,qBAAM,CAAC,IAAI;QACnB,UAAU,EAAE,cAAc;QAC1B,OAAO,EAAE,GAAG;KACb;IACD;QACE,MAAM,EAAE,qBAAM,CAAC,IAAI;QACnB,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE,GAAG;KACb;IACD;QACE,MAAM,EAAE,qBAAM,CAAC,MAAM;QACrB,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE,GAAG;KACb;CACF,CAAC"}
@@ -76,7 +76,6 @@ describe("onMessageViewLogicsQueue Error Handling", () => {
76
76
  };
77
77
  beforeEach(() => {
78
78
  jest.clearAllMocks();
79
- // @ts-ignore
80
79
  runViewLogicsSpy = jest.spyOn(viewLogics, "runViewLogics");
81
80
  pubsub_1.pubsubUtils.isProcessed.mockResolvedValue(false);
82
81
  });
@@ -1 +1 @@
1
- {"version":3,"file":"on-message-error-handling.test.js","sourceRoot":"","sources":["../../src/tests/on-message-error-handling.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"on-message-error-handling.test.js","sourceRoot":"","sources":["../../src/tests/on-message-error-handling.test.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import * as admin from "firebase-admin";
2
2
  import { firestore } from "firebase-admin";
3
3
  import { MemoryOption } from "firebase-functions/v2/options";
4
+ import { SecretParam } from "firebase-functions/params";
4
5
  import Timestamp = firestore.Timestamp;
5
6
  import DocumentData = firestore.DocumentData;
6
7
  import { FormData } from "emberflow-admin-client/lib/types";
@@ -13,6 +14,11 @@ export interface FunctionConfig {
13
14
  maxInstances?: number;
14
15
  minInstances?: number;
15
16
  retry?: boolean;
17
+ /**
18
+ * List of Firebase Secrets to bind to this function.
19
+ * Required for Genkit/Gemini API keys.
20
+ */
21
+ secrets?: (string | SecretParam)[];
16
22
  }
17
23
  export interface ProjectConfig {
18
24
  projectId: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "emberflow",
3
- "version": "1.4.98",
3
+ "version": "1.5.0",
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",
@@ -0,0 +1,26 @@
1
+ import * as admin from "firebase-admin";
2
+ import { initializeEmberFlow } from "../index";
3
+ import { projectConfig } from "./project-config";
4
+ import { dbStructure, Entity } from "./db-structure";
5
+ import { securityConfigs } from "./security";
6
+ import { validatorConfigs } from "./validators";
7
+ import { logics } from "./business-logics";
8
+ import { patchLogicConfigs } from "./patch-logics";
9
+
10
+ admin.initializeApp();
11
+
12
+ const { functionsConfig } = initializeEmberFlow(
13
+ projectConfig,
14
+ admin,
15
+ dbStructure,
16
+ Entity,
17
+ securityConfigs,
18
+ validatorConfigs,
19
+ logics,
20
+ patchLogicConfigs
21
+ );
22
+
23
+ // Export the generated functions
24
+ Object.entries(functionsConfig).forEach(([key, value]) => {
25
+ exports[key] = value;
26
+ });
@@ -1,3 +1,4 @@
1
+ import {Entity} from "./db-structure";
1
2
  import {PatchLogicConfig, PatchLogicFn} from "../types";
2
3
  import * as admin from "firebase-admin";
3
4
 
@@ -29,7 +30,7 @@ const samplePatchLogic: PatchLogicFn = async (dstPath, data) => {
29
30
  export const patchLogicConfigs: PatchLogicConfig[] = [
30
31
  {
31
32
  name: "samplePatchLogic",
32
- entity: "user",
33
+ entity: Entity.User,
33
34
  patchLogicFn: samplePatchLogic,
34
35
  version: "1",
35
36
  },
@@ -0,0 +1,10 @@
1
+ import {ProjectConfig} from "../types";
2
+
3
+ export const projectConfig: ProjectConfig = {
4
+ projectId: "your-project-id",
5
+ region: "us-central1",
6
+ rtdbName: "your-rtdb-name",
7
+ budgetAlertTopicName: "budget-alerts",
8
+ maxCostLimitPerFunction: 10,
9
+ specialCostLimitPerFunction: {},
10
+ };
@@ -8,7 +8,9 @@ import {
8
8
 
9
9
  // A security function that allows all actions
10
10
  const allAllowed: SecurityFn = async (
11
+ txnGet,
11
12
  entity,
13
+ docPath,
12
14
  doc,
13
15
  actionType,
14
16
  modifiedFields,