cloudcommerce 0.0.64 → 0.0.67

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 (124) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/package.json +8 -8
  3. package/packages/api/package.json +1 -1
  4. package/packages/apps/correios/README.md +1 -1
  5. package/packages/apps/correios/lib-mjs/calculate-correios.mjs +2 -2
  6. package/packages/apps/correios/package.json +1 -1
  7. package/packages/apps/custom-shipping/CHANGELOG.md +1 -0
  8. package/packages/apps/custom-shipping/README.md +1 -0
  9. package/packages/apps/custom-shipping/lib/custom-shipping.d.ts +2 -0
  10. package/packages/apps/custom-shipping/lib/custom-shipping.js +6 -0
  11. package/packages/apps/custom-shipping/lib/custom-shipping.js.map +1 -0
  12. package/packages/apps/custom-shipping/lib/index.d.ts +1 -0
  13. package/packages/apps/custom-shipping/lib/index.js +2 -0
  14. package/packages/apps/custom-shipping/lib/index.js.map +1 -0
  15. package/packages/apps/custom-shipping/lib-mjs/calculate-custom-shipping.mjs +251 -0
  16. package/packages/apps/custom-shipping/package.json +27 -0
  17. package/packages/apps/custom-shipping/src/custom-shipping.ts +7 -0
  18. package/packages/apps/custom-shipping/src/index.ts +1 -0
  19. package/packages/apps/custom-shipping/tsconfig.json +6 -0
  20. package/packages/apps/discounts/package.json +1 -1
  21. package/packages/apps/tiny-erp/README.md +1 -1
  22. package/packages/apps/tiny-erp/lib/integration/export-order-to-tiny.js +9 -6
  23. package/packages/apps/tiny-erp/lib/integration/export-order-to-tiny.js.map +1 -1
  24. package/packages/apps/tiny-erp/package.json +2 -2
  25. package/packages/apps/tiny-erp/src/integration/export-order-to-tiny.ts +9 -6
  26. package/packages/cli/package.json +1 -1
  27. package/packages/config/CHANGELOG.md +1 -0
  28. package/packages/config/README.md +1 -0
  29. package/packages/config/lib/config.d.ts +13 -0
  30. package/packages/config/lib/config.js +30 -0
  31. package/packages/config/lib/config.js.map +1 -0
  32. package/packages/{firebase → config}/lib/defaults.d.ts +0 -0
  33. package/packages/{firebase → config}/lib/defaults.js +0 -0
  34. package/packages/{firebase → config}/lib/defaults.js.map +0 -0
  35. package/packages/config/lib/env.d.ts +11 -0
  36. package/packages/config/lib/env.js +30 -0
  37. package/packages/config/lib/env.js.map +1 -0
  38. package/packages/config/package.json +33 -0
  39. package/packages/config/src/config.ts +43 -0
  40. package/packages/{firebase → config}/src/defaults.ts +0 -0
  41. package/packages/config/src/env.ts +43 -0
  42. package/packages/config/tsconfig.json +6 -0
  43. package/packages/events/package.json +2 -2
  44. package/packages/firebase/lib/config.d.ts +21 -21
  45. package/packages/firebase/lib/config.js +20 -41
  46. package/packages/firebase/lib/config.js.map +1 -1
  47. package/packages/firebase/lib/env.d.ts +2 -10
  48. package/packages/firebase/lib/env.js +3 -27
  49. package/packages/firebase/lib/env.js.map +1 -1
  50. package/packages/firebase/lib/handlers/check-store-events.js +17 -8
  51. package/packages/firebase/lib/handlers/check-store-events.js.map +1 -1
  52. package/packages/firebase/package.json +3 -3
  53. package/packages/firebase/src/config.ts +23 -45
  54. package/packages/firebase/src/env.ts +2 -38
  55. package/packages/firebase/src/handlers/check-store-events.ts +18 -9
  56. package/packages/modules/lib/firebase/call-app-module.js +5 -0
  57. package/packages/modules/lib/firebase/call-app-module.js.map +1 -1
  58. package/packages/modules/package.json +3 -2
  59. package/packages/modules/src/firebase/call-app-module.ts +5 -0
  60. package/packages/passport/package.json +2 -2
  61. package/packages/ssr/package.json +2 -2
  62. package/packages/storefront/.eslintrc.cjs +6 -0
  63. package/packages/storefront/astro.config.mjs +20 -0
  64. package/packages/storefront/content/blog.json +18 -0
  65. package/packages/storefront/content/brands.json +24 -0
  66. package/packages/storefront/content/categories.json +24 -0
  67. package/packages/storefront/content/code.json +5 -0
  68. package/packages/storefront/content/collections.json +24 -0
  69. package/packages/storefront/content/contacts.json +13 -0
  70. package/packages/storefront/content/footer.json +46 -0
  71. package/packages/storefront/content/header.json +27 -0
  72. package/packages/storefront/content/home.json +45 -0
  73. package/packages/storefront/content/info.json +18 -0
  74. package/packages/storefront/content/maintenance.json +6 -0
  75. package/packages/storefront/content/menu.json +6 -0
  76. package/packages/storefront/content/pages/contato.json +6 -0
  77. package/packages/storefront/content/pages/entrega.json +6 -0
  78. package/packages/storefront/content/pages/faq.json +6 -0
  79. package/packages/storefront/content/pages/pagamentos.json +6 -0
  80. package/packages/storefront/content/pages/privacidade.json +6 -0
  81. package/packages/storefront/content/pages/sobre-nos.json +6 -0
  82. package/packages/storefront/content/pages/termos.json +6 -0
  83. package/packages/storefront/content/pages/trocas.json +6 -0
  84. package/packages/storefront/content/posts/esta-loja-e-um-pwa.json +9 -0
  85. package/packages/storefront/content/products.json +32 -0
  86. package/packages/storefront/content/search.json +8 -0
  87. package/packages/storefront/content/settings.json +25 -0
  88. package/packages/storefront/content/social.json +5 -0
  89. package/packages/storefront/content/widgets/analytics.json +11 -0
  90. package/packages/storefront/content/widgets/compre-confie.json +11 -0
  91. package/packages/storefront/content/widgets/ebit.json +11 -0
  92. package/packages/storefront/content/widgets/fb-pixel.json +12 -0
  93. package/packages/storefront/content/widgets/gmc-ratings.json +12 -0
  94. package/packages/storefront/content/widgets/minicart.json +6 -0
  95. package/packages/storefront/content/widgets/offers-notification.json +11 -0
  96. package/packages/storefront/content/widgets/opinioes-verificadas.json +18 -0
  97. package/packages/storefront/content/widgets/product-card.json +10 -0
  98. package/packages/storefront/content/widgets/product.json +13 -0
  99. package/packages/storefront/content/widgets/search-engine.json +8 -0
  100. package/packages/storefront/content/widgets/search.json +6 -0
  101. package/packages/storefront/content/widgets/tag-manager.json +12 -0
  102. package/packages/storefront/content/widgets/tawkto.json +12 -0
  103. package/packages/storefront/content/widgets/trustvox.json +15 -0
  104. package/packages/storefront/content/widgets/user.json +5 -0
  105. package/packages/storefront/dist/client/assets/_...0b5ebd52.css +1 -0
  106. package/packages/storefront/dist/client/assets/_...d4aa8aff.css +1 -0
  107. package/packages/storefront/dist/client/assets/index.5608ba47.css +1 -0
  108. package/packages/storefront/dist/client/client.6d48c590.js +1 -0
  109. package/packages/storefront/dist/client/favicon.ico +0 -0
  110. package/packages/storefront/dist/client/page.3aa82516.js +1 -0
  111. package/packages/storefront/dist/client/~partytown/partytown-atomics.js +2 -0
  112. package/packages/storefront/dist/client/~partytown/partytown-media.js +2 -0
  113. package/packages/storefront/dist/client/~partytown/partytown-sw.js +2 -0
  114. package/packages/storefront/dist/client/~partytown/partytown.js +2 -0
  115. package/packages/storefront/dist/server/entry.mjs +1674 -0
  116. package/packages/storefront/package.json +13 -9
  117. package/packages/storefront/public/favicon.ico +0 -0
  118. package/packages/storefront/src/components/Card.astro +74 -0
  119. package/packages/storefront/src/layouts/Layout.astro +56 -0
  120. package/packages/storefront/src/pages/[...slug].astro +76 -0
  121. package/packages/storefront/src/pages/index.astro +82 -0
  122. package/packages/storefront/src/storefront-config.ts +28 -0
  123. package/packages/storefront/tsconfig.json +3 -0
  124. package/packages/types/package.json +1 -1
