cloudcommerce 0.0.63 → 0.0.66

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 (156) hide show
  1. package/.eslintrc.cjs +1 -1
  2. package/CHANGELOG.md +39 -0
  3. package/package.json +1 -1
  4. package/packages/api/lib/api.d.ts +8 -8
  5. package/packages/api/lib/types/applications.d.ts +2 -2
  6. package/packages/api/package.json +1 -1
  7. package/packages/api/src/types/applications.d.ts +2 -2
  8. package/packages/apps/correios/CHANGELOG.md +1 -0
  9. package/packages/apps/correios/README.md +1 -0
  10. package/packages/apps/correios/lib/correios.d.ts +2 -0
  11. package/packages/apps/correios/lib/correios.js +6 -0
  12. package/packages/apps/correios/lib/correios.js.map +1 -0
  13. package/packages/apps/correios/lib/index.d.ts +1 -0
  14. package/packages/apps/correios/lib/index.js +2 -0
  15. package/packages/apps/correios/lib/index.js.map +1 -0
  16. package/packages/apps/correios/lib-mjs/calculate-correios.mjs +470 -0
  17. package/packages/apps/correios/lib-mjs/correios-ws.mjs +154 -0
  18. package/packages/apps/correios/package.json +29 -0
  19. package/packages/apps/correios/src/correios.ts +7 -0
  20. package/packages/apps/correios/src/index.ts +1 -0
  21. package/packages/apps/correios/tsconfig.json +6 -0
  22. package/packages/apps/custom-shipping/CHANGELOG.md +1 -0
  23. package/packages/apps/custom-shipping/README.md +1 -0
  24. package/packages/apps/custom-shipping/lib/custom-shipping.d.ts +2 -0
  25. package/packages/apps/custom-shipping/lib/custom-shipping.js +6 -0
  26. package/packages/apps/custom-shipping/lib/custom-shipping.js.map +1 -0
  27. package/packages/apps/custom-shipping/lib/index.d.ts +1 -0
  28. package/packages/apps/custom-shipping/lib/index.js +2 -0
  29. package/packages/apps/custom-shipping/lib/index.js.map +1 -0
  30. package/packages/apps/custom-shipping/lib-mjs/calculate-custom-shipping.mjs +251 -0
  31. package/packages/apps/custom-shipping/package.json +27 -0
  32. package/packages/apps/custom-shipping/src/custom-shipping.ts +7 -0
  33. package/packages/apps/custom-shipping/src/index.ts +1 -0
  34. package/packages/apps/custom-shipping/tsconfig.json +6 -0
  35. package/packages/apps/discounts/lib/index.js +1 -1
  36. package/packages/apps/discounts/package.json +3 -7
  37. package/packages/apps/tiny-erp/README.md +1 -1
  38. package/packages/apps/tiny-erp/lib/event-to-tiny.js +0 -2
  39. package/packages/apps/tiny-erp/lib/event-to-tiny.js.map +1 -1
  40. package/packages/apps/tiny-erp/lib/index.js +1 -1
  41. package/packages/apps/tiny-erp/lib/integration/export-order-to-tiny.js +9 -6
  42. package/packages/apps/tiny-erp/lib/integration/export-order-to-tiny.js.map +1 -1
  43. package/packages/apps/tiny-erp/package.json +1 -1
  44. package/packages/apps/tiny-erp/src/event-to-tiny.ts +0 -2
  45. package/packages/apps/tiny-erp/src/integration/export-order-to-tiny.ts +9 -6
  46. package/packages/cli/package.json +1 -1
  47. package/packages/config/CHANGELOG.md +1 -0
  48. package/packages/config/README.md +1 -0
  49. package/packages/config/lib/config.d.ts +13 -0
  50. package/packages/config/lib/config.js +30 -0
  51. package/packages/config/lib/config.js.map +1 -0
  52. package/packages/{firebase → config}/lib/defaults.d.ts +0 -0
  53. package/packages/{firebase → config}/lib/defaults.js +0 -0
  54. package/packages/{firebase → config}/lib/defaults.js.map +0 -0
  55. package/packages/config/lib/env.d.ts +11 -0
  56. package/packages/config/lib/env.js +30 -0
  57. package/packages/config/lib/env.js.map +1 -0
  58. package/packages/config/package.json +33 -0
  59. package/packages/config/src/config.ts +43 -0
  60. package/packages/{firebase → config}/src/defaults.ts +0 -0
  61. package/packages/config/src/env.ts +43 -0
  62. package/packages/config/tsconfig.json +6 -0
  63. package/packages/events/lib/firebase.js.map +1 -1
  64. package/packages/events/package.json +1 -1
  65. package/packages/events/src/firebase.ts +0 -1
  66. package/packages/firebase/lib/config.d.ts +21 -18
  67. package/packages/firebase/lib/config.js +20 -38
  68. package/packages/firebase/lib/config.js.map +1 -1
  69. package/packages/firebase/lib/env.d.ts +2 -10
  70. package/packages/firebase/lib/env.js +3 -27
  71. package/packages/firebase/lib/env.js.map +1 -1
  72. package/packages/firebase/lib/index.js.map +1 -1
  73. package/packages/firebase/lib/init.js.map +1 -1
  74. package/packages/firebase/package.json +2 -2
  75. package/packages/firebase/src/config.ts +23 -42
  76. package/packages/firebase/src/env.ts +2 -38
  77. package/packages/firebase/src/index.ts +0 -1
  78. package/packages/firebase/src/init.ts +0 -1
  79. package/packages/modules/lib/firebase/call-app-module.js +33 -13
  80. package/packages/modules/lib/firebase/call-app-module.js.map +1 -1
  81. package/packages/modules/lib/firebase.js.map +1 -1
  82. package/packages/modules/package.json +3 -1
  83. package/packages/modules/src/firebase/call-app-module.ts +34 -14
  84. package/packages/modules/src/firebase.ts +0 -1
  85. package/packages/passport/package.json +1 -1
  86. package/packages/ssr/lib/firebase.js.map +1 -1
  87. package/packages/ssr/package.json +1 -1
  88. package/packages/ssr/src/firebase.ts +0 -1
  89. package/packages/storefront/.eslintrc.cjs +6 -0
  90. package/packages/storefront/astro.config.mjs +20 -0
  91. package/packages/storefront/content/blog.json +18 -0
  92. package/packages/storefront/content/brands.json +24 -0
  93. package/packages/storefront/content/categories.json +24 -0
  94. package/packages/storefront/content/code.json +5 -0
  95. package/packages/storefront/content/collections.json +24 -0
  96. package/packages/storefront/content/contacts.json +13 -0
  97. package/packages/storefront/content/footer.json +46 -0
  98. package/packages/storefront/content/header.json +27 -0
  99. package/packages/storefront/content/home.json +45 -0
  100. package/packages/storefront/content/info.json +18 -0
  101. package/packages/storefront/content/maintenance.json +6 -0
  102. package/packages/storefront/content/menu.json +6 -0
  103. package/packages/storefront/content/pages/contato.json +6 -0
  104. package/packages/storefront/content/pages/entrega.json +6 -0
  105. package/packages/storefront/content/pages/faq.json +6 -0
  106. package/packages/storefront/content/pages/pagamentos.json +6 -0
  107. package/packages/storefront/content/pages/privacidade.json +6 -0
  108. package/packages/storefront/content/pages/sobre-nos.json +6 -0
  109. package/packages/storefront/content/pages/termos.json +6 -0
  110. package/packages/storefront/content/pages/trocas.json +6 -0
  111. package/packages/storefront/content/posts/esta-loja-e-um-pwa.json +9 -0
  112. package/packages/storefront/content/products.json +32 -0
  113. package/packages/storefront/content/search.json +8 -0
  114. package/packages/storefront/content/settings.json +25 -0
  115. package/packages/storefront/content/social.json +5 -0
  116. package/packages/storefront/content/widgets/analytics.json +11 -0
  117. package/packages/storefront/content/widgets/compre-confie.json +11 -0
  118. package/packages/storefront/content/widgets/ebit.json +11 -0
  119. package/packages/storefront/content/widgets/fb-pixel.json +12 -0
  120. package/packages/storefront/content/widgets/gmc-ratings.json +12 -0
  121. package/packages/storefront/content/widgets/minicart.json +6 -0
  122. package/packages/storefront/content/widgets/offers-notification.json +11 -0
  123. package/packages/storefront/content/widgets/opinioes-verificadas.json +18 -0
  124. package/packages/storefront/content/widgets/product-card.json +10 -0
  125. package/packages/storefront/content/widgets/product.json +13 -0
  126. package/packages/storefront/content/widgets/search-engine.json +8 -0
  127. package/packages/storefront/content/widgets/search.json +6 -0
  128. package/packages/storefront/content/widgets/tag-manager.json +12 -0
  129. package/packages/storefront/content/widgets/tawkto.json +12 -0
  130. package/packages/storefront/content/widgets/trustvox.json +15 -0
  131. package/packages/storefront/content/widgets/user.json +5 -0
  132. package/packages/storefront/dist/client/assets/_...0b5ebd52.css +1 -0
  133. package/packages/storefront/dist/client/assets/_...d4aa8aff.css +1 -0
  134. package/packages/storefront/dist/client/assets/index.5608ba47.css +1 -0
  135. package/packages/storefront/dist/client/client.dbac84dd.js +1 -0
  136. package/packages/storefront/dist/client/favicon.ico +0 -0
  137. package/packages/storefront/dist/client/page.3aa82516.js +1 -0
  138. package/packages/storefront/dist/client/~partytown/partytown-atomics.js +2 -0
  139. package/packages/storefront/dist/client/~partytown/partytown-media.js +2 -0
  140. package/packages/storefront/dist/client/~partytown/partytown-sw.js +2 -0
  141. package/packages/storefront/dist/client/~partytown/partytown.js +2 -0
  142. package/packages/storefront/dist/server/entry.mjs +1674 -0
  143. package/packages/storefront/package.json +7 -3
  144. package/packages/storefront/public/favicon.ico +0 -0
  145. package/packages/storefront/src/components/Card.astro +74 -0
  146. package/packages/storefront/src/layouts/Layout.astro +56 -0
  147. package/packages/storefront/src/pages/[...slug].astro +76 -0
  148. package/packages/storefront/src/pages/index.astro +82 -0
  149. package/packages/storefront/src/storefront-config.ts +28 -0
  150. package/packages/storefront/tsconfig.json +3 -0
  151. package/packages/types/package.json +1 -1
  152. package/packages/apps/_app.config.js +0 -80
  153. package/packages/apps/discounts/lib/discounts.config.d.ts +0 -14
  154. package/packages/apps/discounts/lib/discounts.config.js +0 -19
  155. package/packages/apps/discounts/lib/discounts.config.js.map +0 -1
  156. package/packages/apps/discounts/src/discounts.config.ts +0 -25
