flowrix 1.0.1-beta.9 → 1.0.1-beta.91

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 (231) hide show
  1. package/dist/module.d.mts +1 -6
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +103 -34
  4. package/dist/runtime/composables/Blog/useBlogIndex.d.ts +2 -5
  5. package/dist/runtime/composables/Brand/brand.js +2 -0
  6. package/dist/runtime/composables/Cart/useCart.d.ts +40 -0
  7. package/dist/runtime/composables/Cart/useCart.js +10 -0
  8. package/dist/runtime/composables/Cart/useCartDetail.d.ts +15 -5
  9. package/dist/runtime/composables/Cart/useCartDetail.js +3 -0
  10. package/dist/runtime/composables/Checkout/PaymentMethods/useFlowrixpay.d.ts +40 -1
  11. package/dist/runtime/composables/Checkout/PaymentMethods/useFlowrixpay.js +2 -2
  12. package/dist/runtime/composables/Checkout/PaymentMethods/useOpayo.d.ts +40 -1
  13. package/dist/runtime/composables/Checkout/PaymentMethods/useOpayo.js +2 -2
  14. package/dist/runtime/composables/Checkout/PaymentMethods/usePaymentMethods.js +3 -14
  15. package/dist/runtime/composables/Checkout/PaymentMethods/useStripe.d.ts +2 -2
  16. package/dist/runtime/composables/Checkout/useCheckout.d.ts +84 -73
  17. package/dist/runtime/composables/Checkout/useCheckout.js +81 -34
  18. package/dist/runtime/composables/Checkout/useCheckoutBillingAddress.d.ts +43 -0
  19. package/dist/runtime/composables/Checkout/useCheckoutBillingAddress.js +84 -0
  20. package/dist/runtime/composables/Checkout/useCheckoutShippingAddress.d.ts +55 -0
  21. package/dist/runtime/composables/Checkout/useCheckoutShippingAddress.js +196 -0
  22. package/dist/runtime/composables/Checkout/useCreateAccount.d.ts +7 -7
  23. package/dist/runtime/composables/Checkout/useCreateAccount.js +3 -1
  24. package/dist/runtime/composables/Checkout/useDeliveryMethod.d.ts +2 -2
  25. package/dist/runtime/composables/Checkout/useDeliveryMethod.js +8 -7
  26. package/dist/runtime/composables/Customer/useBillingAddress.d.ts +112 -0
  27. package/dist/runtime/composables/Customer/useBillingAddress.js +93 -0
  28. package/dist/runtime/composables/Customer/useLogin.d.ts +9 -0
  29. package/dist/runtime/composables/Customer/useLogin.js +34 -0
  30. package/dist/runtime/composables/Customer/useOrders.d.ts +29 -0
  31. package/dist/runtime/composables/Customer/useOrders.js +56 -0
  32. package/dist/runtime/composables/Customer/usePasswordReset.d.ts +26 -0
  33. package/dist/runtime/composables/Customer/usePasswordReset.js +258 -0
  34. package/dist/runtime/composables/Customer/useProfile.d.ts +75 -0
  35. package/dist/runtime/composables/Customer/useProfile.js +106 -0
  36. package/dist/runtime/composables/Customer/useQuotations.d.ts +32 -0
  37. package/dist/runtime/composables/Customer/useQuotations.js +40 -0
  38. package/dist/runtime/composables/Customer/useRegister.d.ts +120 -11
  39. package/dist/runtime/composables/Customer/useRegister.js +311 -34
  40. package/dist/runtime/composables/Customer/useShippingAddress.d.ts +121 -0
  41. package/dist/runtime/composables/Customer/useShippingAddress.js +145 -0
  42. package/dist/runtime/composables/Customer/useUpdatePassword.d.ts +21 -0
  43. package/dist/runtime/composables/Customer/useUpdatePassword.js +94 -0
  44. package/dist/runtime/composables/Customer/useUserCards.d.ts +22 -0
  45. package/dist/runtime/composables/Customer/useUserCards.js +65 -0
  46. package/dist/runtime/composables/{useWishlists.d.ts → Customer/useWishlists.d.ts} +6 -19
  47. package/dist/runtime/composables/{useWishlists.js → Customer/useWishlists.js} +21 -29
  48. package/dist/runtime/composables/Extras/useCountry.d.ts +11 -6
  49. package/dist/runtime/composables/Extras/useCountry.js +5 -4
  50. package/dist/runtime/composables/Header/useHeader.d.ts +6 -20
  51. package/dist/runtime/composables/Header/useHeader.js +3 -2
  52. package/dist/runtime/composables/Product/CustomProduct/useSteps.d.ts +1 -1
  53. package/dist/runtime/composables/Product/useProductComponent.js +2 -0
  54. package/dist/runtime/composables/Product/useProductSlug.d.ts +8 -1
  55. package/dist/runtime/composables/Product/useQuickView.d.ts +8 -0
  56. package/dist/runtime/composables/Product/useQuickView.js +27 -0
  57. package/dist/runtime/composables/Product/useService.d.ts +1 -1
  58. package/dist/runtime/composables/Product/useService.js +0 -3
  59. package/dist/runtime/composables/SideBar/Filters/useFilters.d.ts +2 -2
  60. package/dist/runtime/composables/SideBar/Filters/useSorting.d.ts +2 -2
  61. package/dist/runtime/composables/index.d.ts +16 -12
  62. package/dist/runtime/composables/index.js +16 -12
  63. package/dist/runtime/composables/useAddresses.js +6 -6
  64. package/dist/runtime/composables/useCards.js +2 -2
  65. package/dist/runtime/composables/useDataLayer.js +2 -1
  66. package/dist/runtime/composables/useLocation.d.ts +2 -12
  67. package/dist/runtime/composables/useQuotationCheckout.d.ts +78 -0
  68. package/dist/runtime/composables/useQuotationCheckout.js +138 -0
  69. package/dist/runtime/middleware/flowrix.d.ts +5 -4
  70. package/dist/runtime/middleware/flowrix.js +41 -21
  71. package/dist/runtime/pages/flowrix-default.d.vue.ts +3 -0
  72. package/dist/runtime/pages/flowrix-default.vue +34 -0
  73. package/dist/runtime/pages/flowrix-default.vue.d.ts +3 -0
  74. package/dist/runtime/plugin.d.ts +1 -1
  75. package/dist/runtime/server/api/albums.d.ts +1 -0
  76. package/dist/runtime/server/api/albums.js +38 -12
  77. package/dist/runtime/server/api/auth/forgot.js +1 -1
  78. package/dist/runtime/server/api/auth/login.js +5 -6
  79. package/dist/runtime/server/api/auth/logout.js +1 -1
  80. package/dist/runtime/server/api/auth/register.js +1 -1
  81. package/dist/runtime/server/api/auth/session.get.js +1 -1
  82. package/dist/runtime/server/api/auth/user/reset-password.js +1 -1
  83. package/dist/runtime/server/api/auth/user/session.js +1 -1
  84. package/dist/runtime/server/api/auth/user/verify-token.js +1 -1
  85. package/dist/runtime/server/api/banners.js +15 -12
  86. package/dist/runtime/server/api/brand/[...slug].js +55 -0
  87. package/dist/runtime/server/api/brand/index.d.ts +3 -0
  88. package/dist/runtime/server/api/brand/index.js +49 -0
  89. package/dist/runtime/server/api/cache/[...slug].delete.d.ts +2 -0
  90. package/dist/runtime/server/api/cache/[...slug].delete.js +40 -0
  91. package/dist/runtime/server/api/cache/clean.get.d.ts +5 -0
  92. package/dist/runtime/server/api/cache/clean.get.js +16 -0
  93. package/dist/runtime/server/api/cart/[slug]/add.d.ts +1 -1
  94. package/dist/runtime/server/api/cart/[slug]/add.js +11 -11
  95. package/dist/runtime/server/api/cart/[slug]/update.d.ts +1 -1
  96. package/dist/runtime/server/api/cart/[slug]/update.js +11 -11
  97. package/dist/runtime/server/api/{blog/blog.d.ts → cart/related.d.ts} +0 -1
  98. package/dist/runtime/server/api/cart/related.js +21 -0
  99. package/dist/runtime/server/api/cart/remove.js +1 -1
  100. package/dist/runtime/server/api/cart/service/[slug]/add.d.ts +1 -1
  101. package/dist/runtime/server/api/cart/service/[slug]/add.js +12 -12
  102. package/dist/runtime/server/api/catalog/brands.d.ts +3 -0
  103. package/dist/runtime/server/api/catalog/brands.js +49 -0
  104. package/dist/runtime/server/api/catalog/categories.js +22 -16
  105. package/dist/runtime/server/api/catalog/categoriesall.d.ts +3 -0
  106. package/dist/runtime/server/api/catalog/categoriesall.js +49 -0
  107. package/dist/runtime/server/api/catalog/featured.js +22 -14
  108. package/dist/runtime/server/api/catalog/posts.d.ts +3 -0
  109. package/dist/runtime/server/api/catalog/posts.js +49 -0
  110. package/dist/runtime/server/api/catalog/samples.js +22 -16
  111. package/dist/runtime/server/api/catalog/search.js +21 -15
  112. package/dist/runtime/server/api/category/[...slug].js +22 -16
  113. package/dist/runtime/server/api/checkout/applyCoupon.d.ts +1 -1
  114. package/dist/runtime/server/api/checkout/applyCoupon.js +13 -13
  115. package/dist/runtime/server/api/checkout/configs.d.ts +1 -1
  116. package/dist/runtime/server/api/checkout/configs.js +11 -11
  117. package/dist/runtime/server/api/checkout/countries.d.ts +1 -1
  118. package/dist/runtime/server/api/checkout/countries.js +5 -9
  119. package/dist/runtime/server/api/checkout/paymentmethod.d.ts +1 -1
  120. package/dist/runtime/server/api/checkout/paymentmethod.js +16 -11
  121. package/dist/runtime/server/api/checkout/quotation/[slug].d.ts +2 -0
  122. package/dist/runtime/server/api/checkout/quotation/[slug].js +21 -0
  123. package/dist/runtime/server/api/checkout/quotation/guest/[slug].d.ts +2 -0
  124. package/dist/runtime/server/api/checkout/quotation/guest/[slug].js +37 -0
  125. package/dist/runtime/server/api/checkout/quotation/guest/customer.d.ts +2 -0
  126. package/dist/runtime/server/api/checkout/quotation/guest/customer.js +21 -0
  127. package/dist/runtime/server/api/checkout/quotation/submit/[slug].d.ts +2 -0
  128. package/dist/runtime/server/api/checkout/quotation/submit/[slug].js +23 -0
  129. package/dist/runtime/server/api/{blog/[slug].js → cmspost/[...slug].js} +19 -18
  130. package/dist/runtime/server/api/cmspost/all.d.ts +3 -0
  131. package/dist/runtime/server/api/cmspost/all.js +49 -0
  132. package/dist/runtime/server/api/company/profile.d.ts +1 -1
  133. package/dist/runtime/server/api/company/profile.js +9 -9
  134. package/dist/runtime/server/api/contact-center/webforms/[id]/details.d.ts +1 -1
  135. package/dist/runtime/server/api/contact-center/webforms/[id]/details.js +48 -15
  136. package/dist/runtime/server/api/contact-center/webforms/create.d.ts +1 -1
  137. package/dist/runtime/server/api/contact-center/webforms/create.js +10 -10
  138. package/dist/runtime/server/api/countries.d.ts +2 -0
  139. package/dist/runtime/server/api/countries.js +42 -0
  140. package/dist/runtime/server/api/customer/address/add.js +1 -1
  141. package/dist/runtime/server/api/customer/address/delete.js +2 -2
  142. package/dist/runtime/server/api/customer/address/setshipping.js +1 -1
  143. package/dist/runtime/server/api/customer/address/update.js +1 -1
  144. package/dist/runtime/server/api/customer/cards/delete.js +2 -2
  145. package/dist/runtime/server/api/customer/cards/get.js +2 -2
  146. package/dist/runtime/server/api/customer/change-password.js +2 -2
  147. package/dist/runtime/server/api/customer/checkout.js +1 -1
  148. package/dist/runtime/server/api/customer/orders.js +2 -2
  149. package/dist/runtime/server/api/customer/profile/update.js +1 -1
  150. package/dist/runtime/server/api/customer/quotations.js +2 -2
  151. package/dist/runtime/server/api/customer/search.js +1 -1
  152. package/dist/runtime/server/api/customer/tax-invoice.js +1 -1
  153. package/dist/runtime/server/api/customer/wishlist/add.js +1 -1
  154. package/dist/runtime/server/api/customer/wishlist/createWishList.js +1 -1
  155. package/dist/runtime/server/api/customer/wishlist/deleteFromWishList.js +1 -1
  156. package/dist/runtime/server/api/customer/wishlist/deleteWishList.js +1 -1
  157. package/dist/runtime/server/api/customer/wishlist/get.js +2 -2
  158. package/dist/runtime/server/api/customer/wishlist/getWishListItems.js +1 -1
  159. package/dist/runtime/server/api/customer/wishlist/updateWishList.js +2 -2
  160. package/dist/runtime/server/api/featured.d.ts +3 -0
  161. package/dist/runtime/server/api/featured.js +49 -0
  162. package/dist/runtime/server/api/generate/robots.get.d.ts +2 -0
  163. package/dist/runtime/server/api/generate/robots.get.js +20 -0
  164. package/dist/runtime/server/api/generate/sitemap.get.d.ts +2 -0
  165. package/dist/runtime/server/api/generate/sitemap.get.js +32 -0
  166. package/dist/runtime/server/api/location.d.ts +1 -1
  167. package/dist/runtime/server/api/location.js +20 -12
  168. package/dist/runtime/server/api/nav/[id]/links.d.ts +1 -0
  169. package/dist/runtime/server/api/nav/[id]/links.js +48 -14
  170. package/dist/runtime/server/api/page/{[slug].js → [...slug].js} +18 -17
  171. package/dist/runtime/server/api/product/[...slug].js +23 -9
  172. package/dist/runtime/server/api/{v2/[...slug].d.ts → quickview/[slug].d.ts} +0 -1
  173. package/dist/runtime/server/api/quickview/[slug].js +17 -0
  174. package/dist/runtime/server/api/reviews.d.ts +2 -0
  175. package/dist/runtime/server/api/reviews.js +18 -0
  176. package/dist/runtime/server/api/samples.d.ts +3 -0
  177. package/dist/runtime/server/api/samples.js +50 -0
  178. package/dist/runtime/server/api/search.d.ts +3 -0
  179. package/dist/runtime/server/api/search.js +50 -0
  180. package/dist/runtime/server/api/service/[slug].js +17 -13
  181. package/dist/runtime/server/api/service/availability.d.ts +1 -1
  182. package/dist/runtime/server/api/service/availability.js +11 -13
  183. package/dist/runtime/server/api/service/getall.d.ts +3 -0
  184. package/dist/runtime/server/api/service/getall.js +55 -0
  185. package/dist/runtime/server/api/shop.d.ts +3 -0
  186. package/dist/runtime/server/api/shop.js +50 -0
  187. package/dist/runtime/server/api/subscribe.d.ts +1 -1
  188. package/dist/runtime/server/api/subscribe.js +19 -14
  189. package/dist/runtime/server/api/v2/[...slug].get.d.ts +2 -0
  190. package/dist/runtime/server/api/v2/[...slug].get.js +16 -0
  191. package/dist/runtime/server/api/webform.d.ts +3 -0
  192. package/dist/runtime/server/api/webform.js +52 -0
  193. package/dist/runtime/server/tsconfig.json +3 -3
  194. package/dist/runtime/stores/Cart.d.ts +12 -0
  195. package/dist/runtime/stores/Cart.js +56 -19
  196. package/dist/runtime/stores/Checkout.d.ts +9 -15
  197. package/dist/runtime/stores/Checkout.js +19 -24
  198. package/dist/runtime/stores/Search.d.ts +1 -1
  199. package/dist/runtime/stores/Services.js +2 -2
  200. package/dist/runtime/stores/auth.d.ts +8 -11
  201. package/dist/runtime/stores/auth.js +390 -8
  202. package/dist/runtime/stores/countries.d.ts +1 -3
  203. package/dist/runtime/stores/countries.js +4 -8
  204. package/dist/runtime/stores/product/slug.d.ts +1 -17
  205. package/dist/runtime/stores/wishlists.d.ts +114 -6
  206. package/dist/runtime/stores/wishlists.js +209 -9
  207. package/dist/runtime/utils/api.js +9 -13
  208. package/dist/runtime/utils/htmlCache.d.ts +2 -2
  209. package/dist/runtime/utils/htmlCache.js +23 -13
  210. package/dist/types.d.mts +6 -2
  211. package/package.json +30 -20
  212. package/dist/runtime/composables/Checkout/useBillingAddress.d.ts +0 -19
  213. package/dist/runtime/composables/Checkout/useBillingAddress.js +0 -82
  214. package/dist/runtime/composables/Checkout/useShippingAddress.d.ts +0 -9
  215. package/dist/runtime/composables/Checkout/useShippingAddress.js +0 -121
  216. package/dist/runtime/composables/useAuth.d.ts +0 -45
  217. package/dist/runtime/composables/useAuth.js +0 -180
  218. package/dist/runtime/composables/useCountries.d.ts +0 -12
  219. package/dist/runtime/composables/useCountries.js +0 -50
  220. package/dist/runtime/composables/useOrders.d.ts +0 -21
  221. package/dist/runtime/composables/useOrders.js +0 -82
  222. package/dist/runtime/composables/useQuotations.d.ts +0 -14
  223. package/dist/runtime/composables/useQuotations.js +0 -50
  224. package/dist/runtime/plugins/fullReload.client.d.ts +0 -2
  225. package/dist/runtime/plugins/fullReload.client.js +0 -10
  226. package/dist/runtime/server/api/blog/blog.js +0 -17
  227. package/dist/runtime/server/api/brand/[slug].js +0 -58
  228. package/dist/runtime/server/api/v2/[...slug].js +0 -9
  229. /package/dist/runtime/server/api/brand/{[slug].d.ts → [...slug].d.ts} +0 -0
  230. /package/dist/runtime/server/api/{blog/[slug].d.ts → cmspost/[...slug].d.ts} +0 -0
  231. /package/dist/runtime/server/api/page/{[slug].d.ts → [...slug].d.ts} +0 -0