@@ -0,0 +1,30 @@
1
+ const _env = (typeof process === 'object' && process?.env) || globalThis;
2
+
3
+ export default () => {
4
+ const {
5
+ ECOM_STORE_ID, ECOM_AUTHENTICATION_ID, ECOM_API_KEY, GITHUB_TOKEN,
6
+ } = _env;
7
+ const storeId = ECOM_STORE_ID && parseInt(ECOM_STORE_ID, 10);
8
+ if (!storeId) {
9
+ throw new Error('ECOM_STORE_ID is not set or not a number');
10
+ }
11
+ if (!ECOM_AUTHENTICATION_ID) {
12
+ throw new Error('ECOM_AUTHENTICATION_ID is not set');
13
+ }
14
+ if (!ECOM_API_KEY) {
15
+ throw new Error('ECOM_API_KEY is not set');
16
+ }
17
+ const authenticationId = ECOM_AUTHENTICATION_ID;
18
+ const apiKey = ECOM_API_KEY;
19
+ const githubToken = GITHUB_TOKEN;
20
+ const env = {
21
+ storeId,
22
+ apiAuth: {
23
+ authenticationId,
24
+ apiKey,
25
+ },
26
+ githubToken,
27
+ };
28
+ return env;
29
+ };
30
+ // # sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AASA,MAAM,IAAI,GAAwB,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,EAAE,GAAG,CAAC,IAAI,UAAU,CAAC;AAE9F,eAAe,GAAG,EAAE;IAClB,MAAM,EACJ,aAAa,EACb,sBAAsB,EACtB,YAAY,EACZ,YAAY,GACb,GAAG,IAAI,CAAC;IACT,MAAM,OAAO,GAAG,aAAa,IAAI,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAC7D,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;KAC7D;IACD,IAAI,CAAC,sBAAsB,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;KACtD;IACD,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC5C;IACD,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;IAChD,MAAM,MAAM,GAAG,YAAY,CAAC;IAC5B,MAAM,WAAW,GAAG,YAAY,CAAC;IACjC,MAAM,GAAG,GAAQ;QACf,OAAO;QACP,OAAO,EAAE;YACP,gBAAgB;YAChB,MAAM;SACP;QACD,WAAW;KACZ,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "@cloudcommerce/config",
3
+ "type": "module",
4
+ "version": "0.0.67",
5
+ "description": "E-Com Plus Cloud Commerce base config",
6
+ "main": "lib/config.js",
7
+ "exports": {
8
+ ".": "./lib/config.js",
9
+ "./lib/config": "./lib/config.js",
10
+ "./lib/env": "./lib/env.js"
11
+ },
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "git+https://github.com/ecomplus/cloud-commerce.git",
15
+ "directory": "packages/config"
16
+ },
17
+ "author": "E-Com Club Softwares para E-commerce <ti@e-com.club>",
18
+ "license": "Apache 2.0 with Commons Clause",
19
+ "bugs": {
20
+ "url": "https://github.com/ecomplus/cloud-commerce/issues"
21
+ },
22
+ "homepage": "https://github.com/ecomplus/cloud-commerce/tree/main/packages/config#readme",
23
+ "scripts": {
24
+ "build": "sh ../../scripts/build-lib.sh"
25
+ },
26
+ "dependencies": {
27
+ "@cloudcommerce/api": "workspace:*",
28
+ "@fastify/deepmerge": "^1.1.0"
29
+ },
30
+ "devDependencies": {
31
+ "@cloudcommerce/types": "workspace:*"
32
+ }
33
+ }
@@ -0,0 +1,43 @@
1
+ import Deepmerge from '@fastify/deepmerge';
2
+ import {
3
+ DEFAULT_LANG,
4
+ DEFAULT_CURRENCY,
5
+ DEFAULT_CURRENCY_SYMBOL,
6
+ DEFAULT_COUNTRY_CODE,
7
+ } from './defaults';
8
+
9
+ const _env: Record<string, any> = (typeof process === 'object' && process?.env) || globalThis;
10
+ const deepmerge = Deepmerge();
11
+
12
+ type BaseConfig = {
13
+ lang: string,
14
+ currency: string,
15
+ currencySymbol: string,
16
+ countryCode: string,
17
+ storeId: number,
18
+ };
19
+
20
+ const self: { config: BaseConfig } = globalThis.__cloudCommerce || {
21
+ config: {
22
+ lang: _env.ECOM_LANG || DEFAULT_LANG,
23
+ currency: _env.ECOM_CURRENCY || DEFAULT_CURRENCY,
24
+ currencySymbol: _env.ECOM_CURRENCY_SYMBOL || DEFAULT_CURRENCY_SYMBOL,
25
+ countryCode: _env.ECOM_COUNTRY_CODE || DEFAULT_COUNTRY_CODE,
26
+ storeId: Number(_env.ECOM_STORE_ID),
27
+ },
28
+ };
29
+ globalThis.__cloudCommerce = self;
30
+
31
+ export default {
32
+ get() {
33
+ return self.config;
34
+ },
35
+ set(config) {
36
+ self.config = deepmerge(self.config, config);
37
+ if (config.storeId) {
38
+ _env.ECOM_STORE_ID = config.storeId;
39
+ }
40
+ },
41
+ };
42
+
43
+ export type { BaseConfig };
File without changes
@@ -0,0 +1,43 @@
1
+ type Env = {
2
+ storeId: number;
3
+ apiAuth: {
4
+ authenticationId: string;
5
+ apiKey: string;
6
+ },
7
+ githubToken?: string;
8
+ };
9
+
10
+ const _env: Record<string, any> = (typeof process === 'object' && process?.env) || globalThis;
11
+
12
+ export default () => {
13
+ const {
14
+ ECOM_STORE_ID,
15
+ ECOM_AUTHENTICATION_ID,
16
+ ECOM_API_KEY,
17
+ GITHUB_TOKEN,
18
+ } = _env;
19
+ const storeId = ECOM_STORE_ID && parseInt(ECOM_STORE_ID, 10);
20
+ if (!storeId) {
21
+ throw new Error('ECOM_STORE_ID is not set or not a number');
22
+ }
23
+ if (!ECOM_AUTHENTICATION_ID) {
24
+ throw new Error('ECOM_AUTHENTICATION_ID is not set');
25
+ }
26
+ if (!ECOM_API_KEY) {
27
+ throw new Error('ECOM_API_KEY is not set');
28
+ }
29
+ const authenticationId = ECOM_AUTHENTICATION_ID;
30
+ const apiKey = ECOM_API_KEY;
31
+ const githubToken = GITHUB_TOKEN;
32
+ const env: Env = {
33
+ storeId,
34
+ apiAuth: {
35
+ authenticationId,
36
+ apiKey,
37
+ },
38
+ githubToken,
39
+ };
40
+ return env;
41
+ };
42
+
43
+ export type { Env };
@@ -0,0 +1,6 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "declaration": true
5
+ }
6
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/events",
3
3
  "type": "module",