@@ -0,0 +1,154 @@
1
+ /* eslint-disable no-console */
2
+ import axios from 'axios';
3
+ import * as xml2js from 'xml2js';
4
+
5
+ const roundDecimal = (num) => Math.round(num * 100) / 100;
6
+
7
+ // https://www.correios.com.br/precos-e-prazos/calculador-remoto-de-precos-e-prazos
8
+ const baseUrl = 'http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?StrRetorno=xml';
9
+
10
+ const sendCalculateRequest = (params, timeout, isDebug = false) => {
11
+ let url = baseUrl;
12
+ Object.keys(params).forEach((param) => {
13
+ if (params[param] !== undefined) {
14
+ url += `&${param}=${params[param]}`;
15
+ }
16
+ });
17
+ if (isDebug === true) {
18
+ // eslint-disable-next-line no-console
19
+ console.log(`[ws] ${url}`);
20
+ }
21
+
22
+ return axios({
23
+ method: 'get',
24
+ url,
25
+ timeout,
26
+ responseType: 'text',
27
+ })
28
+ .then(async (response) => {
29
+ // parse XML to object
30
+ const result = await xml2js.parseStringPromise(response.data);
31
+ let services;
32
+ if (Array.isArray(result.Servicos)) {
33
+ services = result.Servicos;
34
+ } else {
35
+ services = Array.isArray(result.Servicos.cServico)
36
+ ? result.Servicos.cServico
37
+ : [result.Servicos.cServico];
38
+ }
39
+ const availableService = services.find(({ Erro, MsgErro }) => {
40
+ return String(Erro) !== '-33' && !String(MsgErro).includes('Unavailable');
41
+ });
42
+ if (availableService) {
43
+ return {
44
+ ...result,
45
+ services,
46
+ url,
47
+ };
48
+ }
49
+ const err = new Error('Correios WS unavailable');
50
+ err.code = 'E503';
51
+ err.config = response.config;
52
+ err.response = response;
53
+ throw err;
54
+ })
55
+
56
+ .catch((error) => {
57
+ switch (error.code) {
58
+ case 'ECONNRESET':
59
+ case 'ECONNABORTED':
60
+ case 'ETIMEDOUT':
61
+ break;
62
+ default:
63
+ // Debug unknown error
64
+ if (error.response) {
65
+ const err = new Error('Correios WS error');
66
+ err.code = error.code;
67
+ err.config = error.config;
68
+ err.response = {
69
+ status: error.response.status,
70
+ data: error.response.data,
71
+ };
72
+ console.error(err);
73
+ } else {
74
+ console.error(error);
75
+ }
76
+ }
77
+ throw error;
78
+ });
79
+ };
80
+
81
+ export default (params, timeout = 20000, isDebug = false) => {
82
+ params.nIndicaCalculo = 3;
83
+ params.nCdFormato = 1;
84
+ params.nVlDiametro = 0;
85
+ if (!params.nCdServico) {
86
+ // PAC, SEDEX
87
+ params.nCdServico = '04510,04014';
88
+ }
89
+ // Check minimum package dimensions
90
+ if (!(params.nVlPeso >= 0.1)) {
91
+ params.nVlPeso = 0.1;
92
+ } else {
93
+ params.nVlPeso = roundDecimal(params.nVlPeso);
94
+ }
95
+ if (!(params.nVlComprimento >= 16)) {
96
+ params.nVlComprimento = 16;
97
+ }
98
+ if (!(params.nVlAltura >= 2)) {
99
+ params.nVlAltura = 2;
100
+ }
101
+ if (!(params.nVlLargura >= 11)) {
102
+ params.nVlLargura = 11;
103
+ }
104
+
105
+ // Optional additional services
106
+ ['sCdMaoPropria', 'sCdAvisoRecebimento'].forEach((param) => {
107
+ if (!params[param]) {
108
+ params[param] = 'n';
109
+ }
110
+ });
111
+ if (params.nVlValorDeclarado === undefined) {
112
+ params.nVlValorDeclarado = 0;
113
+ } else if (params.nVlValorDeclarado < 24) {
114
+ params.nVlValorDeclarado = 24;
115
+ } else if (params.nVlValorDeclarado > 10000) {
116
+ params.nVlValorDeclarado = 10000;
117
+ } else {
118
+ params.nVlValorDeclarado = roundDecimal(params.nVlValorDeclarado);
119
+ }
120
+
121
+ const promises = [];
122
+ if (!params.nCdEmpresa || !params.sDsSenha) {
123
+ // Correios limit up to 1 service code per public request
124
+ params.nCdServico.split(',').forEach((nCdServico) => {
125
+ if (nCdServico) {
126
+ promises.push(sendCalculateRequest({ ...params, nCdServico }, timeout, isDebug));
127
+ }
128
+ });
129
+ } else {
130
+ // Can send multiple service codes
131
+ promises.push(sendCalculateRequest(params, timeout, isDebug));
132
+ }
133
+
134
+ return Promise.all(promises).then((results) => {
135
+ if (results.length === 1) {
136
+ // single request with multiple services
137
+ const { Servicos, url } = results[0];
138
+ const { cServico } = Servicos;
139
+ return {
140
+ Servicos: {
141
+ cServico: (Array.isArray(cServico) ? cServico : [cServico])
142
+ .map((_cServico) => ({ ..._cServico, url })),
143
+ },
144
+ };
145
+ }
146
+ return {
147
+ Servicos: {
148
+ cServico: results.map(({ Servicos, url }) => {
149
+ return { ...Servicos.cServico, url };
150
+ }),
151
+ },
152
+ };
153
+ });
154
+ };
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "@cloudcommerce/app-correios",
3
+ "type": "module",
4
+ "version": "0.0.66",
5
+ "description": "E-Com Plus Cloud Commerce app for Correios shipping calculation",
6
+ "main": "lib/correios.js",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/ecomplus/cloud-commerce.git",
10
+ "directory": "packages/correios"
11
+ },
12
+ "author": "E-Com Club Softwares para E-commerce <ti@e-com.club>",
13
+ "license": "Apache 2.0 with Commons Clause",
14
+ "bugs": {
15
+ "url": "https://github.com/ecomplus/cloud-commerce/issues"
16
+ },
17
+ "homepage": "https://github.com/ecomplus/cloud-commerce/tree/main/packages/correios#readme",
18
+ "scripts": {
19
+ "build": "sh ../../../scripts/build-lib.sh"
20
+ },
21
+ "dependencies": {
22
+ "@cloudcommerce/api": "workspace:*",
23
+ "axios": "^0.27.2",
24
+ "xml2js": "^0.4.23"
25
+ },
26
+ "devDependencies": {
27
+ "@cloudcommerce/types": "workspace:*"
28
+ }
29
+ }
@@ -0,0 +1,7 @@
1
+ /* eslint-disable import/prefer-default-export */
2
+ import type { AppModuleBody } from '@cloudcommerce/types';
3
+ import handleCalculateShipping from '../lib-mjs/calculate-correios.mjs';
4
+
5
+ export const calculateShipping = async (modBody: AppModuleBody) => {
6
+ return handleCalculateShipping(modBody);
7
+ };
@@ -0,0 +1 @@
1
+ export * from './correios';
@@ -0,0 +1,6 @@
1
+ {
2
+ "extends": "../../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "declaration": true
5
+ }
6
+ }
@@ -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/app-custom-shipping`
@@ -0,0 +1,2 @@
1
+ import type { AppModuleBody } from '@cloudcommerce/types';
2
+ export declare const calculateShipping: (modBody: AppModuleBody) => Promise<any>;
@@ -0,0 +1,6 @@
1
+ import handleCalculateShipping from '../lib-mjs/calculate-custom-shipping.mjs';
2
+
3
+ export const calculateShipping = async (modBody) => {
4
+ return handleCalculateShipping(modBody);
5
+ };
6
+ // # sourceMappingURL=custom-shipping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-shipping.js","sourceRoot":"","sources":["../src/custom-shipping.ts"],"names":[],"mappings":"AAEA,OAAO,uBAAuB,MAAM,0CAA0C,CAAC;AAE/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,OAAsB,EAAE,EAAE;IAChE,OAAO,uBAAuB,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './custom-shipping';
@@ -0,0 +1,2 @@
1
+ export * from './custom-shipping.js';
2
+ // # sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,251 @@
1
+ export default async ({ params, application }) => {
2
+ const config = {
3
+ ...application.data,
4
+ ...application.hidden_data,
5
+ };
6
+ // https://apx-mods.e-com.plus/api/v1/calculate_shipping/response_schema.json?store_id=100
7
+ const response = {
8
+ shipping_services: [],
9
+ };
10
+ let shippingRules;
11
+ if (Array.isArray(config.shipping_rules) && config.shipping_rules.length) {
12
+ shippingRules = config.shipping_rules;
13
+ } else {
14
+ // anything to do without shipping rules
15
+ return response;
16
+ }
17
+
18
+ const destinationZip = params.to?.zip.replace(/\D/g, '') || '';
19
+ let originZip = params.from?.zip || config.zip || '';
20
+ const checkZipCode = (rule) => {
21
+ // validate rule zip range
22
+ if (destinationZip && rule.zip_range) {
23
+ const { min, max } = rule.zip_range;
24
+ return Boolean((!min || destinationZip >= min) && (!max || destinationZip <= max));
25
+ }
26
+ return true;
27
+ };
28
+
29
+ // search for configured free shipping rule and origin zip by rule
30
+ for (let i = 0; i < shippingRules.length; i++) {
31
+ const rule = shippingRules[i];
32
+ if (
33
+ checkZipCode(rule)
34
+ && !rule.total_price
35
+ && !rule.disable_free_shipping_from
36
+ && !(rule.excedent_weight_cost > 0)
37
+ && !(rule.amount_tax > 0)
38
+ ) {
39
+ if (!originZip && rule.from && rule.from.zip) {
40
+ originZip = rule.from.zip;
41
+ }
42
+ if (!rule.min_amount) {
43
+ response.free_shipping_from_value = 0;
44
+ if (originZip) {
45
+ break;
46
+ }
47
+ } else if (!(response.free_shipping_from_value <= rule.min_amount)) {
48
+ response.free_shipping_from_value = rule.min_amount;
49
+ }
50
+ }
51
+ }
52
+
53
+ // params object follows calculate shipping request schema:
54
+ // https://apx-mods.e-com.plus/api/v1/calculate_shipping/schema.json?store_id=100
55
+ if (!params.to) {
56
+ // respond only with free shipping option
57
+ return response;
58
+ }
59
+
60
+ if (!originZip) {
61
+ // must have configured origin zip code to continue
62
+ const rule = shippingRules.find((_rule) => {
63
+ return Boolean(checkZipCode(_rule) && _rule.from && _rule.from.zip);
64
+ });
65
+ if (rule) {
66
+ originZip = rule.from.zip;
67
+ }
68
+ if (!originZip) {
69
+ return {
70
+ error: 'CALCULATE_ERR',
71
+ message: 'Zip code is unset on app hidden data (merchant must configure the app)',
72
+ };
73
+ }
74
+ }
75
+
76
+ // calculate weight and pkg value from items list
77
+ let amount = params.subtotal || 0;
78
+ if (params.items) {
79
+ let finalWeight = 0;
80
+ params.items.forEach(({
81
+ price,
82
+ quantity,
83
+ dimensions,
84
+ weight,
85
+ }) => {
86
+ let physicalWeight = 0;
87
+ let cubicWeight = 1;
88
+ if (!params.subtotal) {
89
+ amount += price * quantity;
90
+ }
91
+
92
+ // sum physical weight
93
+ if (weight && weight.value) {
94
+ switch (weight.unit) {
95
+ case 'kg':
96
+ physicalWeight = weight.value;
97
+ break;
98
+ case 'g':
99
+ physicalWeight = weight.value / 1000;
100
+ break;
101
+ case 'mg':
102
+ physicalWeight = weight.value / 1000000;
103
+ break;
104
+ default:
105
+ }
106
+ }
107
+
108
+ // sum total items dimensions to calculate cubic weight
109
+ if (dimensions) {
110
+ const sumDimensions = {};
111
+ Object.keys(dimensions).forEach((side) => {
112
+ const dimension = dimensions[side];
113
+ if (dimension && dimension.value) {
114
+ let dimensionValue;
115
+ switch (dimension.unit) {
116
+ case 'cm':
117
+ dimensionValue = dimension.value;
118
+ break;
119
+ case 'm':
120
+ dimensionValue = dimension.value * 100;
121
+ break;
122
+ case 'mm':
123
+ dimensionValue = dimension.value / 10;
124
+ break;
125
+ default:
126
+ }
127
+ // add/sum current side to final dimensions object
128
+ if (dimensionValue) {
129
+ sumDimensions[side] = sumDimensions[side]
130
+ ? sumDimensions[side] + dimensionValue
131
+ : dimensionValue;
132
+ }
133
+ }
134
+ });
135
+
136
+ // calculate cubic weight
137
+ // https://suporte.boxloja.pro/article/82-correios-calculo-frete
138
+ // (C x L x A) / 6.000
139
+ Object.keys(sumDimensions).forEach((side) => {
140
+ if (sumDimensions[side]) {
141
+ cubicWeight *= sumDimensions[side];
142
+ }
143
+ });
144
+ if (cubicWeight > 0) {
145
+ cubicWeight /= 6000;
146
+ }
147
+ }
148
+ const unitWeight = cubicWeight < 5 || physicalWeight > cubicWeight
149
+ ? physicalWeight : cubicWeight;
150
+ finalWeight += (quantity * unitWeight);
151
+ });
152
+
153
+ // start filtering shipping rules
154
+ const validShippingRules = shippingRules.filter((rule) => {
155
+ if (typeof rule === 'object' && rule) {
156
+ return (!params.service_code || params.service_code === rule.service_code)
157
+ && checkZipCode(rule)
158
+ && (!rule.min_amount || amount >= rule.min_amount)
159
+ && (!rule.max_cubic_weight
160
+ || rule.excedent_weight_cost > 0
161
+ || finalWeight <= rule.max_cubic_weight);
162
+ }
163
+ return false;
164
+ });
165
+
166
+ if (validShippingRules.length) {
167
+ // group by service code selecting lower price
168
+ const shippingRulesByCode = validShippingRules.reduce((_shippingRulesByCode, rule) => {
169
+ if (typeof rule.total_price !== 'number') {
170
+ rule.total_price = 0;
171
+ }
172
+ if (typeof rule.price !== 'number') {
173
+ rule.price = rule.total_price;
174
+ }
175
+ if (rule.excedent_weight_cost > 0 && finalWeight > rule.max_cubic_weight) {
176
+ rule.total_price += (rule.excedent_weight_cost * (finalWeight - rule.max_cubic_weight));
177
+ }
178
+ if (typeof rule.amount_tax === 'number' && !Number.isNaN(rule.amount_tax)) {
179
+ rule.total_price += ((rule.amount_tax * amount) / 100);
180
+ }
181
+ const serviceCode = rule.service_code;
182
+ const currentShippingRule = _shippingRulesByCode[serviceCode];
183
+ if (!currentShippingRule || currentShippingRule.total_price > rule.total_price) {
184
+ _shippingRulesByCode[serviceCode] = rule;
185
+ }
186
+ return _shippingRulesByCode;
187
+ }, {});
188
+
189
+ // parse final shipping rules object to shipping services array
190
+ Object.keys(shippingRulesByCode).forEach((serviceCode) => {
191
+ const rule = shippingRulesByCode[serviceCode];
192
+ if (rule) {
193
+ let { label } = rule;
194
+ // delete filter properties from rule object
195
+ delete rule.service_code;
196
+ delete rule.zip_range;
197
+ delete rule.min_amount;
198
+ delete rule.max_cubic_weight;
199
+ delete rule.excedent_weight_cost;
200
+ delete rule.amount_tax;
201
+ delete rule.label;
202
+
203
+ // also try to find corresponding service object from config
204
+ let service;
205
+ if (Array.isArray(config.services)) {
206
+ service = config.services.find((_service) => {
207
+ return _service && _service.service_code === serviceCode;
208
+ });
209
+ if (service && !label) {
210
+ label = service.label;
211
+ }
212
+ }
213
+ if (!label) {
214
+ label = serviceCode;
215
+ }
216
+
217
+ response.shipping_services.push({
218
+ // label, service_code, carrier (and maybe more) from service object
219
+ ...service,
220
+ service_code: serviceCode,
221
+ label,
222
+ shipping_line: {
223
+ from: {
224
+ ...rule.from,
225
+ ...params.from,
226
+ zip: String((rule.from && rule.from.zip) || originZip).replace(/\D/g, ''),
227
+ },
228
+ to: params.to,
229
+ price: 0,
230
+ total_price: 0,
231
+ // price, total_price (and maybe more) from rule object
232
+ ...rule,
233
+ delivery_time: {
234
+ days: 20,
235
+ working_days: true,
236
+ ...rule.delivery_time,
237
+ },
238
+ posting_deadline: {
239
+ days: 0,
240
+ ...config.posting_deadline,
241
+ ...rule.posting_deadline,
242
+ },
243
+ },
244
+ });
245
+ }
246
+ });
247
+ }
248
+ }
249
+ // expecting to have response with shipping services here
250
+ return response;
251
+ };
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "@cloudcommerce/app-custom-shipping",
3
+ "type": "module",
4
+ "version": "0.0.66",
5
+ "description": "E-Com Plus Cloud Commerce app for custom shipping methods",
6
+ "main": "lib/custom-shipping.js",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/ecomplus/cloud-commerce.git",
10
+ "directory": "packages/custom-shipping"
11
+ },
12
+ "author": "E-Com Club Softwares para E-commerce <ti@e-com.club>",
13
+ "license": "Apache 2.0 with Commons Clause",
14
+ "bugs": {
15
+ "url": "https://github.com/ecomplus/cloud-commerce/issues"
16
+ },
17
+ "homepage": "https://github.com/ecomplus/cloud-commerce/tree/main/packages/custom-shipping#readme",
18
+ "scripts": {
19
+ "build": "sh ../../../scripts/build-lib.sh"
20
+ },
21
+ "dependencies": {
22
+ "@cloudcommerce/api": "workspace:*"
23
+ },
24
+ "devDependencies": {
25
+ "@cloudcommerce/types": "workspace:*"
26
+ }
27
+ }
@@ -0,0 +1,7 @@
1
+ /* eslint-disable import/prefer-default-export */
2
+ import type { AppModuleBody } from '@cloudcommerce/types';
3
+ import handleCalculateShipping from '../lib-mjs/calculate-custom-shipping.mjs';
4
+
5
+ export const calculateShipping = async (modBody: AppModuleBody) => {
6
+ return handleCalculateShipping(modBody);
7
+ };
@@ -0,0 +1 @@
1
+ export * from './custom-shipping';
@@ -0,0 +1,6 @@
1
+ {
2
+ "extends": "../../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "declaration": true
5
+ }
6
+ }
@@ -1,2 +1,2 @@
1
- export * from './discounts';
1
+ export * from './discounts.js';
2
2
  // # sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-discounts",
3
3
  "type": "module",
4
- "version": "0.0.63",
4
+ "version": "0.0.66",
5
5
  "description": "E-Com Plus Cloud Commerce app for complex discount rules",
6
6
  "main": "lib/discounts.js",
7
7
  "repository": {
@@ -20,13 +20,9 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "@cloudcommerce/api": "workspace:*",
23
- "@cloudcommerce/firebase": "workspace:*",
24
- "@ecomplus/utils": "^1.4.1",
25
- "firebase-admin": "^11.0.1",
26
- "firebase-functions": "^3.22.0"
23
+ "@ecomplus/utils": "^1.4.1"
27
24
  },
28
25
  "devDependencies": {
29
- "@cloudcommerce/types": "workspace:*",
30
- "@firebase/app-types": "^0.7.0"
26
+ "@cloudcommerce/types": "workspace:*"
31
27
  }
32
28
  }
@@ -1 +1 @@
1
- # `@cloudcommerce/tiny-erp`
1
+ # `@cloudcommerce/app-tiny-erp`
@@ -80,7 +80,6 @@ const handleApiEvent = async ({
80
80
  const ids = actionQueues[queue];
81
81
  if (Array.isArray(ids) && ids.length) {
82
82
  const isHiddenQueue = action.charAt(0) === '_';
83
- const mustUpdateAppQueue = evName === 'applications-dataSet';
84
83
  const handlerName = action.replace(/^_+/, '');
85
84
  const handler = integrationHandlers[handlerName][queue.toLowerCase()];
86
85
  const nextId = ids[0];
@@ -94,7 +93,6 @@ const handleApiEvent = async ({
94
93
  queue,
95
94
  nextId,
96
95
  key,
97
- mustUpdateAppQueue,
98
96
  app,
99
97
  };
100
98
  return handler(apiDoc, queueEntry, appData, canCreateNew, isHiddenQueue).then((payload) => {
@@ -1 +1 @@
1
- {"version":3,"file":"event-to-tiny.js","sourceRoot":"","sources":["../src/event-to-tiny.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-to-tiny.js","sourceRoot":"","sources":["../src/event-to-tiny.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export * from './tiny-erp';
1
+ export * from './tiny-erp.js';
2
2
  // # sourceMappingURL=index.js.map
@@ -69,12 +69,15 @@ export default async (apiDoc, queueEntry, appData, canCreateNew) => {
69
69
  },
70
70
  });
71
71
  }
72
- logger.info(`${orderId} found with tiny status ${tinyStatus}`);
73
- if (tinyStatus) {
74
- return postTiny('/pedido.alterar.situacao', {
75
- id: originalTinyOrder.id,
76
- situacao: tinyStatus,
77
- });
72
+ if (originalTinyOrder) {
73
+ const { id, situacao } = originalTinyOrder;
74
+ logger.info(`${orderId} found with tiny status ${situacao} => ${tinyStatus}`);
75
+ if (tinyStatus && tinyStatus !== situacao) {
76
+ return postTiny('/pedido.alterar.situacao', {
77
+ id,
78
+ situacao: tinyStatus,
79
+ });
80
+ }
78
81
  }
79
82
  return null;
80
83
  };
@@ -1 +1 @@
1
- {"version":3,"file":"export-order-to-tiny.js","sourceRoot":"","sources":["../../src/integration/export-order-to-tiny.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export-order-to-tiny.js","sourceRoot":"","sources":["../../src/integration/export-order-to-tiny.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-tiny-erp",
3
3
  "type": "module",
4
- "version": "0.0.63",
4
+ "version": "0.0.66",
5
5
  "description": "E-Com Plus Cloud Commerce app for Tiny ERP",
6
6
  "main": "lib/tiny-erp.js",
7
7
  "repository": {