@@ -1,15 +1,15 @@
1
1
  import { defineEventHandler, setResponseStatus } from "h3";
2
- import { $fetch } from "ofetch";
2
+ import { flowrixApi } from "../../../middleware/flowrix.js";
3
+ import { useRuntimeConfig } from "#imports";
3
4
  export default defineEventHandler(async (event) => {
4
5
  try {
5
- const companyProfile = await $fetch(`${process.env.FLOWRIX_API_BASE}company/profile`, {
6
- method: "GET",
7
- headers: {
8
- "x-api-key": process.env.FLOWRIX_API_KEY,
9
- "x-api-secret": process.env.FLOWRIX_API_SECRET,
10
- "Origin": process.env.FLOWRIX_API_ORIGIN
11
- }
12
- });
6
+ const config = useRuntimeConfig();
7
+ const rawCookies = event.req.headers.cookie || "";
8
+ const apiConfig = {
9
+ ...config,
10
+ cookies: rawCookies
11
+ };
12
+ const companyProfile = await flowrixApi.get(`company/profile`, apiConfig);
13
13
  return companyProfile;
14
14
  } catch (error) {
15
15
  setResponseStatus(event, 500);
@@ -1,3 +1,3 @@
1
- export declare const webFormsCache: Map<any, any>;
1
+ export declare const webfromCache: Map<any, any>;
2
2
  declare const _default: import("h3").EventHandler<import("h3").EventHandlerRequest, Promise<any>>;
3
3
  export default _default;
@@ -1,19 +1,52 @@
1
- import { defineEventHandler, getRouterParam } from "h3";
2
- import { $fetch } from "ofetch";
3
- export const webFormsCache = /* @__PURE__ */ new Map();
1
+ import { defineEventHandler, getRouterParam, getQuery, createError, readBody, getCookie } from "h3";
2
+ import { writeFile, mkdir, readFile } from "fs/promises";
3
+ import { join } from "path";
4
+ import { useRuntimeConfig } from "#imports";
5
+ import { flowrixApi } from "../../../../../middleware/flowrix.js";
6
+ const CACHE_DIR = join("/tmp", ".cache", "nitro", "webfroms");
7
+ export const webfromCache = /* @__PURE__ */ new Map();
8
+ async function ensureCacheDir() {
9
+ try {
10
+ await mkdir(CACHE_DIR, { recursive: true });
11
+ } catch (error) {
12
+ console.error("Error creating cache directory:", error);
13
+ }
14
+ }
4
15
  export default defineEventHandler(async (event) => {
5
- const id = getRouterParam(event, "id");
6
- if (webFormsCache.has(id)) {
7
- return webFormsCache.get(id);
16
+ const slug = getRouterParam(event, "id");
17
+ const customerType = getCookie(event, "customertype") || "";
18
+ let query = getQuery(event);
19
+ const body = await readBody(event);
20
+ if (!slug) {
21
+ throw createError({ statusCode: 400, statusMessage: "Missing slug parameter" });
22
+ }
23
+ const cacheKey = `${slug}-${JSON.stringify(query)}`;
24
+ const fileName = cacheKey.replace(/[^a-zA-Z0-9-_]/g, "_");
25
+ const filePath = join(CACHE_DIR, `${fileName}-${customerType}.json`);
26
+ try {
27
+ const fileContent = await readFile(filePath, "utf-8");
28
+ const webfrom = JSON.parse(fileContent);
29
+ return webfrom;
30
+ } catch (error) {
8
31
  }
9
- const webform = await $fetch(`${process.env.FLOWRIX_API_BASE}contact-center/webforms/${id}/details`, {
10
- headers: {
11
- "x-api-key": process.env.FLOWRIX_API_KEY,
12
- "x-api-secret": process.env.FLOWRIX_API_SECRET,
13
- "Origin": process.env.FLOWRIX_API_ORIGIN,
14
- "Content-Type": "application/json"
32
+ try {
33
+ const config = useRuntimeConfig();
34
+ const rawCookies = event.req.headers.cookie || "";
35
+ const apiConfig = {
36
+ ...config,
37
+ cookies: rawCookies
38
+ };
39
+ const webfrom = await flowrixApi.get(`contact-center/webforms/${slug}/details`, apiConfig, {});
40
+ if (config.public.FLOWRIX_CACHE == true) {
41
+ await ensureCacheDir();
42
+ await writeFile(filePath, JSON.stringify(webfrom, null, 2), "utf-8");
15
43
  }
16
- });
17
- webFormsCache.set(id, webform);
18
- return webform;
44
+ return webfrom;
45
+ } catch (error) {
46
+ throw createError({
47
+ statusCode: 500,
48
+ statusMessage: `Failed to fetch webfrom for id: ${slug}`,
49
+ data: error.message
50
+ });
51
+ }
19
52
  });
@@ -1,2 +1,2 @@
1
- declare const _default: import("h3").EventHandler<import("h3").EventHandlerRequest, Promise<any>>;
1
+ declare const _default: import("h3").EventHandler<import("h3").EventHandlerRequest, Promise<unknown>>;
2
2
  export default _default;
@@ -1,16 +1,16 @@
1
1
  import { defineEventHandler, readBody } from "h3";
2
- import { $fetch } from "ofetch";
2
+ import { flowrixApi } from "../../../../middleware/flowrix.js";
3
+ import { useRuntimeConfig } from "#imports";
3
4
  export default defineEventHandler(async (event) => {
4
5
  const body = await readBody(event);
5
- const webform = await $fetch(`${process.env.FLOWRIX_API_BASE}contact-center/webforms/create`, {
6
- method: "POST",
7
- headers: {
8
- "x-api-key": process.env.FLOWRIX_API_KEY,
9
- "x-api-secret": process.env.FLOWRIX_API_SECRET,
10
- "Origin": process.env.FLOWRIX_API_ORIGIN,
11
- "Content-Type": "application/json"
12
- },
13
- body: JSON.stringify(body)
6
+ const config = useRuntimeConfig();
7
+ const rawCookies = event.req.headers.cookie || "";
8
+ const apiConfig = {
9
+ ...config,
10
+ cookies: rawCookies
11
+ };
12
+ const webform = await flowrixApi.post(`posts`, apiConfig, {
13
+ body
14
14
  });
15
15
  return webform;
16
16
  });
@@ -0,0 +1,2 @@
1
+ declare const _default: import("h3").EventHandler<import("h3").EventHandlerRequest, Promise<any>>;
2
+ export default _default;
@@ -0,0 +1,42 @@
1
+ import { defineEventHandler, createError } from "h3";
2
+ import { writeFile, mkdir, readFile } from "fs/promises";
3
+ import { join } from "path";
4
+ import { flowrixApi } from "../../middleware/flowrix.js";
5
+ import { useRuntimeConfig } from "#imports";
6
+ const CACHE_DIR = join("/tmp", ".cache", "nitro", "company");
7
+ async function ensureCacheDir() {
8
+ try {
9
+ await mkdir(CACHE_DIR, { recursive: true });
10
+ } catch (error) {
11
+ console.error("Error creating cache directory:", error);
12
+ }
13
+ }
14
+ export default defineEventHandler(async (event) => {
15
+ const filePath = join(CACHE_DIR, `countries.json`);
16
+ try {
17
+ const fileContent = await readFile(filePath, "utf-8");
18
+ const countries = JSON.parse(fileContent);
19
+ return countries;
20
+ } catch (error) {
21
+ }
22
+ try {
23
+ const config = useRuntimeConfig();
24
+ const rawCookies = event.req.headers.cookie || "";
25
+ const apiConfig = {
26
+ ...config,
27
+ cookies: rawCookies
28
+ };
29
+ const countries = await flowrixApi.get(`countries`, apiConfig);
30
+ if (config.public.FLOWRIX_CACHE == true) {
31
+ await ensureCacheDir();
32
+ await writeFile(filePath, JSON.stringify(countries, null, 2), "utf-8");
33
+ }
34
+ return countries;
35
+ } catch (error) {
36
+ throw createError({
37
+ statusCode: 500,
38
+ statusMessage: `Failed to fetch countires `,
39
+ data: error.message
40
+ });
41
+ }
42
+ });
@@ -6,7 +6,7 @@ export default defineEventHandler(async (event) => {
6
6
  const responseData = await $fetch(`${process.env.FLOWRIX_API_BASE}customer/address/add`, {
7
7
  method: "POST",
8
8
  headers: {
9
- "x-api-key": process.env.FLOWRIX_API_KEY || "",
9
+ "x-public-key": process.env.FLOWRIX_API_KEY || "",
10
10
  "x-api-secret": process.env.FLOWRIX_API_SECRET || "",
11
11
  "Origin": process.env.FLOWRIX_API_ORIGIN || "",
12
12
  "Authorization": `Bearer ${accessTok || ""}`,
@@ -1,4 +1,4 @@
1
- import { defineEventHandler, getQuery } from "h3";
1
+ import { defineEventHandler, getQuery, getCookie } from "h3";
2
2
  export default defineEventHandler(async (event) => {
3
3
  const accessTok = getCookie(event, "auth.token");
4
4
  const { addressId } = getQuery(event);
@@ -13,7 +13,7 @@ export default defineEventHandler(async (event) => {
13
13
  const response = await $fetch(`${process.env.FLOWRIX_API_BASE}customer/address/${addressId}/delete`, {
14
14
  method: "PATCH",
15
15
  headers: {
16
- "x-api-key": process.env.FLOWRIX_API_KEY,
16
+ "x-public-key": process.env.FLOWRIX_API_KEY,
17
17
  "x-api-secret": process.env.FLOWRIX_API_SECRET,
18
18
  "Origin": process.env.FLOWRIX_API_ORIGIN,
19
19
  "Authorization": `Bearer ${accessTok || ""}`
@@ -13,7 +13,7 @@ export default defineEventHandler(async (event) => {
13
13
  const response = await $fetch(`${process.env.FLOWRIX_API_BASE}customer/address/${addressId}/setshipping`, {
14
14
  method: "POST",
15
15
  headers: {
16
- "x-api-key": process.env.FLOWRIX_API_KEY,
16
+ "x-public-key": process.env.FLOWRIX_API_KEY,
17
17
  "x-api-secret": process.env.FLOWRIX_API_SECRET,
18
18
  "Origin": process.env.FLOWRIX_API_ORIGIN,
19
19
  "Authorization": `Bearer ${accessTok || ""}`,
@@ -15,7 +15,7 @@ export default defineEventHandler(async (event) => {
15
15
  const response = await $fetch(`${process.env.FLOWRIX_API_BASE}customer/address/${addressId}/update`, {
16
16
  method: "PATCH",
17
17
  headers: {
18
- "x-api-key": process.env.FLOWRIX_API_KEY || "",
18
+ "x-public-key": process.env.FLOWRIX_API_KEY || "",
19
19
  "x-api-secret": process.env.FLOWRIX_API_SECRET || "",
20
20
  "Origin": process.env.FLOWRIX_API_ORIGIN || "",
21
21
  "Authorization": `Bearer ${accessTok || ""}`,
@@ -1,4 +1,4 @@
1
- import { defineEventHandler } from "h3";
1
+ import { defineEventHandler, getCookie } from "h3";
2
2
  export default defineEventHandler(async (event) => {
3
3
  const accessTok = getCookie(event, "auth.token");
4
4
  const { cardId } = getQuery(event);
@@ -6,7 +6,7 @@ export default defineEventHandler(async (event) => {
6
6
  const response = await $fetch(`${process.env.FLOWRIX_API_BASE}customer/cards/${cardId}`, {
7
7
  method: "DELETE",
8
8
  headers: {
9
- "x-api-key": process.env.FLOWRIX_API_KEY,
9
+ "x-public-key": process.env.FLOWRIX_API_KEY,
10
10
  "x-api-secret": process.env.FLOWRIX_API_SECRET,
11
11
  "Origin": process.env.FLOWRIX_API_ORIGIN,
12
12
  "Authorization": `Bearer ${accessTok || ""}`
@@ -1,10 +1,10 @@
1
- import { defineEventHandler } from "h3";
1
+ import { defineEventHandler, getCookie } from "h3";
2
2
  export default defineEventHandler(async (event) => {
3
3
  const accessTok = getCookie(event, "auth.token");
4
4
  try {
5
5
  const response = await $fetch(`${process.env.FLOWRIX_API_BASE}customer/cards`, {
6
6
  headers: {
7
- "x-api-key": process.env.FLOWRIX_API_KEY,
7
+ "x-public-key": process.env.FLOWRIX_API_KEY,
8
8
  "x-api-secret": process.env.FLOWRIX_API_SECRET,
9
9
  "Origin": process.env.FLOWRIX_API_ORIGIN,
10
10
  "Authorization": `Bearer ${accessTok || ""}`
@@ -1,4 +1,4 @@
1
- import { defineEventHandler, readBody } from "h3";
1
+ import { defineEventHandler, readBody, getCookie } from "h3";
2
2
  export default defineEventHandler(async (event) => {
3
3
  const accessTok = getCookie(event, "auth.token");
4
4
  const body = await readBody(event);
@@ -6,7 +6,7 @@ export default defineEventHandler(async (event) => {
6
6
  const response = await fetch(`${process.env.FLOWRIX_API_BASE}customer/change-password`, {
7
7
  method: "POST",
8
8
  headers: {
9
- "x-api-key": process.env.FLOWRIX_API_KEY || "",
9
+ "x-public-key": process.env.FLOWRIX_API_KEY || "",
10
10
  "x-api-secret": process.env.FLOWRIX_API_SECRET || "",
11
11
  "Origin": process.env.FLOWRIX_API_ORIGIN || "",
12
12
  "Authorization": `Bearer ${accessTok || ""}`,
@@ -6,7 +6,7 @@ export default defineEventHandler(async (event) => {
6
6
  const checkoutResponse = await $fetch(`${process.env.FLOWRIX_API_BASE}customer/checkout`, {
7
7
  method: "POST",
8
8
  headers: {
9
- "x-api-key": process.env.FLOWRIX_API_KEY,
9
+ "x-public-key": process.env.FLOWRIX_API_KEY,
10
10
  "x-api-secret": process.env.FLOWRIX_API_SECRET,
11
11
  "Origin": process.env.FLOWRIX_API_ORIGIN
12
12
  },
@@ -1,10 +1,10 @@
1
- import { defineEventHandler } from "h3";
1
+ import { defineEventHandler, getCookie } from "h3";
2
2
  export default defineEventHandler(async (event) => {
3
3
  const accessTok = getCookie(event, "auth.token");
4
4
  try {
5
5
  const response = await $fetch(`${process.env.FLOWRIX_API_BASE}customer/orders`, {
6
6
  headers: {
7
- "x-api-key": process.env.FLOWRIX_API_KEY,
7
+ "x-public-key": process.env.FLOWRIX_API_KEY,
8
8
  "x-api-secret": process.env.FLOWRIX_API_SECRET,
9
9
  "Origin": process.env.FLOWRIX_API_ORIGIN,
10
10
  "Authorization": `Bearer ${accessTok || ""}`
@@ -6,7 +6,7 @@ export default defineEventHandler(async (event) => {
6
6
  const response = await fetch(`${process.env.FLOWRIX_API_BASE}customer/profile/update`, {
7
7
  method: "POST",
8
8
  headers: {
9
- "x-api-key": process.env.FLOWRIX_API_KEY || "",
9
+ "x-public-key": process.env.FLOWRIX_API_KEY || "",
10
10
  "x-api-secret": process.env.FLOWRIX_API_SECRET || "",
11
11
  "Origin": process.env.FLOWRIX_API_ORIGIN || "",
12
12
  "Authorization": `Bearer ${accessTok || ""}`,
@@ -1,10 +1,10 @@
1
- import { defineEventHandler } from "h3";
1
+ import { defineEventHandler, getCookie } from "h3";
2
2
  export default defineEventHandler(async (event) => {
3
3
  const accessTok = getCookie(event, "auth.token");
4
4
  try {
5
5
  const response = await $fetch(`${process.env.FLOWRIX_API_BASE}customer/quotations`, {
6
6
  headers: {
7
- "x-api-key": process.env.FLOWRIX_API_KEY,
7
+ "x-public-key": process.env.FLOWRIX_API_KEY,
8
8
  "x-api-secret": process.env.FLOWRIX_API_SECRET,
9
9
  "Origin": process.env.FLOWRIX_API_ORIGIN,
10
10
  "Authorization": `Bearer ${accessTok || ""}`
@@ -5,7 +5,7 @@ export default defineEventHandler(async (event) => {
5
5
  const search = await $fetch(`${process.env.FLOWRIX_API_BASE}customers/search`, {
6
6
  method: "POST",
7
7
  headers: {
8
- "x-api-key": process.env.FLOWRIX_API_KEY,
8
+ "x-public-key": process.env.FLOWRIX_API_KEY,
9
9
  "x-api-secret": process.env.FLOWRIX_API_SECRET,
10
10
  "Origin": process.env.FLOWRIX_API_ORIGIN
11
11
  },
@@ -11,7 +11,7 @@ export default defineEventHandler(async (event) => {
11
11
  `${process.env.FLOWRIX_API_BASE}customer/orders/${orderNo}/tax-invoice`,
12
12
  {
13
13
  headers: {
14
- "x-api-key": process.env.FLOWRIX_API_KEY,
14
+ "x-public-key": process.env.FLOWRIX_API_KEY,
15
15
  "x-api-secret": process.env.FLOWRIX_API_SECRET,
16
16
  "Origin": process.env.FLOWRIX_API_ORIGIN,
17
17
  "Authorization": `Bearer ${accessTok || ""}`
@@ -7,7 +7,7 @@ export default defineEventHandler(async (event) => {
7
7
  const response = await fetch(`${process.env.FLOWRIX_API_BASE}customer/wishlist/${listId}/${productSlug}/add`, {
8
8
  method: "POST",
9
9
  headers: {
10
- "x-api-key": process.env.FLOWRIX_API_KEY || "",
10
+ "x-public-key": process.env.FLOWRIX_API_KEY || "",
11
11
  "x-api-secret": process.env.FLOWRIX_API_SECRET || "",
12
12
  "Origin": process.env.FLOWRIX_API_ORIGIN || "",
13
13
  "Authorization": `Bearer ${accessTok || ""}`,
@@ -6,7 +6,7 @@ export default defineEventHandler(async (event) => {
6
6
  const response = await fetch(`${process.env.FLOWRIX_API_BASE}customer/wishlist/add`, {
7
7
  method: "POST",
8
8
  headers: {
9
- "x-api-key": process.env.FLOWRIX_API_KEY || "",
9
+ "x-public-key": process.env.FLOWRIX_API_KEY || "",
10
10
  "x-api-secret": process.env.FLOWRIX_API_SECRET || "",
11
11
  "Origin": process.env.FLOWRIX_API_ORIGIN || "",
12
12
  "Authorization": `Bearer ${accessTok || ""}`,
@@ -15,7 +15,7 @@ export default defineEventHandler(async (event) => {
15
15
  const response = await fetch(`${process.env.FLOWRIX_API_BASE}customer/wishlist/${listId}/item/delete`, {
16
16
  method: "POST",
17
17
  headers: {
18
- "x-api-key": process.env.FLOWRIX_API_KEY || "",
18
+ "x-public-key": process.env.FLOWRIX_API_KEY || "",
19
19
  "x-api-secret": process.env.FLOWRIX_API_SECRET || "",
20
20
  "Origin": process.env.FLOWRIX_API_ORIGIN || "",
21
21
  "Authorization": `Bearer ${accessTok || ""}`,
@@ -7,7 +7,7 @@ export default defineEventHandler(async (event) => {
7
7
  const response = await fetch(`${process.env.FLOWRIX_API_BASE}customer/wishlist/${id}/delete`, {
8
8
  method: "POST",
9
9
  headers: {
10
- "x-api-key": process.env.FLOWRIX_API_KEY || "",
10
+ "x-public-key": process.env.FLOWRIX_API_KEY || "",
11
11
  "x-api-secret": process.env.FLOWRIX_API_SECRET || "",
12
12
  "Origin": process.env.FLOWRIX_API_ORIGIN || "",
13
13
  "Authorization": `Bearer ${accessTok || ""}`,
@@ -1,10 +1,10 @@
1
- import { defineEventHandler } from "h3";
1
+ import { defineEventHandler, getCookie } from "h3";
2
2
  export default defineEventHandler(async (event) => {
3
3
  const accessTok = getCookie(event, "auth.token");
4
4
  try {
5
5
  const response = await $fetch(`${process.env.FLOWRIX_API_BASE}customer/wishlist`, {
6
6
  headers: {
7
- "x-api-key": process.env.FLOWRIX_API_KEY,
7
+ "x-public-key": process.env.FLOWRIX_API_KEY,
8
8
  "x-api-secret": process.env.FLOWRIX_API_SECRET,
9
9
  "Origin": process.env.FLOWRIX_API_ORIGIN,
10
10
  "Authorization": `Bearer ${accessTok || ""}`
@@ -6,7 +6,7 @@ export default defineEventHandler(async (event) => {
6
6
  const response = await fetch(`${process.env.FLOWRIX_API_BASE}customer/wishlist/${listId}/products`, {
7
7
  method: "GET",
8
8
  headers: {
9
- "x-api-key": process.env.FLOWRIX_API_KEY,
9
+ "x-public-key": process.env.FLOWRIX_API_KEY,
10
10
  "x-api-secret": process.env.FLOWRIX_API_SECRET,
11
11
  "Origin": process.env.FLOWRIX_API_ORIGIN,
12
12
  "Authorization": `Bearer ${accessTok || ""}`
@@ -1,4 +1,4 @@
1
- import { defineEventHandler, readBody } from "h3";
1
+ import { defineEventHandler, readBody, getCookie } from "h3";
2
2
  export default defineEventHandler(async (event) => {
3
3
  const body = await readBody(event);
4
4
  const accessTok = getCookie(event, "auth.token");
@@ -7,7 +7,7 @@ export default defineEventHandler(async (event) => {
7
7
  const response = await fetch(`${process.env.FLOWRIX_API_BASE}customer/wishlist/${id}/update`, {
8
8
  method: "POST",
9
9
  headers: {
10
- "x-api-key": process.env.FLOWRIX_API_KEY || "",
10
+ "x-public-key": process.env.FLOWRIX_API_KEY || "",
11
11
  "x-api-secret": process.env.FLOWRIX_API_SECRET || "",
12
12
  "Origin": process.env.FLOWRIX_API_ORIGIN || "",
13
13
  "Authorization": `Bearer ${accessTok || ""}`,
@@ -0,0 +1,3 @@
1
+ export declare const catelogCache: Map<any, any>;
2
+ declare const _default: import("h3").EventHandler<import("h3").EventHandlerRequest, Promise<any>>;
3
+ export default _default;
@@ -0,0 +1,49 @@
1
+ import { defineEventHandler, getQuery, createError, getCookie } from "h3";
2
+ import { writeFile, mkdir, readFile } from "fs/promises";
3
+ import { join } from "path";
4
+ import { useRuntimeConfig } from "#imports";
5
+ import { flowrixApi } from "../../middleware/flowrix.js";
6
+ const CACHE_DIR = join("/tmp", ".cache", "nitro", "catalog");
7
+ export const catelogCache = /* @__PURE__ */ new Map();
8
+ async function ensureCacheDir() {
9
+ try {
10
+ await mkdir(CACHE_DIR, { recursive: true });
11
+ } catch (error) {
12
+ console.error("Error creating cache directory:", error);
13
+ }
14
+ }
15
+ export default defineEventHandler(async (event) => {
16
+ let query = getQuery(event);
17
+ const customerType = getCookie(event, "customertype") || "";
18
+ const fileName = "featured";
19
+ const filePath = join(CACHE_DIR, `${fileName}-${customerType}.json`);
20
+ try {
21
+ const fileContent = await readFile(filePath, "utf-8");
22
+ const catelog = JSON.parse(fileContent);
23
+ return catelog;
24
+ } catch (error) {
25
+ }
26
+ try {
27
+ const config = useRuntimeConfig();
28
+ const rawCookies = event.req.headers.cookie || "";
29
+ const apiConfig = {
30
+ ...config,
31
+ cookies: rawCookies
32
+ };
33
+ query = {
34
+ ...query
35
+ };
36
+ const featured = await flowrixApi.get(`products/featured`, apiConfig, { query });
37
+ if (config.public.FLOWRIX_CACHE == true) {
38
+ await ensureCacheDir();
39
+ await writeFile(filePath, JSON.stringify(featured, null, 2), "utf-8");
40
+ }
41
+ return featured;
42
+ } catch (error) {
43
+ throw createError({
44
+ statusCode: 500,
45
+ statusMessage: `Failed to fetch catelog for featured`,
46
+ data: error.message
47
+ });
48
+ }
49
+ });
@@ -0,0 +1,2 @@
1
+ declare const _default: import("h3").EventHandler<import("h3").EventHandlerRequest, Promise<string>>;
2
+ export default _default;
@@ -0,0 +1,20 @@
1
+ import {
2
+ defineEventHandler,
3
+ setResponseStatus,
4
+ setHeader
5
+ } from "h3";
6
+ import { useRuntimeConfig } from "#imports";
7
+ import { $fetch } from "ofetch";
8
+ export default defineEventHandler(async (event) => {
9
+ try {
10
+ const config = useRuntimeConfig();
11
+ const fileUrl = config.public.FLOWRIX_CDN + "robots.txt";
12
+ const fileContent = await $fetch(fileUrl);
13
+ setHeader(event, "Content-Type", "text/plain; charset=utf-8");
14
+ return fileContent;
15
+ } catch (error) {
16
+ setResponseStatus(event, 404);
17
+ setHeader(event, "Content-Type", "text/plain; charset=utf-8");
18
+ return `File not found`;
19
+ }
20
+ });
@@ -0,0 +1,2 @@
1
+ declare const _default: import("h3").EventHandler<import("h3").EventHandlerRequest, Promise<string | Buffer<ArrayBuffer>>>;
2
+ export default _default;
@@ -0,0 +1,32 @@
1
+ import {
2
+ defineEventHandler,
3
+ setResponseStatus,
4
+ setHeader
5
+ } from "h3";
6
+ import { useRuntimeConfig } from "#imports";
7
+ import { $fetch } from "ofetch";
8
+ export default defineEventHandler(async (event) => {
9
+ try {
10
+ let fullPath = event.path;
11
+ if (fullPath.startsWith("/")) {
12
+ fullPath = fullPath.slice(1);
13
+ }
14
+ const isGzip = fullPath.endsWith(".gz");
15
+ const config = useRuntimeConfig();
16
+ const cdnUrl = config.public.FLOWRIX_CDN + fullPath;
17
+ const buffer = await $fetch(cdnUrl, { responseType: "arrayBuffer" });
18
+ const data = Buffer.from(buffer);
19
+ if (isGzip) {
20
+ setHeader(event, "Content-Type", "application/xml; charset=utf-8");
21
+ setHeader(event, "Content-Encoding", "gzip");
22
+ return data;
23
+ }
24
+ setHeader(event, "Content-Type", "application/xml; charset=utf-8");
25
+ return data.toString();
26
+ } catch (error) {
27
+ setResponseStatus(event, 404);
28
+ setHeader(event, "Content-Type", "application/xml");
29
+ return `<?xml version="1.0"?>
30
+ <error>File not found</error>`;
31
+ }
32
+ });
@@ -1,2 +1,2 @@
1
- declare const _default: import("h3").EventHandler<import("h3").EventHandlerRequest, Promise<any>>;
1
+ declare const _default: import("h3").EventHandler<import("h3").EventHandlerRequest, Promise<unknown>>;
2
2
  export default _default;
@@ -1,13 +1,21 @@
1
- import { defineEventHandler } from "h3";
2
- import { $fetch } from "ofetch";
3
- export default defineEventHandler(async () => {
4
- const location = await $fetch(`${process.env.FLOWRIX_API_BASE}ip/location`, {
5
- method: "POST",
6
- headers: {
7
- "x-api-key": process.env.FLOWRIX_API_KEY,
8
- "x-api-secret": process.env.FLOWRIX_API_SECRET,
9
- "Origin": process.env.FLOWRIX_API_ORIGIN
10
- }
11
- });
12
- return location;
1
+ import { defineEventHandler, readBody, setResponseStatus } from "h3";
2
+ import { flowrixApi } from "../../middleware/flowrix.js";
3
+ import { useRuntimeConfig } from "#imports";
4
+ export default defineEventHandler(async (event) => {
5
+ try {
6
+ const body = await readBody(event);
7
+ const config = useRuntimeConfig();
8
+ const rawCookies = event.req.headers.cookie || "";
9
+ const apiConfig = {
10
+ ...config,
11
+ cookies: rawCookies
12
+ };
13
+ const location = await flowrixApi.post(`ip/location`, apiConfig, {
14
+ body: JSON.stringify(body)
15
+ });
16
+ return location;
17
+ } catch (error) {
18
+ setResponseStatus(event, 500);
19
+ return { success: false, error: error.message };
20
+ }
13
21
  });
@@ -1,2 +1,3 @@
1
+ export declare const menuCache: Map<any, any>;
1
2
  declare const _default: import("h3").EventHandler<import("h3").EventHandlerRequest, Promise<any>>;
2
3
  export default _default;