cloudcommerce 0.0.126 → 0.0.128

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 (313) hide show
  1. package/.vscode/settings.json +3 -0
  2. package/CHANGELOG.md +50 -0
  3. package/action.yml +50 -10
  4. package/ecomplus-stores/monocard/README.md +0 -15
  5. package/ecomplus-stores/monocard/README.pt-BR.md +0 -15
  6. package/ecomplus-stores/monocard/functions/core/package.json +1 -1
  7. package/ecomplus-stores/monocard/functions/events/package.json +2 -2
  8. package/ecomplus-stores/monocard/functions/modules/package.json +2 -2
  9. package/ecomplus-stores/monocard/functions/passport/package.json +2 -2
  10. package/ecomplus-stores/monocard/functions/ssr/package.json +8 -8
  11. package/ecomplus-stores/monocard/functions/ssr/tailwind.config.cjs +1 -3
  12. package/ecomplus-stores/monocard/functions/ssr/{uno.config.ts → uno.config.cjs} +1 -1
  13. package/ecomplus-stores/monocard/package.json +1 -1
  14. package/ecomplus-stores/tia-sonia/README.md +0 -15
  15. package/ecomplus-stores/tia-sonia/README.pt-BR.md +0 -15
  16. package/ecomplus-stores/tia-sonia/functions/core/package.json +1 -1
  17. package/ecomplus-stores/tia-sonia/functions/events/package.json +2 -2
  18. package/ecomplus-stores/tia-sonia/functions/modules/package.json +2 -2
  19. package/ecomplus-stores/tia-sonia/functions/passport/package.json +2 -2
  20. package/ecomplus-stores/tia-sonia/functions/ssr/package.json +7 -7
  21. package/ecomplus-stores/tia-sonia/functions/ssr/tailwind.config.cjs +1 -3
  22. package/ecomplus-stores/tia-sonia/functions/ssr/{uno.config.ts → uno.config.cjs} +1 -1
  23. package/ecomplus-stores/tia-sonia/package.json +1 -1
  24. package/package.json +14 -14
  25. package/packages/api/lib/api.d.ts +4 -4
  26. package/packages/api/lib/types.d.ts +41 -41
  27. package/packages/api/package.json +1 -1
  28. package/packages/apps/correios/package.json +2 -2
  29. package/packages/apps/custom-shipping/package.json +1 -1
  30. package/packages/apps/discounts/lib-mjs/apply-discount.mjs +94 -20
  31. package/packages/apps/discounts/package.json +2 -2
  32. package/packages/apps/emails/CHANGELOG.md +1 -0
  33. package/packages/apps/emails/README.md +1 -0
  34. package/packages/apps/emails/lib/events-to-app-emails.js +19 -0
  35. package/packages/apps/emails/lib/events-to-app-emails.js.map +1 -0
  36. package/packages/apps/emails/lib/firebase.js +19 -0
  37. package/packages/apps/emails/lib/firebase.js.map +1 -0
  38. package/packages/apps/emails/lib/functios-lib/abandoned-carts.js +86 -0
  39. package/packages/apps/emails/lib/functios-lib/abandoned-carts.js.map +1 -0
  40. package/packages/apps/emails/lib/functios-lib/handle-orders.js +174 -0
  41. package/packages/apps/emails/lib/functios-lib/handle-orders.js.map +1 -0
  42. package/packages/apps/emails/lib/functios-lib/trigger-actions.js +178 -0
  43. package/packages/apps/emails/lib/functios-lib/trigger-actions.js.map +1 -0
  44. package/packages/apps/emails/lib/functios-lib/utils.js +33 -0
  45. package/packages/apps/emails/lib/functios-lib/utils.js.map +1 -0
  46. package/packages/apps/emails/lib/index.js +2 -0
  47. package/packages/apps/emails/lib/index.js.map +1 -0
  48. package/packages/apps/emails/package.json +33 -0
  49. package/packages/apps/emails/src/events-to-app-emails.ts +27 -0
  50. package/packages/apps/emails/src/firebase.ts +25 -0
  51. package/packages/apps/emails/src/functios-lib/abandoned-carts.ts +100 -0
  52. package/packages/apps/emails/src/functios-lib/handle-orders.ts +232 -0
  53. package/packages/apps/emails/src/functios-lib/trigger-actions.ts +177 -0
  54. package/packages/apps/emails/src/functios-lib/utils.ts +44 -0
  55. package/packages/apps/emails/src/index.ts +1 -0
  56. package/packages/apps/emails/tsconfig.json +3 -0
  57. package/packages/apps/frenet/package.json +2 -2
  58. package/packages/apps/infinitepay/CHANGELOG.md +1 -0
  59. package/packages/apps/infinitepay/README.md +1 -0
  60. package/packages/apps/infinitepay/assets/onload-expression.js +57 -0
  61. package/packages/apps/infinitepay/lib/functions-lib/add-installments.d.ts +55 -0
  62. package/packages/apps/infinitepay/lib/functions-lib/add-installments.js +63 -0
  63. package/packages/apps/infinitepay/lib/functions-lib/add-installments.js.map +1 -0
  64. package/packages/apps/infinitepay/lib/functions-lib/ip-auth/create-access.d.ts +14 -0
  65. package/packages/apps/infinitepay/lib/functions-lib/ip-auth/create-access.js +63 -0
  66. package/packages/apps/infinitepay/lib/functions-lib/ip-auth/create-access.js.map +1 -0
  67. package/packages/apps/infinitepay/lib/functions-lib/ip-auth/create-axios.d.ts +2 -0
  68. package/packages/apps/infinitepay/lib/functions-lib/ip-auth/create-axios.js +19 -0
  69. package/packages/apps/infinitepay/lib/functions-lib/ip-auth/create-axios.js.map +1 -0
  70. package/packages/apps/infinitepay/lib/functions-lib/ip-auth/oauth.d.ts +2 -0
  71. package/packages/apps/infinitepay/lib/functions-lib/ip-auth/oauth.js +25 -0
  72. package/packages/apps/infinitepay/lib/functions-lib/ip-auth/oauth.js.map +1 -0
  73. package/packages/apps/infinitepay/lib/functions-lib/utils.d.ts +8 -0
  74. package/packages/apps/infinitepay/lib/functions-lib/utils.js +17 -0
  75. package/packages/apps/infinitepay/lib/functions-lib/utils.js.map +1 -0
  76. package/packages/apps/infinitepay/lib/index.d.ts +1 -0
  77. package/packages/apps/infinitepay/lib/index.js +3 -0
  78. package/packages/apps/infinitepay/lib/index.js.map +1 -0
  79. package/packages/apps/infinitepay/lib/infinitepay.d.ts +76 -0
  80. package/packages/apps/infinitepay/lib/infinitepay.js +13 -0
  81. package/packages/apps/infinitepay/lib/infinitepay.js.map +1 -0
  82. package/packages/apps/infinitepay/lib/ip-create-transaction.d.ts +72 -0
  83. package/packages/apps/infinitepay/lib/ip-create-transaction.js +305 -0
  84. package/packages/apps/infinitepay/lib/ip-create-transaction.js.map +1 -0
  85. package/packages/apps/infinitepay/lib/ip-list-payments.d.ts +8 -0
  86. package/packages/apps/infinitepay/lib/ip-list-payments.js +130 -0
  87. package/packages/apps/infinitepay/lib/ip-list-payments.js.map +1 -0
  88. package/packages/apps/infinitepay/lib/ip-webhook.d.ts +5 -0
  89. package/packages/apps/infinitepay/lib/ip-webhook.js +152 -0
  90. package/packages/apps/infinitepay/lib/ip-webhook.js.map +1 -0
  91. package/packages/apps/infinitepay/package.json +38 -0
  92. package/packages/apps/infinitepay/scripts/build.sh +5 -0
  93. package/packages/apps/infinitepay/src/functions-lib/add-installments.ts +78 -0
  94. package/packages/apps/infinitepay/src/functions-lib/ip-auth/create-access.ts +85 -0
  95. package/packages/apps/infinitepay/src/functions-lib/ip-auth/create-axios.ts +20 -0
  96. package/packages/apps/infinitepay/src/functions-lib/ip-auth/oauth.ts +30 -0
  97. package/packages/apps/infinitepay/src/functions-lib/utils.ts +23 -0
  98. package/packages/apps/infinitepay/src/index.ts +2 -0
  99. package/packages/apps/infinitepay/src/infinitepay.ts +13 -0
  100. package/packages/apps/infinitepay/src/ip-create-transaction.ts +418 -0
  101. package/packages/apps/infinitepay/src/ip-list-payments.ts +158 -0
  102. package/packages/apps/infinitepay/src/ip-webhook.ts +184 -0
  103. package/packages/apps/infinitepay/tsconfig.json +6 -0
  104. package/packages/apps/infinitepay/webhook.js +1 -0
  105. package/packages/apps/mercadopago/lib/mp-create-transaction.js +1 -1
  106. package/packages/apps/mercadopago/lib/mp-create-transaction.js.map +1 -1
  107. package/packages/apps/mercadopago/lib/mp-webhook.js +1 -1
  108. package/packages/apps/mercadopago/lib/mp-webhook.js.map +1 -1
  109. package/packages/apps/mercadopago/package.json +4 -4
  110. package/packages/apps/mercadopago/src/mp-create-transaction.ts +1 -1
  111. package/packages/apps/mercadopago/src/mp-webhook.ts +1 -1
  112. package/packages/apps/pagarme/CHANGELOG.md +1 -0
  113. package/packages/apps/pagarme/README.md +1 -0
  114. package/packages/apps/pagarme/assets/onload-expression.js +18 -0
  115. package/packages/apps/pagarme/lib/functions-lib/add-installments.d.ts +55 -0
  116. package/packages/apps/pagarme/lib/functions-lib/add-installments.js +48 -0
  117. package/packages/apps/pagarme/lib/functions-lib/add-installments.js.map +1 -0
  118. package/packages/apps/pagarme/lib/functions-lib/parse-status-to-ecom.d.ts +2 -0
  119. package/packages/apps/pagarme/lib/functions-lib/parse-status-to-ecom.js +24 -0
  120. package/packages/apps/pagarme/lib/functions-lib/parse-status-to-ecom.js.map +1 -0
  121. package/packages/apps/pagarme/lib/index.d.ts +1 -0
  122. package/packages/apps/pagarme/lib/index.js +3 -0
  123. package/packages/apps/pagarme/lib/index.js.map +1 -0
  124. package/packages/apps/pagarme/lib/pagarme-create-transaction.d.ts +82 -0
  125. package/packages/apps/pagarme/lib/pagarme-create-transaction.js +275 -0
  126. package/packages/apps/pagarme/lib/pagarme-create-transaction.js.map +1 -0
  127. package/packages/apps/pagarme/lib/pagarme-list-payments.d.ts +7 -0
  128. package/packages/apps/pagarme/lib/pagarme-list-payments.js +139 -0
  129. package/packages/apps/pagarme/lib/pagarme-list-payments.js.map +1 -0
  130. package/packages/apps/pagarme/lib/pagarme-webhook.d.ts +4 -0
  131. package/packages/apps/pagarme/lib/pagarme-webhook.js +80 -0
  132. package/packages/apps/pagarme/lib/pagarme-webhook.js.map +1 -0
  133. package/packages/apps/pagarme/lib/pagarme.d.ts +86 -0
  134. package/packages/apps/pagarme/lib/pagarme.js +12 -0
  135. package/packages/apps/pagarme/lib/pagarme.js.map +1 -0
  136. package/packages/apps/pagarme/package.json +38 -0
  137. package/packages/apps/pagarme/scripts/build.sh +5 -0
  138. package/packages/apps/pagarme/src/functions-lib/add-installments.ts +59 -0
  139. package/packages/apps/pagarme/src/functions-lib/parse-status-to-ecom.ts +23 -0
  140. package/packages/apps/pagarme/src/index.ts +2 -0
  141. package/packages/apps/pagarme/src/pagarme-create-transaction.ts +307 -0
  142. package/packages/apps/pagarme/src/pagarme-list-payments.ts +158 -0
  143. package/packages/apps/pagarme/src/pagarme-webhook.ts +88 -0
  144. package/packages/apps/pagarme/src/pagarme.ts +12 -0
  145. package/packages/apps/pagarme/tsconfig.json +6 -0
  146. package/packages/apps/pagarme/webhook.js +1 -0
  147. package/packages/apps/pix/CHANGELOG.md +1 -0
  148. package/packages/apps/pix/README.md +1 -0
  149. package/packages/apps/pix/lib/functions-lib/get-certificate.d.ts +2 -0
  150. package/packages/apps/pix/lib/functions-lib/get-certificate.js +21 -0
  151. package/packages/apps/pix/lib/functions-lib/get-certificate.js.map +1 -0
  152. package/packages/apps/pix/lib/functions-lib/pix-auth/construtor.d.ts +15 -0
  153. package/packages/apps/pix/lib/functions-lib/pix-auth/construtor.js +65 -0
  154. package/packages/apps/pix/lib/functions-lib/pix-auth/construtor.js.map +1 -0
  155. package/packages/apps/pix/lib/functions-lib/pix-auth/create-axios.d.ts +6 -0
  156. package/packages/apps/pix/lib/functions-lib/pix-auth/create-axios.js +20 -0
  157. package/packages/apps/pix/lib/functions-lib/pix-auth/create-axios.js.map +1 -0
  158. package/packages/apps/pix/lib/functions-lib/pix-auth/oauth.d.ts +12 -0
  159. package/packages/apps/pix/lib/functions-lib/pix-auth/oauth.js +36 -0
  160. package/packages/apps/pix/lib/functions-lib/pix-auth/oauth.js.map +1 -0
  161. package/packages/apps/pix/lib/index.d.ts +1 -0
  162. package/packages/apps/pix/lib/index.js +3 -0
  163. package/packages/apps/pix/lib/index.js.map +1 -0
  164. package/packages/apps/pix/lib/pix-create-transaction.d.ts +73 -0
  165. package/packages/apps/pix/lib/pix-create-transaction.js +221 -0
  166. package/packages/apps/pix/lib/pix-create-transaction.js.map +1 -0
  167. package/packages/apps/pix/lib/pix-list-payments.d.ts +14 -0
  168. package/packages/apps/pix/lib/pix-list-payments.js +80 -0
  169. package/packages/apps/pix/lib/pix-list-payments.js.map +1 -0
  170. package/packages/apps/pix/lib/pix-webhook.d.ts +5 -0
  171. package/packages/apps/pix/lib/pix-webhook.js +146 -0
  172. package/packages/apps/pix/lib/pix-webhook.js.map +1 -0
  173. package/packages/apps/pix/lib/pix.d.ts +77 -0
  174. package/packages/apps/pix/lib/pix.js +13 -0
  175. package/packages/apps/pix/lib/pix.js.map +1 -0
  176. package/packages/apps/pix/package.json +36 -0
  177. package/packages/apps/pix/src/functions-lib/get-certificate.ts +24 -0
  178. package/packages/apps/pix/src/functions-lib/pix-auth/construtor.ts +87 -0
  179. package/packages/apps/pix/src/functions-lib/pix-auth/create-axios.ts +24 -0
  180. package/packages/apps/pix/src/functions-lib/pix-auth/oauth.ts +50 -0
  181. package/packages/apps/pix/src/index.ts +2 -0
  182. package/packages/apps/pix/src/pix-create-transaction.ts +261 -0
  183. package/packages/apps/pix/src/pix-list-payments.ts +93 -0
  184. package/packages/apps/pix/src/pix-webhook.ts +171 -0
  185. package/packages/apps/pix/src/pix.ts +13 -0
  186. package/packages/apps/pix/tsconfig.json +6 -0
  187. package/packages/apps/pix/webhook.js +1 -0
  188. package/packages/apps/tiny-erp/package.json +5 -5
  189. package/packages/cli/bin/run.mjs +1 -1
  190. package/packages/cli/lib/build.js +14 -7
  191. package/packages/cli/lib/{index.js → cli.js} +2 -2
  192. package/packages/cli/lib/setup-gcloud.js +1 -1
  193. package/packages/cli/package.json +3 -3
  194. package/packages/cli/src/build.ts +17 -10
  195. package/packages/cli/src/{index.ts → cli.ts} +2 -2
  196. package/packages/cli/src/setup-gcloud.ts +1 -1
  197. package/packages/config/lib/config.d.ts +4 -2
  198. package/packages/config/lib/config.js +11 -4
  199. package/packages/config/lib/config.js.map +1 -1
  200. package/packages/config/lib/env.d.ts +1 -1
  201. package/packages/config/package.json +2 -2
  202. package/packages/config/src/config.ts +14 -5
  203. package/packages/emails/CHANGELOG.md +1 -0
  204. package/packages/emails/README.md +1 -0
  205. package/packages/emails/lib/index.d.ts +56 -0
  206. package/packages/emails/lib/index.js +83 -0
  207. package/packages/emails/lib/index.js.map +1 -0
  208. package/packages/emails/lib/parse-template-to-html.d.ts +3 -0
  209. package/packages/emails/lib/parse-template-to-html.js +16 -0
  210. package/packages/emails/lib/parse-template-to-html.js.map +1 -0
  211. package/packages/emails/lib/providers/sendgrid/index.d.ts +8 -0
  212. package/packages/emails/lib/providers/sendgrid/index.js +54 -0
  213. package/packages/emails/lib/providers/sendgrid/index.js.map +1 -0
  214. package/packages/emails/lib/providers/sendgrid/parse-to-data.d.ts +5 -0
  215. package/packages/emails/lib/providers/sendgrid/parse-to-data.js +55 -0
  216. package/packages/emails/lib/providers/sendgrid/parse-to-data.js.map +1 -0
  217. package/packages/emails/lib/providers/smtp/index.d.ts +13 -0
  218. package/packages/emails/lib/providers/smtp/index.js +79 -0
  219. package/packages/emails/lib/providers/smtp/index.js.map +1 -0
  220. package/packages/emails/package.json +35 -0
  221. package/packages/emails/src/index.ts +144 -0
  222. package/packages/emails/src/parse-template-to-html.ts +19 -0
  223. package/packages/emails/src/providers/sendgrid/index.ts +78 -0
  224. package/packages/emails/src/providers/sendgrid/parse-to-data.ts +92 -0
  225. package/packages/emails/src/providers/smtp/index.ts +115 -0
  226. package/packages/emails/tests/assets/customer.json +68 -0
  227. package/packages/emails/tests/assets/order.json +190 -0
  228. package/packages/emails/tests/assets/store.json +25 -0
  229. package/packages/emails/tests/ex.config-sendgrid.json +19 -0
  230. package/packages/emails/tests/ex.config-smtp.json +21 -0
  231. package/packages/emails/tests/sendgrid.test.ts +156 -0
  232. package/packages/emails/tests/smtp.test.ts +147 -0
  233. package/packages/emails/tests/templates/new-order.ejs +37 -0
  234. package/packages/emails/tsconfig.json +6 -0
  235. package/packages/emails/types/index.d.ts +84 -0
  236. package/packages/emails/types/sendgrid.d.ts +28 -0
  237. package/packages/events/lib/firebase.js +8 -0
  238. package/packages/events/lib/firebase.js.map +1 -1
  239. package/packages/events/package.json +7 -3
  240. package/packages/events/src/firebase.ts +8 -0
  241. package/packages/firebase/lib/config.d.ts +15 -1
  242. package/packages/firebase/lib/config.js +28 -1
  243. package/packages/firebase/lib/config.js.map +1 -1
  244. package/packages/firebase/lib/helpers/pubsub.d.ts +2 -2
  245. package/packages/firebase/package.json +5 -5
  246. package/packages/firebase/src/config.ts +31 -1
  247. package/packages/i18n/package.json +1 -1
  248. package/packages/modules/lib/firebase/call-app-module.js +36 -0
  249. package/packages/modules/lib/firebase/call-app-module.js.map +1 -1
  250. package/packages/modules/package.json +9 -6
  251. package/packages/modules/schemas/apply_discount.cjs +47 -0
  252. package/packages/modules/src/firebase/call-app-module.ts +36 -0
  253. package/packages/passport/lib/firebase/authenticate-customer.js +1 -1
  254. package/packages/passport/lib/firebase/authenticate-customer.js.map +1 -1
  255. package/packages/passport/package.json +3 -3
  256. package/packages/passport/src/firebase/authenticate-customer.ts +2 -2
  257. package/packages/ssr/package.json +8 -8
  258. package/packages/storefront/.eslintrc.cjs +4 -0
  259. package/packages/storefront/astro.config.mjs +12 -6
  260. package/packages/storefront/dist/client/HeaderButtons.bc4a5c97.js +1 -0
  261. package/packages/storefront/dist/client/assets/_...slug_.acb18581.css +1 -0
  262. package/packages/storefront/dist/client/chunks/HeaderButtons.861af799.js +1 -0
  263. package/packages/storefront/dist/client/chunks/{LoginForm.0c5ba697.js → LoginForm.7e9c481c.js} +4 -4
  264. package/packages/storefront/dist/client/chunks/runtime-dom.esm-bundler.1b578f5a.js +1 -0
  265. package/packages/storefront/dist/client/{client.69fdbd1b.js → client.75c18572.js} +1 -1
  266. package/packages/storefront/dist/client/manifest.webmanifest +1 -1
  267. package/packages/storefront/dist/client/page.5a6f3db5.js +1 -0
  268. package/packages/storefront/dist/client/sw.js +1 -1
  269. package/packages/storefront/dist/server/{avif → chunks/avif}/avif_node_dec.wasm +0 -0
  270. package/packages/storefront/dist/server/{avif → chunks/avif}/avif_node_enc.wasm +0 -0
  271. package/packages/storefront/dist/server/chunks/image-pool.f66f99fb.mjs +10791 -0
  272. package/packages/storefront/dist/server/{mozjpeg → chunks/mozjpeg}/mozjpeg_node_dec.wasm +0 -0
  273. package/packages/storefront/dist/server/{mozjpeg → chunks/mozjpeg}/mozjpeg_node_enc.wasm +0 -0
  274. package/packages/storefront/dist/server/{png → chunks/png}/squoosh_oxipng_bg.wasm +0 -0
  275. package/packages/storefront/dist/server/{png → chunks/png}/squoosh_png_bg.wasm +0 -0
  276. package/packages/storefront/dist/server/{resize → chunks/resize}/squoosh_resize_bg.wasm +0 -0
  277. package/packages/storefront/dist/server/{rotate → chunks/rotate}/rotate.wasm +0 -0
  278. package/packages/storefront/dist/server/{webp → chunks/webp}/webp_node_dec.wasm +0 -0
  279. package/packages/storefront/dist/server/{webp → chunks/webp}/webp_node_enc.wasm +0 -0
  280. package/packages/storefront/dist/server/entry.mjs +10832 -13568
  281. package/packages/storefront/dist/server/manifest.webmanifest +1 -1
  282. package/packages/storefront/package.json +22 -18
  283. package/packages/storefront/src/lib/assets/base.css +110 -0
  284. package/packages/storefront/src/lib/assets/dark.css +92 -0
  285. package/packages/storefront/src/lib/assets/forms.css +0 -0
  286. package/packages/storefront/src/lib/assets/pico.css +29 -130
  287. package/packages/storefront/src/lib/assets/preflight.css +362 -0
  288. package/packages/storefront/src/lib/assets/typography.css +15 -0
  289. package/packages/storefront/src/lib/components/ADrawer.vue +11 -11
  290. package/packages/storefront/src/lib/components/LoginDrawer.vue +1 -1
  291. package/packages/storefront/src/lib/layouts/BaseBody.astro +2 -1
  292. package/packages/storefront/src/lib/layouts/BaseHead.astro +13 -3
  293. package/packages/storefront/src/lib/layouts/BaseStateJson.astro +3 -12
  294. package/packages/storefront/src/lib/ssr/image.ts +11 -5
  295. package/packages/storefront/src/lib/ssr-context.ts +3 -3
  296. package/packages/storefront/src/lib/state/shopping-cart/add-cart-item.ts +37 -57
  297. package/packages/storefront/src/lib/state/shopping-cart/parse-product.ts +36 -0
  298. package/packages/storefront/src/lib/state/shopping-cart.ts +32 -1
  299. package/packages/storefront/src/lib/types/cms-settings.d.ts +3 -1
  300. package/packages/storefront/storefront.cms.cjs +41 -0
  301. package/packages/storefront/storefront.cms.mjs +7 -2
  302. package/packages/storefront/storefront.config.mjs +1 -0
  303. package/packages/storefront/tailwind.config.cjs +142 -113
  304. package/packages/storefront/uno.config.cjs +126 -0
  305. package/packages/types/index.ts +21 -0
  306. package/packages/types/modules/apply_discount:response.d.ts +32 -0
  307. package/packages/types/package.json +1 -1
  308. package/packages/storefront/dist/client/HeaderButtons.b5b4a939.js +0 -1
  309. package/packages/storefront/dist/client/assets/_...slug_.8d138f36.css +0 -4
  310. package/packages/storefront/dist/client/chunks/HeaderButtons.308edb4d.js +0 -1
  311. package/packages/storefront/dist/client/chunks/runtime-dom.esm-bundler.f00ab3bd.js +0 -1
  312. package/packages/storefront/dist/client/page.33c44e88.js +0 -1
  313. package/packages/storefront/uno.config.ts +0 -167
