cloudcommerce 0.0.43 → 0.0.46

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.
Files changed (47) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/action.yml +8 -6
  3. package/package.json +1 -1
  4. package/packages/api/package.json +1 -1
  5. package/packages/apps/discounts/lib/index.d.ts +3 -0
  6. package/packages/apps/discounts/lib/index.js +3 -1
  7. package/packages/apps/discounts/lib/index.js.map +1 -1
  8. package/packages/apps/discounts/package.json +3 -3
  9. package/packages/apps/discounts/src/index.ts +1 -1
  10. package/packages/apps/discounts/tsconfig.json +4 -1
  11. package/packages/cli/lib/build.js +5 -2
  12. package/packages/cli/package.json +1 -1
  13. package/packages/cli/src/build.ts +8 -5
  14. package/packages/events/CHANGELOG.md +1 -0
  15. package/packages/events/README.md +1 -0
  16. package/packages/events/package.json +36 -0
  17. package/packages/events/src/firebase.ts +33 -0
  18. package/packages/events/src/index.ts +1 -0
  19. package/packages/events/tsconfig.json +3 -0
  20. package/packages/firebase/lib/config.d.ts +5 -0
  21. package/packages/firebase/lib/config.js +5 -0
  22. package/packages/firebase/lib/config.js.map +1 -1
  23. package/packages/firebase/lib/index.d.ts +2 -1
  24. package/packages/firebase/lib/index.js +7 -4
  25. package/packages/firebase/lib/index.js.map +1 -1
  26. package/packages/firebase/package.json +1 -1
  27. package/packages/firebase/src/config.ts +5 -0
  28. package/packages/firebase/src/index.ts +8 -4
  29. package/packages/modules/lib/firebase/call-app-module.js +8 -2
  30. package/packages/modules/lib/firebase/call-app-module.js.map +1 -1
  31. package/packages/modules/lib/firebase/handle-module.js +1 -1
  32. package/packages/modules/lib/firebase/handle-module.js.map +1 -1
  33. package/packages/modules/lib/firebase.js +1 -1
  34. package/packages/modules/lib/firebase.js.map +1 -1
  35. package/packages/modules/package.json +2 -1
  36. package/packages/modules/src/firebase/call-app-module.ts +16 -2
  37. package/packages/modules/src/firebase/handle-module.ts +8 -2
  38. package/packages/modules/src/firebase.ts +1 -1
  39. package/packages/passport/lib/firebase.js +1 -1
  40. package/packages/passport/lib/firebase.js.map +1 -1
  41. package/packages/passport/package.json +1 -1
  42. package/packages/passport/src/firebase.ts +1 -1
  43. package/packages/ssr/package.json +1 -1
  44. package/packages/storefront/package.json +1 -1
  45. package/packages/types/index.ts +10 -4
  46. package/packages/types/package.json +1 -1
  47. package/pnpm-lock.yaml +29 -8