4
- "version": "0.0.64",
4
+ "version": "0.0.67",
5
5
  "description": "E-Com Plus Cloud Commerce app events",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -27,7 +27,7 @@
27
27
  "@cloudcommerce/app-tiny-erp": "workspace:*",
28
28
  "@cloudcommerce/firebase": "workspace:*",
29
29
  "firebase-admin": "^11.0.1",
30
- "firebase-functions": "^3.22.0",
30
+ "firebase-functions": "^3.23.0",
31
31
  "source-map-support": "^0.5.21"
32
32
  },
33
33
  "devDependencies": {
@@ -1,28 +1,28 @@
1
1
  import type { ApiEventName } from '@cloudcommerce/types';
2
- declare const _default: {
3
- get(): {
4
- hello: string;
5
- lang: string;
6
- currency: string;
7
- currencySymbol: string;
8
- countryCode: string;
9
- storeId: number;
10
- httpsFunctionOptions: {
11
- region: string;
2
+ import { BaseConfig } from '@cloudcommerce/config';
3
+ declare const mergeConfig: {
4
+ hello: string;
5
+ httpsFunctionOptions: {
6
+ region: string;
7
+ };
8
+ apps: {
9
+ discounts: {
10
+ appId: number;
11
+ };
12
+ correios: {
13
+ appId: number;
12
14
  };
13
- apps: {
14
- discounts: {
15
- appId: number;
16
- };
17
- correios: {
18
- appId: number;
19
- };
20
- tinyErp: {
21
- appId: number;
22
- events: ApiEventName[];
23
- };
15
+ customShipping: {
16
+ appId: number;
17
+ };
18
+ tinyErp: {
19
+ appId: number;
20
+ events: ApiEventName[];
24
21
  };
25
22
  };
23
+ };
24
+ declare const _default: {
25
+ get(): BaseConfig & typeof mergeConfig;
26
26
  set(config: any): void;
27
27
  };
28
28
  export default _default;
@@ -1,54 +1,33 @@
1
- import Deepmerge from '@fastify/deepmerge';
2
- import {
3
- DEFAULT_LANG, DEFAULT_CURRENCY, DEFAULT_CURRENCY_SYMBOL, DEFAULT_COUNTRY_CODE,
4
- } from './defaults.js';
1
+ import config from '@cloudcommerce/config';
5
2
 
6
- // @ts-ignore
7
- const env = (typeof process === 'object' && process?.env)
8
- || (typeof window === 'object' && window)
9
- || {};
10
- const deepmerge = Deepmerge();
11
3
  const tinyErpEvents = [
12
4
  'orders-anyStatusSet',
13
5
  'products-new',
14
6
  'products-priceSet',
15
7
  'applications-dataSet',
16
8
  ];
17
- const self = {
18
- __config: {
19
- hello: 'from @cloudcommerce/firebase',
20
- lang: env.ECOM_LANG || DEFAULT_LANG,
21
- currency: env.ECOM_CURRENCY || DEFAULT_CURRENCY,
22
- currencySymbol: env.ECOM_CURRENCY_SYMBOL || DEFAULT_CURRENCY_SYMBOL,
23
- countryCode: env.ECOM_COUNTRY_CODE || DEFAULT_COUNTRY_CODE,
24
- storeId: Number(env.ECOM_STORE_ID),
25
- httpsFunctionOptions: {
26
- region: env.DEPLOY_REGION || 'southamerica-east1',
9
+ const mergeConfig = {
10
+ hello: 'from @cloudcommerce/firebase',
11
+ httpsFunctionOptions: {
12
+ region: process.env.DEPLOY_REGION || 'southamerica-east1',
13
+ },
14
+ apps: {
15
+ discounts: {
16
+ appId: 1252,
17
+ },
18
+ correios: {
19
+ appId: 1248,
20
+ },
21
+ customShipping: {
22
+ appId: 1253,
27
23
  },
28
- apps: {
29
- discounts: {
30
- appId: 1252,
31
- },
32
- correios: {
33
- appId: 1248,
34
- },
35
- tinyErp: {
36
- appId: 105922,
37
- events: tinyErpEvents,
38
- },
24
+ tinyErp: {
25
+ appId: 105922,
26
+ events: tinyErpEvents,
39
27
  },
40
28
  },
41
29
  };
30
+ config.set(mergeConfig);
42
31
 
43
- export default {
44
- get() {
45
- return self.__config;
46
- },
47
- set(config) {
48
- self.__config = deepmerge(self.__config, config);
49
- if (config.storeId) {
50
- env.ECOM_STORE_ID = config.storeId;
51
- }
52
- },
53
- };
32
+ export default config;
54
33
  // # sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,aAAa;AACb,MAAM,GAAG,GAA8B,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,EAAE,GAAG,CAAC;OAC/E,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC;OACtC,EAAE,CAAC;AAER,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC;AAE9B,MAAM,aAAa,GAAmB;IACpC,qBAAqB;IACrB,cAAc;IACd,mBAAmB;IACnB,sBAAsB;CACvB,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,QAAQ,EAAE;QACR,KAAK,EAAE,8BAA8B;QACrC,IAAI,EAAE,GAAG,CAAC,SAAS,IAAI,YAAY;QACnC,QAAQ,EAAE,GAAG,CAAC,aAAa,IAAI,gBAAgB;QAC/C,cAAc,EAAE,GAAG,CAAC,oBAAoB,IAAI,uBAAuB;QACnE,WAAW,EAAE,GAAG,CAAC,iBAAiB,IAAI,oBAAoB;QAC1D,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;QAClC,oBAAoB,EAAE;YACpB,MAAM,EAAE,GAAG,CAAC,aAAa,IAAI,oBAAoB;SAClD;QACD,IAAI,EAAE;YACJ,SAAS,EAAE;gBACT,KAAK,EAAE,IAAI;aACZ;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,IAAI;aACZ;YACD,OAAO,EAAE;gBACP,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,aAAa;aACtB;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;QACjD,IAAI,MAAM,CAAC,OAAO,EAAE;YAClB,GAAG,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;SACpC;IACH,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,MAAsB,MAAM,uBAAuB,CAAC;AAE3D,MAAM,aAAa,GAAmB;IACpC,qBAAqB;IACrB,cAAc;IACd,mBAAmB;IACnB,sBAAsB;CACvB,CAAC;AAEF,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,8BAA8B;IACrC,oBAAoB,EAAE;QACpB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,oBAAoB;KAC1D;IACD,IAAI,EAAE;QACJ,SAAS,EAAE;YACT,KAAK,EAAE,IAAI;SACZ;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,IAAI;SACZ;QACD,cAAc,EAAE;YACd,KAAK,EAAE,IAAI;SACZ;QACD,OAAO,EAAE;YACP,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,aAAa;SACtB;KACF;CACF,CAAC;AACF,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAExB,eAAe,MAId,CAAC"}
@@ -1,11 +1,3 @@
1
- declare type Env = {
2
- storeId: number;
3
- apiAuth: {
4
- authenticationId: string;
5
- apiKey: string;
6
- };
7
- githubToken?: string;
8
- };
9
- declare const _default: () => Env;
10
- export default _default;
1
+ import getEnv, { Env } from '@cloudcommerce/config/lib/env';
2
+ export default getEnv;
11
3
  export type { Env };
@@ -1,28 +1,4 @@
1
- export default () => {
2
- const {
3
- ECOM_STORE_ID, ECOM_AUTHENTICATION_ID, ECOM_API_KEY, GITHUB_TOKEN,
4
- } = process.env;
5
- const storeId = ECOM_STORE_ID && parseInt(ECOM_STORE_ID, 10);
6
- if (!storeId) {
7
- throw new Error('ECOM_STORE_ID is not set or not a number');
8
- }
9
- if (!ECOM_AUTHENTICATION_ID) {
10
- throw new Error('ECOM_AUTHENTICATION_ID is not set');
11
- }
12
- if (!ECOM_API_KEY) {
13
- throw new Error('ECOM_API_KEY is not set');
14
- }
15
- const authenticationId = ECOM_AUTHENTICATION_ID;
16
- const apiKey = ECOM_API_KEY;
17
- const githubToken = GITHUB_TOKEN;
18
- const env = {
19
- storeId,
20
- apiAuth: {
21
- authenticationId,
22
- apiKey,
23
- },
24
- githubToken,
25
- };
26
- return env;
27
- };
1
+ import getEnv from '@cloudcommerce/config/lib/env';
2
+
3
+ export default getEnv;
28
4
  // # sourceMappingURL=env.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AASA,eAAe,GAAG,EAAE;IAClB,MAAM,EACJ,aAAa,EACb,sBAAsB,EACtB,YAAY,EACZ,YAAY,GACb,GAAG,OAAO,CAAC,GAAG,CAAC;IAChB,MAAM,OAAO,GAAG,aAAa,IAAI,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAC7D,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;KAC7D;IACD,IAAI,CAAC,sBAAsB,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;KACtD;IACD,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC5C;IACD,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;IAChD,MAAM,MAAM,GAAG,YAAY,CAAC;IAC5B,MAAM,WAAW,GAAG,YAAY,CAAC;IACjC,MAAM,GAAG,GAAQ;QACf,OAAO;QACP,OAAO,EAAE;YACP,gBAAgB;YAChB,MAAM;SACP;QACD,WAAW;KACZ,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,MAAe,MAAM,+BAA+B,CAAC;AAE5D,eAAe,MAAM,CAAC"}
@@ -8,10 +8,8 @@ import { EVENT_SKIP_FLAG, GET_PUBSUB_TOPIC } from '../const.js';
8
8
 
9
9
  const parseEventName = (evName, baseApiEventsFilter) => {
10
10
  const [resource, actionName] = evName.split('-');
11
- const params = {
12
- 'flag!': EVENT_SKIP_FLAG,
13
- };
14
- const bodySet = { ...baseApiEventsFilter };
11
+ const params = { ...baseApiEventsFilter };
12
+ const bodySet = {};
15
13
  if (actionName === 'new') {
16
14
  params.action = 'create';
17
15
  } else {
@@ -76,9 +74,13 @@ const tryPubSubPublish = (topicName, messageObj, retries = 0) => {
76
74
  export default async () => {
77
75
  const timestamp = Date.now();
78
76
  const documentRef = getFirestore().doc('storeEvents/last');
79
- const lastRunTimestamp = (await documentRef.get()).get('timestamp')
77
+ const documentSnapshot = await documentRef.get();
78
+ const lastRunTimestamp = documentSnapshot.get('timestamp')
80
79
  || Date.now() - 1000 * 60 * 5;
80
+ const lastNonOrdersTimestamp = documentSnapshot.get('nonOrdersTimestamp')
81
+ || 0;
81
82
  const baseApiEventsFilter = {
83
+ 'flag!': EVENT_SKIP_FLAG,
82
84
  'timestamp>': new Date(lastRunTimestamp - 1).toISOString(),
83
85
  'timestamp<': new Date(timestamp).toISOString(),
84
86
  };
@@ -107,11 +109,17 @@ export default async () => {
107
109
  });
108
110
  }
109
111
  });
112
+ // Some resource events are not listened to every minute
113
+ const isOrdersOnly = Boolean(new Date().getMinutes() % 5);
110
114
  listenedEvents.forEach(async (listenedEventName) => {
111
115
  const { resource, params } = parseEventName(listenedEventName, baseApiEventsFilter);
112
- if (resource !== 'orders' && resource !== 'carts' && new Date().getMinutes() % 5) {
113
- // Other resource events are not listened to every minute
114
- return;
116
+ if (resource !== 'orders') {
117
+ if (isOrdersOnly) {
118
+ return;
119
+ }
120
+ if (lastNonOrdersTimestamp) {
121
+ params['timestamp>'] = new Date(lastNonOrdersTimestamp).toISOString();
122
+ }
115
123
  }
116
124
  let { data: { result } } = await api.get(`events/${resource}`, {
117
125
  params,
@@ -163,6 +171,7 @@ export default async () => {
163
171
  });
164
172
  return documentRef.set({
165
173
  timestamp,
174
+ nonOrdersTimestamp: isOrdersOnly ? lastNonOrdersTimestamp : timestamp,
166
175
  activeApps,
167
176
  listenedEvents,
168
177
  });
@@ -1 +1 @@
1
- {"version":3,"file":"check-store-events.js","sourceRoot":"","sources":["../../src/handlers/check-store-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check-store-events.js","sourceRoot":"","sources":["../../src/handlers/check-store-events.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/firebase",
3
3
  "type": "module",
4
- "version": "0.0.64",
4
+ "version": "0.0.67",
5
5
  "description": "E-Com Plus Cloud Commerce on Firebase",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
@@ -30,10 +30,10 @@
30
30
  },
31
31
  "dependencies": {
32
32
  "@cloudcommerce/api": "workspace:*",
33
- "@fastify/deepmerge": "^1.1.0",
33
+ "@cloudcommerce/config": "workspace:*",
34
34
  "@google-cloud/pubsub": "^3.1.0",
35
35
  "firebase-admin": "^11.0.1",
36
- "firebase-functions": "^3.22.0",
36
+ "firebase-functions": "^3.23.0",
37
37
  "node-fetch": "^3.2.10",
38
38
  "source-map-support": "^0.5.21"
39
39
  },
@@ -1,18 +1,5 @@
1
1
  import type { ApiEventName } from '@cloudcommerce/types';
2
- import Deepmerge from '@fastify/deepmerge';
3
- import {
4
- DEFAULT_LANG,
5
- DEFAULT_CURRENCY,
6
- DEFAULT_CURRENCY_SYMBOL,
7
- DEFAULT_COUNTRY_CODE,
8
- } from './defaults';
9
-
10
- // @ts-ignore
11
- const env: { [key: string]: string } = (typeof process === 'object' && process?.env)
12
- || (typeof window === 'object' && window)
13
- || {};
14
-
15
- const deepmerge = Deepmerge();
2
+ import config, { BaseConfig } from '@cloudcommerce/config';
16
3
 
17
4
  const tinyErpEvents: ApiEventName[] = [
18
5
  'orders-anyStatusSet',
@@ -21,40 +8,31 @@ const tinyErpEvents: ApiEventName[] = [
21
8
  'applications-dataSet',
22
9
  ];
23
10
 
24
- const self = {
25
- __config: {
26
- hello: 'from @cloudcommerce/firebase',
27
- lang: env.ECOM_LANG || DEFAULT_LANG,
28
- currency: env.ECOM_CURRENCY || DEFAULT_CURRENCY,
29
- currencySymbol: env.ECOM_CURRENCY_SYMBOL || DEFAULT_CURRENCY_SYMBOL,
30
- countryCode: env.ECOM_COUNTRY_CODE || DEFAULT_COUNTRY_CODE,
31
- storeId: Number(env.ECOM_STORE_ID),
32
- httpsFunctionOptions: {
33
- region: env.DEPLOY_REGION || 'southamerica-east1',
11
+ const mergeConfig = {
12
+ hello: 'from @cloudcommerce/firebase',
13
+ httpsFunctionOptions: {
14
+ region: process.env.DEPLOY_REGION || 'southamerica-east1',
15
+ },
16
+ apps: {
17
+ discounts: {
18
+ appId: 1252,
19
+ },
20
+ correios: {
21
+ appId: 1248,
34
22
  },
35
- apps: {
36
- discounts: {
37
- appId: 1252,
38
- },
39
- correios: {
40
- appId: 1248,
41
- },
42
- tinyErp: {
43
- appId: 105922,
44
- events: tinyErpEvents,
45
- },
23
+ customShipping: {
24
+ appId: 1253,
25
+ },
26
+ tinyErp: {
27
+ appId: 105922,
28
+ events: tinyErpEvents,
46
29
  },
47
30
  },
48
31
  };
32
+ config.set(mergeConfig);
49
33
 
50
- export default {
51
- get() {
52
- return self.__config;
53
- },
54
- set(config) {
55
- self.__config = deepmerge(self.__config, config);
56
- if (config.storeId) {
57
- env.ECOM_STORE_ID = config.storeId;
58
- }
59
- },
34
+ export default config as {
35
+ get(): BaseConfig & typeof mergeConfig;
36
+ // eslint-disable-next-line
37
+ set(config: any): void;
60
38
  };
@@ -1,41 +1,5 @@
1
- type Env = {
2
- storeId: number;
3
- apiAuth: {
4
- authenticationId: string;
5
- apiKey: string;
6
- },
7
- githubToken?: string;
8
- };
1
+ import getEnv, { Env } from '@cloudcommerce/config/lib/env';
9
2
 
10
- export default () => {
11
- const {
12
- ECOM_STORE_ID,
13
- ECOM_AUTHENTICATION_ID,
14
- ECOM_API_KEY,
15
- GITHUB_TOKEN,
16
- } = process.env;
17
- const storeId = ECOM_STORE_ID && parseInt(ECOM_STORE_ID, 10);
18
- if (!storeId) {
19
- throw new Error('ECOM_STORE_ID is not set or not a number');
20
- }
21
- if (!ECOM_AUTHENTICATION_ID) {
22
- throw new Error('ECOM_AUTHENTICATION_ID is not set');
23
- }
24
- if (!ECOM_API_KEY) {
25
- throw new Error('ECOM_API_KEY is not set');
26
- }
27
- const authenticationId = ECOM_AUTHENTICATION_ID;
28
- const apiKey = ECOM_API_KEY;
29
- const githubToken = GITHUB_TOKEN;
30
- const env: Env = {
31
- storeId,
32
- apiAuth: {
33
- authenticationId,
34
- apiKey,
35
- },
36
- githubToken,
37
- };
38
- return env;
39
- };
3
+ export default getEnv;
40
4
 
41
5
  export type { Env };