@@ -0,0 +1,144 @@
1
+ import type {
2
+ EmailAdrress,
3
+ TemplateData,
4
+ Template,
5
+ SmtpConfig,
6
+ EmailHeaders,
7
+ } from '../types/index';
8
+ import config from '@cloudcommerce/firebase/lib/config';
9
+ import sendEmailSmpt, { setConfigSmtp } from './providers/smtp/index';
10
+ import sendEmailSendGrid from './providers/sendgrid/index';
11
+
12
+ // https://docs.adonisjs.com/guides/mailer
13
+ let smtpConfig: SmtpConfig | undefined;
14
+
15
+ const setApiKeySendGrid = (apiKey: string) => {
16
+ process.env.SENDGRID_API_KEY = apiKey;
17
+ };
18
+
19
+ const sendEmail = (
20
+ emailData: {
21
+ to: EmailAdrress[],
22
+ subject: string,
23
+ cc?: EmailAdrress[],
24
+ sender?: EmailAdrress,
25
+ bcc?: EmailAdrress[],
26
+ text?: string,
27
+ html?: string,
28
+ templateData?: TemplateData,
29
+ templateId?: string,
30
+ template?: Template,
31
+ },
32
+ ) => {
33
+ const {
34
+ MAIL_SENDER,
35
+ MAIL_SENDER_NAME,
36
+ MAIL_REPLY_TO,
37
+ SMTP_HOST,
38
+ SMTP_PORT,
39
+ SMTP_USER,
40
+ SMTP_PASS,
41
+ SMTP_TLS,
42
+ SENDGRID_API_KEY,
43
+ } = process.env;
44
+
45
+ const {
46
+ templateData,
47
+ templateId,
48
+ template,
49
+ to,
50
+ subject,
51
+ cc,
52
+ sender,
53
+ bcc,
54
+ text,
55
+ html,
56
+ } = emailData;
57
+
58
+ const { cmsSettings } = config.get();
59
+
60
+ if (!templateId && !template && !html) {
61
+ throw new Error('TemplateId, template or html not found');
62
+ }
63
+
64
+ if (!MAIL_SENDER) {
65
+ throw new Error('Sender email not configured');
66
+ }
67
+
68
+ const emailHeaders: EmailHeaders = {
69
+ to,
70
+ subject,
71
+ cc,
72
+ sender,
73
+ bcc,
74
+ from: {
75
+ name: MAIL_SENDER_NAME || cmsSettings.name,
76
+ email: MAIL_SENDER,
77
+ },
78
+ };
79
+
80
+ if (MAIL_REPLY_TO) {
81
+ emailHeaders.replyTo = {
82
+ name: MAIL_SENDER_NAME || cmsSettings.name,
83
+ email: MAIL_REPLY_TO,
84
+ };
85
+ }
86
+
87
+ if ((templateId || template || html) && SENDGRID_API_KEY) {
88
+ return sendEmailSendGrid(
89
+ emailHeaders,
90
+ {
91
+ templateData,
92
+ templateId,
93
+ template,
94
+ html,
95
+ },
96
+ );
97
+ }
98
+
99
+ if (!smtpConfig && SMTP_HOST && SMTP_PORT && SMTP_USER && SMTP_PASS) {
100
+ const port = parseInt(SMTP_PORT, 10);
101
+ const secure = SMTP_TLS && SMTP_TLS.toUpperCase() === 'TRUE' ? true : port === 465;
102
+ // secure = true for 465, false for other ports
103
+ smtpConfig = {
104
+ host: SMTP_HOST,
105
+ port,
106
+ secure,
107
+ auth: { user: SMTP_USER, pass: SMTP_PASS },
108
+ };
109
+ setConfigSmtp(smtpConfig);
110
+ }
111
+
112
+ if ((template || html) && smtpConfig) {
113
+ return sendEmailSmpt(
114
+ emailHeaders,
115
+ {
116
+ text,
117
+ html,
118
+ templateData,
119
+ template,
120
+ },
121
+ );
122
+ }
123
+
124
+ throw new Error('Provider settings or smtp not found');
125
+ };
126
+
127
+ const sendGrid = {
128
+ send: sendEmailSendGrid,
129
+ setConfig: setApiKeySendGrid,
130
+
131
+ };
132
+
133
+ const smtp = {
134
+ send: sendEmailSmpt,
135
+ setConfig: setConfigSmtp,
136
+ };
137
+
138
+ export default { send: sendEmail };
139
+
140
+ export {
141
+ sendEmail,
142
+ sendGrid,
143
+ smtp,
144
+ };
@@ -0,0 +1,19 @@
1
+ import type { TemplateData, Template } from '../types/index';
2
+ import ejs from 'ejs';
3
+
4
+ const parseTemplateToHtml = (
5
+ templateData: TemplateData,
6
+ template: Template,
7
+ ) => {
8
+ if (typeof template === 'string') {
9
+ const html = ejs.render(template, templateData);
10
+ return html;
11
+ }
12
+ /*
13
+ TODO: if in the future the template is an object and
14
+ it is necessary to identify the type of the template
15
+ */
16
+ throw new Error('Template type is not a string');
17
+ };
18
+
19
+ export default parseTemplateToHtml;
@@ -0,0 +1,78 @@
1
+ import type {
2
+ DataEmailSendGrid,
3
+ EmailHeaders,
4
+ TemplateData,
5
+ Template,
6
+ } from '../../../types/index';
7
+ import axios from 'axios';
8
+ import {
9
+ sendGridBodyWithTemplateId,
10
+ sendGridBodyWithTemplate,
11
+ sendGridBodyWithHtml,
12
+ } from './parse-to-data';
13
+
14
+ const sgAxios = axios.create({
15
+ baseURL: 'https://api.sendgrid.com/v3/mail',
16
+ headers: {
17
+ 'Content-Type': 'application/json',
18
+ },
19
+ });
20
+
21
+ const sendEmail = async (
22
+ emailHeaders: EmailHeaders,
23
+ dataOptions: {
24
+ html?: string,
25
+ templateData?: TemplateData,
26
+ templateId?: string,
27
+ template?: Template,
28
+ },
29
+ ) => {
30
+ const {
31
+ templateData,
32
+ templateId,
33
+ template,
34
+ } = dataOptions;
35
+ const { html } = dataOptions;
36
+ let bodyEmail: DataEmailSendGrid | null = null;
37
+ if (templateId && templateData) {
38
+ bodyEmail = sendGridBodyWithTemplateId(emailHeaders, templateData, templateId);
39
+ } else if (template && templateData) {
40
+ bodyEmail = await sendGridBodyWithTemplate(emailHeaders, templateData, template);
41
+ } else if (html) {
42
+ bodyEmail = sendGridBodyWithHtml(emailHeaders, html);
43
+ }
44
+
45
+ if (!bodyEmail) {
46
+ throw new Error(`Email body for template: #${templateId || template}, not found`);
47
+ }
48
+
49
+ try {
50
+ const result = await sgAxios.post('/send', bodyEmail, {
51
+ headers: {
52
+ Authorization: `Bearer ${process.env.SENDGRID_API_KEY}`,
53
+ },
54
+ });
55
+ return result;
56
+ } catch (err: any) {
57
+ const { response } = err;
58
+ const [errors] = response.data.errors;
59
+ if (errors.field === 'template_id' && ((template && templateData) || html)) {
60
+ if (template && templateData) {
61
+ bodyEmail = await sendGridBodyWithTemplate(emailHeaders, templateData, template);
62
+ } else if (html) {
63
+ bodyEmail = sendGridBodyWithHtml(emailHeaders, html);
64
+ }
65
+ if (bodyEmail) {
66
+ return sgAxios.post('/send', bodyEmail, {
67
+ headers: {
68
+ Authorization: `Bearer ${process.env.SENDGRID_API_KEY}`,
69
+ },
70
+ });
71
+ }
72
+ throw new Error('TemplateId and template not found');
73
+ }
74
+ throw err;
75
+ }
76
+ };
77
+
78
+ export default sendEmail;
@@ -0,0 +1,92 @@
1
+ import type {
2
+ EmailHeaders,
3
+ TemplateData,
4
+ Template,
5
+ DataEmailSendGrid,
6
+ } from '../../../types/index';
7
+ import parseTemplateToHtml from '../../parse-template-to-html';
8
+
9
+ const createBodySendGrid = (emailHeaders: EmailHeaders) => {
10
+ const {
11
+ from,
12
+ to,
13
+ subject,
14
+ replyTo,
15
+ cc,
16
+ bcc,
17
+ } = emailHeaders;
18
+
19
+ const body: DataEmailSendGrid = {
20
+ personalizations: [
21
+ {
22
+ to,
23
+ cc,
24
+ bcc,
25
+ },
26
+ ],
27
+ from,
28
+ subject,
29
+ };
30
+
31
+ if (replyTo) {
32
+ if (Array.isArray(replyTo)) {
33
+ body.reply_to_list = replyTo;
34
+ } else {
35
+ body.reply_to = replyTo;
36
+ }
37
+ }
38
+ return body;
39
+ };
40
+
41
+ const sendGridBodyWithTemplateId = (
42
+ emailHeaders: EmailHeaders,
43
+ templateData: TemplateData,
44
+ templateId: string,
45
+ ) => {
46
+ const body = createBodySendGrid(emailHeaders);
47
+ body.personalizations[0].dynamic_template_data = templateData;
48
+ body.template_id = templateId;
49
+
50
+ return body;
51
+ };
52
+
53
+ const sendGridBodyWithTemplate = async (
54
+ emailHeaders: EmailHeaders,
55
+ templateData: TemplateData,
56
+ template: Template,
57
+ ) => {
58
+ const body = createBodySendGrid(emailHeaders);
59
+
60
+ const contentValue = parseTemplateToHtml(templateData, template);
61
+
62
+ if (!contentValue) {
63
+ return null;
64
+ }
65
+
66
+ body.content = [{
67
+ type: 'text/html',
68
+ value: contentValue,
69
+ }];
70
+
71
+ return body;
72
+ };
73
+
74
+ const sendGridBodyWithHtml = (
75
+ emailHeaders: EmailHeaders,
76
+ html: string,
77
+ ) => {
78
+ const body = createBodySendGrid(emailHeaders);
79
+
80
+ body.content = [{
81
+ type: 'text/html',
82
+ value: html,
83
+ }];
84
+
85
+ return body;
86
+ };
87
+
88
+ export {
89
+ sendGridBodyWithTemplateId,
90
+ sendGridBodyWithTemplate,
91
+ sendGridBodyWithHtml,
92
+ };
@@ -0,0 +1,115 @@
1
+ import type {
2
+ EmailHeaders,
3
+ SmtpConfig,
4
+ EmailAdrress,
5
+ TemplateData,
6
+ Template,
7
+ } from '../../../types/index';
8
+ import type SMTPTransport from 'nodemailer/lib/smtp-transport';
9
+ import nodemailer from 'nodemailer';
10
+ import parseTemplateToHtml from '../../parse-template-to-html';
11
+
12
+ const parseEmailsToString = (emails: EmailAdrress | EmailAdrress[]) => {
13
+ if (Array.isArray(emails)) {
14
+ return emails.reduce((value: string, emailAdrress: EmailAdrress) => {
15
+ return `${value}, ${emailAdrress.email}`;
16
+ }, '');
17
+ }
18
+ return `"${emails.name}" <${emails.email}>`;
19
+ };
20
+
21
+ let smtpConfig: SmtpConfig | undefined;
22
+
23
+ let transporter: nodemailer.Transporter<SMTPTransport.SentMessageInfo> | undefined;
24
+
25
+ const setConfigSmtp = (config: SmtpConfig) => {
26
+ smtpConfig = config;
27
+ // create reusable transporter object using the default SMTP transport
28
+ transporter = nodemailer.createTransport(config);
29
+ };
30
+
31
+ const sendEmail = async (
32
+ emailHeaders: EmailHeaders,
33
+ dataOptions: {
34
+ text?: string,
35
+ html?: string,
36
+ templateData?: TemplateData,
37
+ template?: Template,
38
+ },
39
+ ) => {
40
+ const {
41
+ text,
42
+ templateData,
43
+ template,
44
+ } = dataOptions;
45
+ let { html } = dataOptions;
46
+ const { from, to } = emailHeaders;
47
+
48
+ if (!template && !html) {
49
+ throw new Error('Template or html not found');
50
+ }
51
+
52
+ if (template && !templateData) {
53
+ throw new Error('Data for template not found');
54
+ }
55
+
56
+ if (template && templateData) {
57
+ html = parseTemplateToHtml(templateData, template);
58
+ }
59
+
60
+ if (!html) {
61
+ throw new Error(`Email body for template: #${template}, not found`);
62
+ }
63
+
64
+ // send mail with defined transport object
65
+ const mailOptions = {
66
+ from: `"${from.name}" <${from.email}>`,
67
+ to: parseEmailsToString(to),
68
+ subject: emailHeaders.subject,
69
+ html,
70
+ };
71
+ if (text) {
72
+ Object.assign(mailOptions, text);
73
+ }
74
+
75
+ if (emailHeaders.sender) {
76
+ Object.assign(mailOptions, {
77
+ sender: `"${emailHeaders.sender.name}" <${emailHeaders.sender.email}>`,
78
+ });
79
+ }
80
+
81
+ if (emailHeaders.cc) {
82
+ Object.assign(mailOptions, {
83
+ cc: parseEmailsToString(emailHeaders.cc),
84
+ });
85
+ }
86
+
87
+ if (emailHeaders.bcc) {
88
+ Object.assign(mailOptions, {
89
+ bcc: parseEmailsToString(emailHeaders.bcc),
90
+ });
91
+ }
92
+
93
+ if (emailHeaders.replyTo) {
94
+ const replyTo = parseEmailsToString(emailHeaders.replyTo);
95
+ Object.assign(mailOptions, {
96
+ replyTo,
97
+ });
98
+ }
99
+
100
+ if (!transporter && smtpConfig) {
101
+ setConfigSmtp(smtpConfig);
102
+ }
103
+
104
+ if (transporter) {
105
+ const info = await transporter.sendMail(mailOptions);
106
+ return { status: 202, message: `messageId: #${info.messageId}` };
107
+ }
108
+ throw new Error('Error configuring SMTP settings');
109
+ };
110
+
111
+ export default sendEmail;
112
+
113
+ export {
114
+ setConfigSmtp,
115
+ };
@@ -0,0 +1,68 @@
1
+ {
2
+ "oauth_providers": [
3
+ {
4
+ "_id": "3c2a00000000000000000003",
5
+ "provider": "facebook",
6
+ "user_id": "1234567890"
7
+ }
8
+ ],
9
+ "main_email": "mail@sample.ex",
10
+ "emails": [
11
+ {
12
+ "address": "mail@sample.ex",
13
+ "type": "personal",
14
+ "verified": true
15
+ },
16
+ {
17
+ "address": "janedue@inc.sample",
18
+ "type": "work",
19
+ "verified": false
20
+ }
21
+ ],
22
+ "accepts_marketing": true,
23
+ "display_name": "Jane",
24
+ "name": {
25
+ "family_name": "Due",
26
+ "given_name": "Jane"
27
+ },
28
+ "gender": "f",
29
+ "phones": [
30
+ {
31
+ "country_code": 55,
32
+ "number": "31999889988",
33
+ "type": "personal"
34
+ },
35
+ {
36
+ "country_code": 55,
37
+ "number": "3133443344",
38
+ "type": "home"
39
+ }
40
+ ],
41
+ "registry_type": "p",
42
+ "doc_country": "BR",
43
+ "doc_number": "11111111111",
44
+ "addresses": [
45
+ {
46
+ "_id": "4d2b00000000000000000003",
47
+ "zip": "30111222",
48
+ "street": "Rua Augusta",
49
+ "number": 92200,
50
+ "complement": "Apto. 200",
51
+ "borough": "Jardins",
52
+ "near_to": "Supermercado Exemplifica",
53
+ "line_address": "Rua Augusta 922200 Apto. 200, Jardins, Belo Horizonte, MG",
54
+ "city": "Belo Horizonte",
55
+ "country": "Brasil",
56
+ "country_code": "BR",
57
+ "province": "Minas Gerais",
58
+ "province_code": "MG",
59
+ "name": "Fulano",
60
+ "last_name": "Beltrano",
61
+ "phone": {
62
+ "country_code": 55,
63
+ "number": "31999889988"
64
+ },
65
+ "default": true
66
+ }
67
+ ]
68
+ }
@@ -0,0 +1,190 @@
1
+ {
2
+ "checkout_link": "https://www.sampleshop.com.br/checkout?_id=(_id)",
3
+ "status_link": "https://www.sampleshop.com.br/order/status?_id=(_id)",
4
+ "utm": {
5
+ "campaign": "adwords_example"
6
+ },
7
+ "browser_ip": "8.8.8.8",
8
+ "channel_id": "10001",
9
+ "domain": "www.sampleshop.com.br",
10
+ "opened_at": "2017-11-19T13:10:00.612Z",
11
+ "seller_status": "pending",
12
+ "financial_status": {
13
+ "updated_at": "2017-11-19T13:10:00.612Z",
14
+ "current": "pending"
15
+ },
16
+ "amount": {
17
+ "total": 48.05,
18
+ "subtotal": 42.9,
19
+ "freight": 5.15,
20
+ "discount": 0
21
+ },
22
+ "payment_method_label": "PayPal",
23
+ "shipping_method_label": "PAC",
24
+ "buyers": [
25
+ {
26
+ "_id": "3c1000000000000000000001",
27
+ "locale": "pt_br",
28
+ "main_email": "123@mail.com",
29
+ "display_name": "Fulano",
30
+ "name": {
31
+ "family_name": "Beltrano",
32
+ "given_name": "Fulano",
33
+ "middle_name": "Sicrano"
34
+ },
35
+ "gender": "m",
36
+ "phones": [
37
+ {
38
+ "country_code": 55,
39
+ "number": "31999889988",
40
+ "type": "personal"
41
+ }
42
+ ],
43
+ "registry_type": "p",
44
+ "doc_country": "BR",
45
+ "doc_number": "11111111111"
46
+ }
47
+ ],
48
+ "shipping_lines": [
49
+ {
50
+ "from": {
51
+ "zip": "10111222",
52
+ "street": "Rua Exemplar",
53
+ "number": 100,
54
+ "borough": "Bairro Examplar",
55
+ "city": "São Paulo",
56
+ "province": "São Paulo",
57
+ "province_code": "SP"
58
+ },
59
+ "to": {
60
+ "zip": "30111222",
61
+ "street": "Rua Augusta",
62
+ "number": 92200,
63
+ "complement": "Apto. 200",
64
+ "borough": "Jardins",
65
+ "near_to": "Supermercado Exemplifica",
66
+ "line_address": "Rua Augusta 922200 Apto. 200, Jardins, Belo Horizonte, MG",
67
+ "city": "Belo Horizonte",
68
+ "country": "Brasil",
69
+ "country_code": "BR",
70
+ "province": "Minas Gerais",
71
+ "province_code": "MG",
72
+ "name": "Fulano",
73
+ "last_name": "Beltrano",
74
+ "phone": {
75
+ "country_code": 55,
76
+ "number": "31999889988"
77
+ }
78
+ },
79
+ "package": {
80
+ "dimensions": {
81
+ "width": {
82
+ "value": 10
83
+ },
84
+ "height": {
85
+ "value": 8
86
+ },
87
+ "length": {
88
+ "value": 8
89
+ }
90
+ },
91
+ "weight": {
92
+ "value": 400,
93
+ "unit": "g"
94
+ }
95
+ },
96
+ "app": {
97
+ "_id": "77f000000000000000000001",
98
+ "label": "PAC",
99
+ "carrier": "Correios",
100
+ "service_name": "PAC",
101
+ "service_code": "44000",
102
+ "tracking_url": "http://www2.correios.com.br/sistemas/rastreamento/"
103
+ },
104
+ "price": 5,
105
+ "declared_value": 42.9,
106
+ "declared_value_price": 0.15,
107
+ "total_price": 5.15,
108
+ "posting_deadline": {
109
+ "days": 3
110
+ },
111
+ "delivery_time": {
112
+ "days": 5
113
+ }
114
+ }
115
+ ],
116
+ "transactions": [
117
+ {
118
+ "_id": "3ab0000000000000000000f1",
119
+ "created_at": "2017-11-19T13:10:00.612Z",
120
+ "payment_method": {
121
+ "code": "credit_card",
122
+ "name": "PayPal"
123
+ },
124
+ "billing_address": {
125
+ "zip": "30111222",
126
+ "street": "Rua Augusta",
127
+ "number": 92200,
128
+ "complement": "Apto. 200",
129
+ "borough": "Jardins",
130
+ "near_to": "Supermercado Exemplifica",
131
+ "line_address": "Rua Augusta 922200 Apto. 200, Jardins, Belo Horizonte, MG",
132
+ "city": "Belo Horizonte",
133
+ "country": "Brasil",
134
+ "country_code": "BR",
135
+ "province": "Minas Gerais",
136
+ "province_code": "MG",
137
+ "name": "Fulano",
138
+ "last_name": "Beltrano",
139
+ "phone": {
140
+ "country_code": 55,
141
+ "number": "31999889988"
142
+ }
143
+ },
144
+ "app": {
145
+ "_id": "77f000000000000000000011",
146
+ "label": "PayPal",
147
+ "icon": "https://www.paypal-brasil.com.br/logocenter/util/img/selo_aceitacao_horizontal.png",
148
+ "intermediator": {
149
+ "name": "PayPal",
150
+ "link": "https://www.paypal.com/br/home",
151
+ "code": "paypal"
152
+ },
153
+ "payment_url": "https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=1abc"
154
+ },
155
+ "intermediator": {
156
+ "transaction_code": "1abc"
157
+ },
158
+ "amount": 48.05,
159
+ "installments": {
160
+ "number": 2,
161
+ "value": 24.03,
162
+ "total": 48.06
163
+ },
164
+ "status": {
165
+ "updated_at": "2017-11-19T13:10:00.612Z",
166
+ "current": "pending"
167
+ }
168
+ }
169
+ ],
170
+ "payments_history": [
171
+ {
172
+ "_id": "4ab0000000000000000000f1",
173
+ "transaction_id": "3ab0000000000000000000f1",
174
+ "date_time": "2017-11-19T13:10:00.612Z",
175
+ "status": "pending",
176
+ "notification_code": "1abcde"
177
+ }
178
+ ],
179
+ "items": [
180
+ {
181
+ "_id": "3120000000000000000000a1",
182
+ "product_id": "123a5432109876543210cdef",
183
+ "sku": "s-MP_2B4",
184
+ "name": "Mens Pique Polo Shirt",
185
+ "quantity": 1,
186
+ "price": 42.9
187
+ }
188
+ ],
189
+ "notes": "Sample order notes by customer"
190
+ }