package/CHANGELOG.md CHANGED
@@ -2,6 +2,40 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [0.0.46](https://github.com/ecomplus/cloud-commerce/compare/v0.0.45...v0.0.46) (2022-08-05)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * Set Firebase Functions v2 names with one word at all ([23d5f17](https://github.com/ecomplus/cloud-commerce/commit/23d5f17bbeca0bccc14047c6a5fa4a92753ae9b8))
11
+
12
+ ### [0.0.45](https://github.com/ecomplus/cloud-commerce/compare/v0.0.44...v0.0.45) (2022-08-05)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * GH Action must install dependencies of each functions codebase ([0e1212a](https://github.com/ecomplus/cloud-commerce/commit/0e1212a61c455de0e1b698e9086c1df2a6c24fd7))
18
+ * GH Action must install dependencies of each functions codebase ([7379f0e](https://github.com/ecomplus/cloud-commerce/commit/7379f0e01e9ce94a666735e12dd38a29f090d238))
19
+ * GH Action must install optional dependencies for functions deploy ([59b281e](https://github.com/ecomplus/cloud-commerce/commit/59b281e74346dbe360c2810eb9749304214df17c))
20
+ * Set Firebase Functions names with snake case ([2ec6a31](https://github.com/ecomplus/cloud-commerce/commit/2ec6a31a42cd7692f5b004d65dff6d2e0b3bad30))
21
+
22
+ ### [0.0.44](https://github.com/ecomplus/cloud-commerce/compare/v0.0.43...v0.0.44) (2022-08-05)
23
+
24
+
25
+ ### Features
26
+
27
+ * **apps/discounts:** Start exporting apply discount function for module [[#29](https://github.com/ecomplus/cloud-commerce/issues/29)] ([a4ca745](https://github.com/ecomplus/cloud-commerce/commit/a4ca745ac69318e2c2ba1b4e94e68f37924b0682))
28
+ * **events:** Setup `@cloudcommerce/events` pkg with first listener start [[#29](https://github.com/ecomplus/cloud-commerce/issues/29)] ([3a4ae39](https://github.com/ecomplus/cloud-commerce/commit/3a4ae3996066ece4c502d55b39f79f9fab20fee3))
29
+ * **firebase:** Start defining apps on config with first (discount) app [[#29](https://github.com/ecomplus/cloud-commerce/issues/29)] ([8a810cf](https://github.com/ecomplus/cloud-commerce/commit/8a810cf45ad41c29adb14e111dccd63afd71b63c))
30
+ * **modules:** Start importing/calling internal apps dynamically [[#29](https://github.com/ecomplus/cloud-commerce/issues/29)] ([47db241](https://github.com/ecomplus/cloud-commerce/commit/47db24193c3423851246e691604a5e9f691c9077))
31
+ * **types:** Add `AppModuleName` enum definition ([642235c](https://github.com/ecomplus/cloud-commerce/commit/642235cf789d11b3208526a87bd7fc72e2dd38e4))
32
+
33
+
34
+ ### Bug Fixes
35
+
36
+ * **cli:** Prevent no such file error with optional `.env` on build ([201f30e](https://github.com/ecomplus/cloud-commerce/commit/201f30e6ce365ff01ae46dad83a8dfa899b6b91a))
37
+ * **types:** Edit some app events types (grammar) ([a552efa](https://github.com/ecomplus/cloud-commerce/commit/a552efa08b0eba6e25292f0a64a2a269bb812adb))
38
+
5
39
  ### [0.0.43](https://github.com/ecomplus/cloud-commerce/compare/v0.0.42...v0.0.43) (2022-08-04)
6
40
 
7
41
 
package/action.yml CHANGED
@@ -29,17 +29,19 @@ runs:
29
29
 
30
30
  - if: github.event_name == 'push'
31
31
  shell: bash
32
- run: npm i --location=global firebase-tools@^11.2.1
32
+ run: npm i --location=global firebase-tools@11
33
33
 
34
34
  - shell: bash
35
- run: npm ci --only=production
35
+ run: npm ci --omit=dev
36
36
 
37
37
  - shell: bash
38
38
  working-directory: functions
39
- run: npm ci --only=production --no-optional
40
-
41
- - shell: bash
42
- run: npm run build
39
+ run: |
40
+ for d in */ ; do
41
+ cd $d
42
+ npm ci --omit=dev
43
+ cd ..
44
+ done
43
45
 
44
46
  - if: github.event_name == 'push'
45
47
  name: Deploy to Firebase live
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cloudcommerce",
3
3
  "type": "module",
4
- "version": "0.0.43",
4
+ "version": "0.0.46",
5
5
  "description": "Open fair-code headless commerce platform: API-first, microservices based, event driven and cloud native",
6
6
  "main": "packages/api/lib/index.js",
7
7
  "author": "E-Com Club Softwares para E-commerce <ti@e-com.club>",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/api",
3
3
  "type": "module",
4
- "version": "0.0.43",
4
+ "version": "0.0.46",
5
5
  "description": "E-Com Plus Cloud Commerce APIs client/adapter",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
@@ -0,0 +1,3 @@
1
+ import type { AppEventsTopic } from '@cloudcommerce/types';
2
+ export declare const events: AppEventsTopic[];
3
+ export declare const applyDiscount: () => Promise<{}>;
@@ -1,4 +1,6 @@
1
1
  export const events = [];
2
2
 
3
- export const modules = {};
3
+ export const applyDiscount = async () => {
4
+ return {};
5
+ };
4
6
  // # sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAiB,EAAE,CAAC;AAEvC,MAAM,CAAC,MAAM,OAAO,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAqB,EAAE,CAAC;AAE3C,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;IACtC,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC"}
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-discounts",
3
3
  "type": "module",
4
- "version": "0.0.43",
4
+ "version": "0.0.46",
5
5
  "description": "E-Com Plus Cloud Commerce app for complex discount rules",
6
- "main": "functions/dist/index.js",
6
+ "main": "lib/index.js",
7
7
  "repository": {
8
8
  "type": "git",
9
9
  "url": "git+https://github.com/ecomplus/cloud-commerce.git",
@@ -16,7 +16,7 @@
16
16
  },
17
17
  "homepage": "https://github.com/ecomplus/cloud-commerce/tree/main/packages/apps/discounts#readme",
18
18
  "scripts": {
19
- "build": "echo '@ecomplus/app-discounts'"
19
+ "build": "sh ../../../scripts/build-lib.sh"
20
20
  },
21
21
  "dependencies": {
22
22
  "@cloudcommerce/api": "workspace:*"
@@ -2,6 +2,6 @@ import type { AppEventsTopic } from '@cloudcommerce/types';
2
2
 
3
3
  export const events: AppEventsTopic[] = [];
4
4
 
5
- export const applyDiscount = () => {
5
+ export const applyDiscount = async () => {
6
6
  return {};
7
7
  };
@@ -1,3 +1,6 @@
1
1
  {
2
- "extends": "../../../tsconfig.json"
2
+ "extends": "../../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "declaration": true
5
+ }
3
6
  }
@@ -8,8 +8,11 @@ const copyFunctionsConfig = async () => {
8
8
  for (let i = 0; i < dirents.length; i++) {
9
9
  if (dirents[i].isDirectory() && dirents[i].name.charAt(0) !== '.') {
10
10
  for (let ii = 0; ii < filesToCopy.length; ii++) {
11
- // eslint-disable-next-line no-await-in-loop
12
- await fs.copy(path.join(functionsDir, filesToCopy[ii]), path.join(functionsDir, dirents[i].name, filesToCopy[ii]));
11
+ const srcPath = path.join(functionsDir, filesToCopy[ii]);
12
+ if (fs.existsSync(srcPath)) {
13
+ // eslint-disable-next-line no-await-in-loop
14
+ await fs.copy(srcPath, path.join(functionsDir, dirents[i].name, filesToCopy[ii]));
15
+ }
13
16
  }
14
17
  }
15
18
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/cli",
3
3
  "type": "module",
4
- "version": "0.0.43",
4
+ "version": "0.0.46",
5
5
  "description": "E-Com Plus Cloud Commerce CLI tools",
6
6
  "bin": {
7
7
  "cloudcommerce": "./bin/run.mjs"
@@ -8,11 +8,14 @@ const copyFunctionsConfig = async () => {
8
8
  for (let i = 0; i < dirents.length; i++) {
9
9
  if (dirents[i].isDirectory() && dirents[i].name.charAt(0) !== '.') {
10
10
  for (let ii = 0; ii < filesToCopy.length; ii++) {
11
- // eslint-disable-next-line no-await-in-loop
12
- await fs.copy(
13
- path.join(functionsDir, filesToCopy[ii]),
14
- path.join(functionsDir, dirents[i].name, filesToCopy[ii]),
15
- );
11
+ const srcPath = path.join(functionsDir, filesToCopy[ii]);
12
+ if (fs.existsSync(srcPath)) {
13
+ // eslint-disable-next-line no-await-in-loop
14
+ await fs.copy(
15
+ srcPath,
16
+ path.join(functionsDir, dirents[i].name, filesToCopy[ii]),
17
+ );
18
+ }
16
19
  }
17
20
  }
18
21
  }
@@ -0,0 +1 @@
1
+ Please refer to GitHub [repository releases](https://github.com/ecomplus/cloud-commerce/releases) or monorepo unified [CHANGELOG.md](https://github.com/ecomplus/cloud-commerce/blob/main/CHANGELOG.md).
@@ -0,0 +1 @@
1
+ # `@cloudcommerce/events`
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "@cloudcommerce/events",
3
+ "type": "module",
4
+ "version": "0.0.46",
5
+ "description": "E-Com Plus Cloud Commerce app events",
6
+ "main": "lib/index.js",
7
+ "exports": {
8
+ ".": "./lib/index.js",
9
+ "./firebase": "./lib/firebase.js"
10
+ },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "git+https://github.com/ecomplus/cloud-commerce.git",
14
+ "directory": "packages/events"
15
+ },
16
+ "author": "E-Com Club Softwares para E-commerce <ti@e-com.club>",
17
+ "license": "Apache 2.0 with Commons Clause",
18
+ "bugs": {
19
+ "url": "https://github.com/ecomplus/cloud-commerce/issues"
20
+ },
21
+ "homepage": "https://github.com/ecomplus/cloud-commerce/tree/main/packages/events#readme",
22
+ "scripts": {
23
+ "build": "echo '@ecomplus/events'"
24
+ },
25
+ "dependencies": {
26
+ "@cloudcommerce/api": "workspace:*",
27
+ "@cloudcommerce/firebase": "workspace:*",
28
+ "firebase-admin": "^11.0.1",
29
+ "firebase-functions": "^3.22.0",
30
+ "source-map-support": "^0.5.21"
31
+ },
32
+ "devDependencies": {
33
+ "@cloudcommerce/types": "workspace:*",
34
+ "@firebase/app-types": "^0.7.0"
35
+ }
36
+ }
@@ -0,0 +1,33 @@
1
+ /* eslint-disable import/prefer-default-export */
2
+
3
+ import type { AppEventsTopic } from '@cloudcommerce/types';
4
+ import 'source-map-support/register.js';
5
+ // eslint-disable-next-line import/no-unresolved
6
+ import { initializeApp } from 'firebase-admin/app';
7
+ import functions from 'firebase-functions';
8
+ import config from '@cloudcommerce/firebase/lib/config';
9
+
10
+ const { logger } = functions;
11
+ initializeApp();
12
+
13
+ const eventMaxAgeMs = 60000;
14
+ const newOrderTopic: AppEventsTopic = 'orders-new';
15
+ const { httpsFunctionOptions: { region } } = config.get();
16
+
17
+ export const onNewOrder = functions.region(region)
18
+ .runWith({ failurePolicy: true })
19
+ .pubsub.topic(newOrderTopic).onPublish((message, context) => {
20
+ const eventAgeMs = Date.now() - Date.parse(context.timestamp);
21
+ if (eventAgeMs > eventMaxAgeMs) {
22
+ logger.warn(`Dropping event ${context.eventId} with age[ms]: ${eventAgeMs}`);
23
+ return;
24
+ }
25
+ // Hide API key for security
26
+ process.env.ECOM_API_KEY = '***';
27
+ const { json } = message;
28
+ logger.info({
29
+ topic: newOrderTopic,
30
+ eventId: context.eventId,
31
+ json,
32
+ });
33
+ });
@@ -0,0 +1 @@
1
+ export default {};
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "../../tsconfig.json"
3
+ }
@@ -9,6 +9,11 @@ declare const _default: {
9
9
  httpsFunctionOptions: {
10
10
  region: string;
11
11
  };
12
+ apps: {
13
+ discounts: {
14
+ appId: number;
15
+ };
16
+ };
12
17
  };
13
18
  set(config: any): void;
14
19
  };
@@ -15,6 +15,11 @@ const self = {
15
15
  httpsFunctionOptions: {
16
16
  region: process.env.DEPLOY_REGION || 'us-east1',
17
17
  },
18
+ apps: {
19
+ discounts: {
20
+ appId: 912000,
21
+ },
22
+ },
18
23
  },
19
24
  };
20
25
 
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC;AAE9B,MAAM,IAAI,GAAG;IACX,QAAQ,EAAE;QACR,KAAK,EAAE,8BAA8B;QACrC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,YAAY;QAC3C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,gBAAgB;QACvD,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,uBAAuB;QAC3E,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,oBAAoB;QAClE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAC1C,oBAAoB,EAAE;YACpB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,UAAU;SAChD;KACF;CACF,CAAC;AAEF,eAAe;IACb,GAAG;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACD,GAAG,CAAC,MAAM;QACR,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC;AAE9B,MAAM,IAAI,GAAG;IACX,QAAQ,EAAE;QACR,KAAK,EAAE,8BAA8B;QACrC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,YAAY;QAC3C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,gBAAgB;QACvD,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,uBAAuB;QAC3E,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,oBAAoB;QAClE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAC1C,oBAAoB,EAAE;YACpB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,UAAU;SAChD;QACD,IAAI,EAAE;YACJ,SAAS,EAAE;gBACT,KAAK,EAAE,MAAM;aACd;SACF;KACF;CACF,CAAC;AAEF,eAAe;IACb,GAAG;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACD,GAAG,CAAC,MAAM;QACR,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;CACF,CAAC"}
@@ -1,3 +1,4 @@
1
1
  import 'source-map-support/register.js';
2
2
  import '@cloudcommerce/api/fetch-polyfill.js';
3
- export declare const cronStoreEvents: import("firebase-functions/v1").CloudFunction<unknown>;
3
+ import functions from 'firebase-functions';
4
+ export declare const cronStoreEvents: functions.CloudFunction<unknown>;
@@ -4,12 +4,15 @@ import '@cloudcommerce/api/fetch-polyfill.js';
4
4
  // https://github.com/import-js/eslint-plugin-import/issues/1810
5
5
  // eslint-disable-next-line import/no-unresolved
6
6
  import { initializeApp } from 'firebase-admin/app';
7
- import { pubsub } from 'firebase-functions';
7
+ import functions from 'firebase-functions';
8
+ import config from './config.js';
8
9
  import checkStoreEvents from './handlers/check-store-events.js';
9
10
 
10
11
  initializeApp();
12
+ const { httpsFunctionOptions: { region } } = config.get();
11
13
 
12
- export const cronStoreEvents = pubsub.schedule('* * * * *').onRun(() => {
13
- return checkStoreEvents();
14
- });
14
+ export const cronStoreEvents = functions.region(region)
15
+ .pubsub.schedule('* * * * *').onRun(() => {
16
+ return checkStoreEvents();
17
+ });
15
18
  // # sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iDAAiD;AAEjD,OAAO,gCAAgC,CAAC;AACxC,OAAO,sCAAsC,CAAC;AAC9C,gEAAgE;AAChE,gDAAgD;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAE7D,aAAa,EAAE,CAAC;AAEhB,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;IACrE,OAAO,gBAAgB,EAAE,CAAC;AAC5B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iDAAiD;AAEjD,OAAO,gCAAgC,CAAC;AACxC,OAAO,sCAAsC,CAAC;AAC9C,gEAAgE;AAChE,gDAAgD;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAE7D,aAAa,EAAE,CAAC;AAEhB,MAAM,EAAE,oBAAoB,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;AAE1D,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;KACpD,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;IACvC,OAAO,gBAAgB,EAAE,CAAC;AAC5B,CAAC,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/firebase",
3
3
  "type": "module",
4
- "version": "0.0.43",
4
+ "version": "0.0.46",
5
5
  "description": "E-Com Plus Cloud Commerce on Firebase",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
@@ -19,6 +19,11 @@ const self = {
19
19
  httpsFunctionOptions: {
20
20
  region: process.env.DEPLOY_REGION || 'us-east1',
21
21
  },
22
+ apps: {
23
+ discounts: {
24
+ appId: 912000,
25
+ },
26
+ },
22
27
  },
23
28
  };
24
29
 
@@ -5,11 +5,15 @@ import '@cloudcommerce/api/fetch-polyfill.js';
5
5
  // https://github.com/import-js/eslint-plugin-import/issues/1810
6
6
  // eslint-disable-next-line import/no-unresolved
7
7
  import { initializeApp } from 'firebase-admin/app';
8
- import { pubsub } from 'firebase-functions';
8
+ import functions from 'firebase-functions';
9
+ import config from './config';
9
10
  import checkStoreEvents from './handlers/check-store-events';
10
11
 
11
12
  initializeApp();
12
13
 
13
- export const cronStoreEvents = pubsub.schedule('* * * * *').onRun(() => {
14
- return checkStoreEvents();
15
- });
14
+ const { httpsFunctionOptions: { region } } = config.get();
15
+
16
+ export const cronStoreEvents = functions.region(region)
17
+ .pubsub.schedule('* * * * *').onRun(() => {
18
+ return checkStoreEvents();
19
+ });
@@ -5,13 +5,13 @@ import config from '@cloudcommerce/firebase/lib/config';
5
5
  // Blacklist urls to prevent consecultive errors
6
6
  const blacklist = {};
7
7
 
8
- export default async (url, data, isBigTimeout) => {
8
+ export default async (appId, modName, url, data, isBigTimeout) => {
9
9
  if (blacklist[url] > 2) {
10
10
  logger.log(`> Skipping blacklisted ${url}`);
11
11
  const err = new Error('Blacklited endpoint URL');
12
12
  return Promise.reject(err);
13
13
  }
14
- const { storeId } = config.get();
14
+ const { storeId, apps } = config.get();
15
15
  const debug = (response) => {
16
16
  const status = response ? response.status : 0;
17
17
  if (!blacklist[url]) {
@@ -37,6 +37,12 @@ export default async (url, data, isBigTimeout) => {
37
37
  }
38
38
  }
39
39
  };
40
+ if (modName === 'apply_discount') {
41
+ if (appId === apps.discounts.appId) {
42
+ return import('@cloudcommerce/app-discounts')
43
+ .then(({ applyDiscount }) => applyDiscount());
44
+ }
45
+ }
40
46
  return axios({
41
47
  method: 'POST',
42
48
  maxRedirects: 2,
@@ -1 +1 @@
1
- {"version":3,"file":"call-app-module.js","sourceRoot":"","sources":["../../src/firebase/call-app-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"call-app-module.js","sourceRoot":"","sources":["../../src/firebase/call-app-module.ts"],"names":[],"mappings":"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"}
@@ -95,7 +95,7 @@ async function runModule(apiAuth, params, res, modName, validate, responseValida
95
95
  let response;
96
96
  let isError = false;
97
97
  let errorMessage = null;
98
- callAppModule(appModuleUrl, appModuleBody, isBigTimeout)
98
+ callAppModule(appId, modName, appModuleUrl, appModuleBody, isBigTimeout)
99
99
  .then((appResponse) => {
100
100
  response = appResponse;
101
101
  })
@@ -1 +1 @@
1
- {"version":3,"file":"handle-module.js","sourceRoot":"","sources":["../../src/firebase/handle-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handle-module.js","sourceRoot":"","sources":["../../src/firebase/handle-module.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import serveModulesApi from './firebase/serve-modules-api.js';
11
11
  initializeApp();
12
12
  const { httpsFunctionOptions } = config.get();
13
13
 
14
- export const modulesApi = onRequest(httpsFunctionOptions, (req, res) => {
14
+ export const modules = onRequest(httpsFunctionOptions, (req, res) => {
15
15
  const { authenticationId, apiKey } = getEnv();
16
16
  // Hide API key for security
17
17
  process.env.ECOM_API_KEY = '***';
@@ -1 +1 @@
1
- {"version":3,"file":"firebase.js","sourceRoot":"","sources":["../src/firebase.ts"],"names":[],"mappings":"AAAA,iDAAiD;AAEjD,OAAO,gCAAgC,CAAC;AACxC,gDAAgD;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,gDAAgD;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,MAAM,MAAM,oCAAoC,CAAC;AACxD,OAAO,MAAM,MAAM,iCAAiC,CAAC;AACrD,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAE3D,aAAa,EAAE,CAAC;AAChB,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;AAE9C,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC,oBAAoB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACrE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IAC9C,4BAA4B;IAC5B,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;IACjC,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE;QACxB,gBAAgB;QAChB,MAAM;KACP,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"firebase.js","sourceRoot":"","sources":["../src/firebase.ts"],"names":[],"mappings":"AAAA,iDAAiD;AAEjD,OAAO,gCAAgC,CAAC;AACxC,gDAAgD;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,gDAAgD;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,MAAM,MAAM,oCAAoC,CAAC;AACxD,OAAO,MAAM,MAAM,iCAAiC,CAAC;AACrD,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAE3D,aAAa,EAAE,CAAC;AAChB,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;AAE9C,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAC,oBAAoB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IAClE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IAC9C,4BAA4B;IAC5B,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;IACjC,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE;QACxB,gBAAgB;QAChB,MAAM;KACP,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/modules",
3
3
  "type": "module",
4
- "version": "0.0.43",
4
+ "version": "0.0.46",
5
5
  "description": "E-Com Plus Cloud Commerce modules API",
6
6
  "main": "lib/index.cjs",
7
7
  "exports": {
@@ -25,6 +25,7 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "@cloudcommerce/api": "workspace:*",
28
+ "@cloudcommerce/app-discounts": "workspace:*",
28
29
  "@cloudcommerce/firebase": "workspace:*",
29
30
  "ajv": "^8.11.0",
30
31
  "axios": "^0.27.2",
@@ -1,3 +1,4 @@
1
+ import type { AppModuleName } from '@cloudcommerce/types';
1
2
  import { logger } from 'firebase-functions';
2
3
  import axios, { AxiosResponse } from 'axios';
3
4
  import config from '@cloudcommerce/firebase/lib/config';
@@ -5,13 +6,19 @@ import config from '@cloudcommerce/firebase/lib/config';
5
6
  // Blacklist urls to prevent consecultive errors
6
7
  const blacklist = {};
7
8
 
8
- export default async (url: string, data: any, isBigTimeout: boolean) => {
9
+ export default async (
10
+ appId: number,
11
+ modName: AppModuleName,
12
+ url: string,
13
+ data: any,
14
+ isBigTimeout: boolean,
15
+ ) => {
9
16
  if (blacklist[url] > 2) {
10
17
  logger.log(`> Skipping blacklisted ${url}`);
11
18
  const err = new Error('Blacklited endpoint URL');
12
19
  return Promise.reject(err);
13
20
  }
14
- const { storeId } = config.get();
21
+ const { storeId, apps } = config.get();
15
22
 
16
23
  const debug = (response: AxiosResponse) => {
17
24
  const status = response ? response.status : 0;
@@ -40,6 +47,13 @@ export default async (url: string, data: any, isBigTimeout: boolean) => {
40
47
  }
41
48
  };
42
49
 
50
+ if (modName === 'apply_discount') {
51
+ if (appId === apps.discounts.appId) {
52
+ return import('@cloudcommerce/app-discounts')
53
+ .then(({ applyDiscount }) => applyDiscount());
54
+ }
55
+ }
56
+
43
57
  return axios({
44
58
  method: 'POST',
45
59
  maxRedirects: 2,
@@ -1,5 +1,5 @@
1
1
  import type { Request, Response } from 'firebase-functions';
2
- import type { Applications } from '@cloudcommerce/types';
2
+ import type { Applications, AppModuleName } from '@cloudcommerce/types';
3
3
  import { logger } from 'firebase-functions';
4
4
  import Ajv, { ValidateFunction } from 'ajv';
5
5
  import api, { ApiError, ApiConfig } from '@cloudcommerce/api';
@@ -115,7 +115,13 @@ async function runModule(
115
115
  let response: any;
116
116
  let isError = false;
117
117
  let errorMessage: string | null = null;
118
- callAppModule(appModuleUrl, appModuleBody, isBigTimeout)
118
+ callAppModule(
119
+ appId,
120
+ modName as AppModuleName,
121
+ appModuleUrl,
122
+ appModuleBody,
123
+ isBigTimeout,
124
+ )
119
125
  .then((appResponse) => {
120
126
  response = appResponse;
121
127
  })
@@ -12,7 +12,7 @@ import serveModulesApi from './firebase/serve-modules-api';
12
12
  initializeApp();
13
13
  const { httpsFunctionOptions } = config.get();
14
14
 
15
- export const modulesApi = onRequest(httpsFunctionOptions, (req, res) => {
15
+ export const modules = onRequest(httpsFunctionOptions, (req, res) => {
16
16
  const { authenticationId, apiKey } = getEnv();
17
17
  // Hide API key for security
18
18
  process.env.ECOM_API_KEY = '***';
@@ -9,7 +9,7 @@ import config from '@cloudcommerce/firebase/lib/config';
9
9
  initializeApp();
10
10
  const options = config.get().httpsFunctionOptions;
11
11
 
12
- export const passportApi = onRequest(options, (request, response) => {
12
+ export const passport = onRequest(options, (request, response) => {
13
13
  process.env.ECOM_API_KEY = '***';
14
14
  response.send('Hello passport!');
15
15
  });
@@ -1 +1 @@
1
- {"version":3,"file":"firebase.js","sourceRoot":"","sources":["../src/firebase.ts"],"names":[],"mappings":"AAAA,iDAAiD;AAEjD,OAAO,gCAAgC,CAAC;AACxC,gDAAgD;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,gDAAgD;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,MAAM,MAAM,oCAAoC,CAAC;AAExD,aAAa,EAAE,CAAC;AAChB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC;AAElD,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;IAClE,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"firebase.js","sourceRoot":"","sources":["../src/firebase.ts"],"names":[],"mappings":"AAAA,iDAAiD;AAEjD,OAAO,gCAAgC,CAAC;AACxC,gDAAgD;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,gDAAgD;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,MAAM,MAAM,oCAAoC,CAAC;AAExD,aAAa,EAAE,CAAC;AAChB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC;AAElD,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;IAC/D,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/passport",
3
3
  "type": "module",
4
- "version": "0.0.43",
4
+ "version": "0.0.46",
5
5
  "description": "E-Com Plus Cloud Commerce customers authentication (passport) API",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -10,7 +10,7 @@ import config from '@cloudcommerce/firebase/lib/config';
10
10
  initializeApp();
11
11
  const options = config.get().httpsFunctionOptions;
12
12
 
13
- export const passportApi = onRequest(options, (request, response) => {
13
+ export const passport = onRequest(options, (request, response) => {
14
14
  process.env.ECOM_API_KEY = '***';
15
15
  response.send('Hello passport!');
16
16
  });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/ssr",
3
3
  "type": "module",
4
- "version": "0.0.43",
4
+ "version": "0.0.46",
5
5
  "description": "E-Com Plus Cloud Commerce storefront SSR",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/storefront",
3
3
  "type": "module",
4
- "version": "0.0.43",
4
+ "version": "0.0.46",
5
5
  "description": "E-Com Plus Cloud Commerce storefront with Astro",
6
6
  "main": "src/index.js",
7
7
  "repository": {
@@ -26,16 +26,21 @@ import type { CreateTransactionResponse } from './modules/create_transaction:res
26
26
  import type { CheckoutBody } from './modules/@checkout:params';
27
27
 
28
28
  type AppEventsTopic = 'orders-new'
29
- | 'orders-setAnyStatus'
29
+ | 'orders-anyStatusSet'
30
30
  | 'orders-paid'
31
31
  | 'orders-readyForShipping'
32
32
  | 'orders-delivered'
33
33
  | 'orders-cancelled'
34
34
  | 'products-new'
35
- | 'products-setQuantity'
36
- | 'products-setPrice'
35
+ | 'products-quantitySet'
36
+ | 'products-priceSet'
37
37
  | 'carts-new'
38
- | 'carts-setCustomer';
38
+ | 'carts-customerSet';
39
+
40
+ type AppModuleName = 'apply_discount'
41
+ | 'calculate_shipping'
42
+ | 'list_payments'
43
+ | 'create_transaction';
39
44
 
40
45
  export type {
41
46
  Products,
@@ -54,6 +59,7 @@ export type {
54
59
  ResourceListResult,
55
60
  EventsResult,
56
61
  AppEventsTopic,
62
+ AppModuleName,
57
63
  ApplyDiscountParams,
58
64
  ApplyDiscountResponse,
59
65
  CalculateShippingParams,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/types",
3
3
  "type": "module",
4
- "version": "0.0.43",
4
+ "version": "0.0.46",
5
5
  "description": "E-Com Plus Cloud Commerce reusable type definitions",
6
6
  "main": "index.ts",
7
7
  "repository": {
package/pnpm-lock.yaml CHANGED
@@ -75,6 +75,25 @@ importers:
75
75
  md5: 2.3.0
76
76
  zx: 7.0.7
77
77
 
78
+ packages/events:
79
+ specifiers:
80
+ '@cloudcommerce/api': workspace:*
81
+ '@cloudcommerce/firebase': workspace:*
82
+ '@cloudcommerce/types': workspace:*
83
+ '@firebase/app-types': ^0.7.0
84
+ firebase-admin: ^11.0.1
85
+ firebase-functions: ^3.22.0
86
+ source-map-support: ^0.5.21
87
+ dependencies:
88
+ '@cloudcommerce/api': link:../api
89
+ '@cloudcommerce/firebase': link:../firebase
90
+ firebase-admin: 11.0.1_@firebase+app-types@0.7.0
91
+ firebase-functions: 3.22.0_firebase-admin@11.0.1
92
+ source-map-support: 0.5.21
93
+ devDependencies:
94
+ '@cloudcommerce/types': link:../types
95
+ '@firebase/app-types': 0.7.0
96
+
78
97
  packages/firebase:
79
98
  specifiers:
80
99
  '@cloudcommerce/api': workspace:*
@@ -99,6 +118,7 @@ importers:
99
118
  packages/modules:
100
119
  specifiers:
101
120
  '@cloudcommerce/api': workspace:*
121
+ '@cloudcommerce/app-discounts': workspace:*
102
122
  '@cloudcommerce/firebase': workspace:*
103
123
  '@cloudcommerce/types': workspace:*
104
124
  '@firebase/app-types': ^0.7.0
@@ -110,6 +130,7 @@ importers:
110
130
  source-map-support: ^0.5.21
111
131
  dependencies:
112
132
  '@cloudcommerce/api': link:../api
133
+ '@cloudcommerce/app-discounts': link:../apps/discounts
113
134
  '@cloudcommerce/firebase': link:../firebase
114
135
  ajv: 8.11.0
115
136
  axios: 0.27.2
@@ -177,36 +198,36 @@ importers:
177
198
 
178
199
  store:
179
200
  specifiers:
180
- '@cloudcommerce/cli': ^0.0.42
201
+ '@cloudcommerce/cli': ^0.0.45
181
202
  dependencies:
182
203
  '@cloudcommerce/cli': link:../packages/cli
183
204
 
184
205
  store/functions/core:
185
206
  specifiers:
186
- '@cloudcommerce/firebase': ^0.0.42
207
+ '@cloudcommerce/firebase': ^0.0.45
187
208
  dependencies:
188
209
  '@cloudcommerce/firebase': link:../../../packages/firebase
189
210
 
190
211
  store/functions/modules:
191
212
  specifiers:
192
- '@cloudcommerce/firebase': ^0.0.42
193
- '@cloudcommerce/modules': ^0.0.42
213
+ '@cloudcommerce/firebase': ^0.0.45
214
+ '@cloudcommerce/modules': ^0.0.45
194
215
  dependencies:
195
216
  '@cloudcommerce/firebase': link:../../../packages/firebase
196
217
  '@cloudcommerce/modules': link:../../../packages/modules
197
218
 
198
219
  store/functions/passport:
199
220
  specifiers:
200
- '@cloudcommerce/firebase': ^0.0.42
201
- '@cloudcommerce/passport': ^0.0.42
221
+ '@cloudcommerce/firebase': ^0.0.45
222
+ '@cloudcommerce/passport': ^0.0.45
202
223
  dependencies:
203
224
  '@cloudcommerce/firebase': link:../../../packages/firebase
204
225
  '@cloudcommerce/passport': link:../../../packages/passport
205
226
 
206
227
  store/functions/ssr:
207
228
  specifiers:
208
- '@cloudcommerce/firebase': ^0.0.42
209
- '@cloudcommerce/ssr': ^0.0.42
229
+ '@cloudcommerce/firebase': ^0.0.45
230
+ '@cloudcommerce/ssr': ^0.0.45
210
231
  dependencies:
211
232
  '@cloudcommerce/firebase': link:../../../packages/firebase
212
233
  '@cloudcommerce/ssr': link:../../../packages/ssr