flowrix 1.0.1-beta.88 → 1.0.1-beta.89
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.
- package/dist/module.json +1 -1
- package/dist/module.mjs +14 -4
- package/dist/runtime/pages/flowrix-default.d.vue.ts +3 -0
- package/dist/runtime/pages/flowrix-default.vue +34 -0
- package/dist/runtime/pages/flowrix-default.vue.d.ts +3 -0
- package/dist/runtime/server/api/banners.js +4 -2
- package/dist/runtime/server/api/brand/[...slug].js +4 -2
- package/dist/runtime/server/api/catalog/categories.js +6 -2
- package/dist/runtime/server/api/catalog/categoriesall.js +4 -2
- package/dist/runtime/server/api/catalog/featured.js +4 -2
- package/dist/runtime/server/api/catalog/samples.js +4 -2
- package/dist/runtime/server/api/catalog/search.js +4 -2
- package/dist/runtime/server/api/category/[...slug].js +1 -2
- package/dist/runtime/server/api/cmspost/[...slug].js +6 -2
- package/dist/runtime/server/api/countries.js +4 -2
- package/dist/runtime/server/api/generate/robots.get.d.ts +2 -0
- package/dist/runtime/server/api/generate/robots.get.js +20 -0
- package/dist/runtime/server/api/generate/sitemap.get.d.ts +1 -4
- package/dist/runtime/server/api/generate/sitemap.get.js +24 -5
- package/dist/runtime/server/api/page/[...slug].js +6 -2
- package/dist/runtime/server/api/product/[...slug].js +4 -2
- package/dist/runtime/server/api/reviews.d.ts +2 -0
- package/dist/runtime/server/api/reviews.js +18 -0
- package/dist/runtime/server/api/service/[slug].js +4 -2
- package/dist/runtime/server/api/service/getall.js +4 -2
- package/dist/runtime/server/api/v2/{[...slug].d.ts → [...slug].get.d.ts} +0 -1
- package/dist/runtime/server/api/v2/{[...slug].js → [...slug].get.js} +4 -3
- package/dist/runtime/utils/htmlCache.js +1 -1
- package/package.json +9 -8
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -14,7 +14,8 @@ const module$1 = defineNuxtModule({
|
|
|
14
14
|
runtimeConfig.FLOWRIX_API_ORIGIN ||= env.FLOWRIX_API_ORIGIN || "";
|
|
15
15
|
runtimeConfig.FLOWRIX_API_BASE ||= env.FLOWRIX_API_BASE || "";
|
|
16
16
|
runtimeConfig.FLOWRIX_API_BASE_V2 ||= env.FLOWRIX_API_BASE_V2 || "";
|
|
17
|
-
runtimeConfig.FLOWRIX_CACHE ||= env.FLOWRIX_CACHE ||
|
|
17
|
+
runtimeConfig.FLOWRIX_CACHE ||= env.FLOWRIX_CACHE || false;
|
|
18
|
+
runtimeConfig.FLOWRIX_CDN ||= env.FLOWRIX_CDN || "";
|
|
18
19
|
Object.assign(runtimeConfig.public, {
|
|
19
20
|
...runtimeConfig.public,
|
|
20
21
|
FLOWRIX_API_KEY: runtimeConfig.public.FLOWRIX_API_KEY || env.FLOWRIX_API_KEY || "",
|
|
@@ -22,7 +23,8 @@ const module$1 = defineNuxtModule({
|
|
|
22
23
|
FLOWRIX_API_ORIGIN: runtimeConfig.public.FLOWRIX_API_ORIGIN || env.FLOWRIX_API_ORIGIN || "",
|
|
23
24
|
FLOWRIX_API_BASE: runtimeConfig.public.FLOWRIX_API_BASE || env.FLOWRIX_API_BASE || "",
|
|
24
25
|
FLOWRIX_API_BASE_V2: runtimeConfig.public.FLOWRIX_API_BASE_V2 || env.FLOWRIX_API_BASE_V2 || "",
|
|
25
|
-
FLOWRIX_CACHE: runtimeConfig.public.FLOWRIX_CACHE || env.FLOWRIX_CACHE ||
|
|
26
|
+
FLOWRIX_CACHE: runtimeConfig.public.FLOWRIX_CACHE || env.FLOWRIX_CACHE || false,
|
|
27
|
+
FLOWRIX_CDN: runtimeConfig.public.FLOWRIX_CDN || env.FLOWRIX_CDN || ""
|
|
26
28
|
});
|
|
27
29
|
const resolver = createResolver(import.meta.url);
|
|
28
30
|
await installModule("@pinia/nuxt");
|
|
@@ -44,6 +46,10 @@ const module$1 = defineNuxtModule({
|
|
|
44
46
|
route: "/api/albums",
|
|
45
47
|
handler: resolver.resolve("./runtime/server/api/albums")
|
|
46
48
|
});
|
|
49
|
+
addServerHandler({
|
|
50
|
+
route: "/api/reviews",
|
|
51
|
+
handler: resolver.resolve("./runtime/server/api/reviews")
|
|
52
|
+
});
|
|
47
53
|
addServerHandler({
|
|
48
54
|
route: "/api/banners",
|
|
49
55
|
handler: resolver.resolve("./runtime/server/api/banners")
|
|
@@ -302,7 +308,7 @@ const module$1 = defineNuxtModule({
|
|
|
302
308
|
});
|
|
303
309
|
addServerHandler({
|
|
304
310
|
route: "/api/v2/**",
|
|
305
|
-
handler: resolver.resolve("./runtime/server/api/v2/[...slug]")
|
|
311
|
+
handler: resolver.resolve("./runtime/server/api/v2/[...slug].get")
|
|
306
312
|
});
|
|
307
313
|
addServerHandler({
|
|
308
314
|
route: "/api/shop",
|
|
@@ -329,9 +335,13 @@ const module$1 = defineNuxtModule({
|
|
|
329
335
|
handler: resolver.resolve("./runtime/server/api/cache/[...slug].delete")
|
|
330
336
|
});
|
|
331
337
|
addServerHandler({
|
|
332
|
-
route: "/sitemap
|
|
338
|
+
route: "/sitemap.xml",
|
|
333
339
|
handler: resolver.resolve("./runtime/server/api/generate/sitemap.get")
|
|
334
340
|
});
|
|
341
|
+
addServerHandler({
|
|
342
|
+
route: "/robots.txt",
|
|
343
|
+
handler: resolver.resolve("./runtime/server/api/generate/robots.get")
|
|
344
|
+
});
|
|
335
345
|
}
|
|
336
346
|
});
|
|
337
347
|
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
const route = useRoute();
|
|
3
|
+
const { data, error } = await useAsyncData(
|
|
4
|
+
"flowrix-page",
|
|
5
|
+
() => $fetch(`/api/v2${route.fullPath}`, {
|
|
6
|
+
method: "GET"
|
|
7
|
+
})
|
|
8
|
+
);
|
|
9
|
+
if (error.value) {
|
|
10
|
+
throw createError({
|
|
11
|
+
statusCode: 404,
|
|
12
|
+
statusMessage: "Page Not Found"
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
const rediectpage = (async (data2) => {
|
|
16
|
+
return navigateTo(data2.target, { redirectCode: 302 });
|
|
17
|
+
});
|
|
18
|
+
if (data.value?.data?.type === "Redirect") {
|
|
19
|
+
}
|
|
20
|
+
const html = data.value?.data?.html || null;
|
|
21
|
+
</script>
|
|
22
|
+
|
|
23
|
+
<template>
|
|
24
|
+
{{ data }}
|
|
25
|
+
<div>
|
|
26
|
+
<!-- Render HTML page from API -->
|
|
27
|
+
<div v-if="html" v-html="html"></div>
|
|
28
|
+
|
|
29
|
+
<!-- Fallback for debugging -->
|
|
30
|
+
<div v-else>
|
|
31
|
+
<pre>{{ data }}</pre>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
</template>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -28,8 +28,10 @@ export default defineEventHandler(async (event) => {
|
|
|
28
28
|
"Origin": process.env.FLOWRIX_API_ORIGIN
|
|
29
29
|
}
|
|
30
30
|
});
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
if (process.env.FLOWRIX_CACHE == true) {
|
|
32
|
+
await ensureCacheDir();
|
|
33
|
+
await writeFile(filePath, JSON.stringify(banners, null, 2), "utf-8");
|
|
34
|
+
}
|
|
33
35
|
return banners;
|
|
34
36
|
} catch (error) {
|
|
35
37
|
throw createError({
|
|
@@ -45,8 +45,10 @@ export default defineEventHandler(async (event) => {
|
|
|
45
45
|
"Origin": process.env.FLOWRIX_API_ORIGIN
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
if (process.env.FLOWRIX_CACHE == true) {
|
|
49
|
+
await ensureCacheDir();
|
|
50
|
+
await writeFile(filePath, JSON.stringify(brand, null, 2), "utf-8");
|
|
51
|
+
}
|
|
50
52
|
return brand;
|
|
51
53
|
} catch (error) {
|
|
52
54
|
throw createError({
|
|
@@ -2,6 +2,7 @@ import { defineEventHandler, getQuery, createError, getCookie } from "h3";
|
|
|
2
2
|
import { $fetch } from "ofetch";
|
|
3
3
|
import { writeFile, mkdir, readFile } from "fs/promises";
|
|
4
4
|
import { join } from "path";
|
|
5
|
+
import { useRuntimeConfig } from "#imports";
|
|
5
6
|
const CACHE_DIR = join("/tmp", ".cache", "nitro", "catalog");
|
|
6
7
|
export const catelogCache = /* @__PURE__ */ new Map();
|
|
7
8
|
async function ensureCacheDir() {
|
|
@@ -23,6 +24,7 @@ export default defineEventHandler(async (event) => {
|
|
|
23
24
|
} catch (error) {
|
|
24
25
|
}
|
|
25
26
|
try {
|
|
27
|
+
const config = useRuntimeConfig();
|
|
26
28
|
const categories = await $fetch(`${process.env.FLOWRIX_API_BASE}categories`, {
|
|
27
29
|
query,
|
|
28
30
|
headers: {
|
|
@@ -31,8 +33,10 @@ export default defineEventHandler(async (event) => {
|
|
|
31
33
|
"Origin": process.env.FLOWRIX_API_ORIGIN
|
|
32
34
|
}
|
|
33
35
|
});
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
if (process.env.FLOWRIX_CACHE == true) {
|
|
37
|
+
await ensureCacheDir();
|
|
38
|
+
await writeFile(filePath, JSON.stringify(categories, null, 2), "utf-8");
|
|
39
|
+
}
|
|
36
40
|
return categories;
|
|
37
41
|
} catch (error) {
|
|
38
42
|
throw createError({
|
|
@@ -31,8 +31,10 @@ export default defineEventHandler(async (event) => {
|
|
|
31
31
|
"Origin": process.env.FLOWRIX_API_ORIGIN
|
|
32
32
|
}
|
|
33
33
|
});
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
if (process.env.FLOWRIX_CACHE == true) {
|
|
35
|
+
await ensureCacheDir();
|
|
36
|
+
await writeFile(filePath, JSON.stringify(categories, null, 2), "utf-8");
|
|
37
|
+
}
|
|
36
38
|
return categories;
|
|
37
39
|
} catch (error) {
|
|
38
40
|
throw createError({
|
|
@@ -29,8 +29,10 @@ export default defineEventHandler(async (event) => {
|
|
|
29
29
|
"Origin": process.env.FLOWRIX_API_ORIGIN
|
|
30
30
|
}
|
|
31
31
|
});
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
if (process.env.FLOWRIX_CACHE == true) {
|
|
33
|
+
await ensureCacheDir();
|
|
34
|
+
await writeFile(filePath, JSON.stringify(featured, null, 2), "utf-8");
|
|
35
|
+
}
|
|
34
36
|
return featured;
|
|
35
37
|
} catch (error) {
|
|
36
38
|
throw createError({
|
|
@@ -32,8 +32,10 @@ export default defineEventHandler(async (event) => {
|
|
|
32
32
|
"Origin": process.env.FLOWRIX_API_ORIGIN
|
|
33
33
|
}
|
|
34
34
|
});
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
if (process.env.FLOWRIX_CACHE == true) {
|
|
36
|
+
await ensureCacheDir();
|
|
37
|
+
await writeFile(filePath, JSON.stringify(samples, null, 2), "utf-8");
|
|
38
|
+
}
|
|
37
39
|
return samples;
|
|
38
40
|
} catch (error) {
|
|
39
41
|
throw createError({
|
|
@@ -32,8 +32,10 @@ export default defineEventHandler(async (event) => {
|
|
|
32
32
|
"Origin": process.env.FLOWRIX_API_ORIGIN
|
|
33
33
|
}
|
|
34
34
|
});
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
if (process.env.FLOWRIX_CACHE == true) {
|
|
36
|
+
await ensureCacheDir();
|
|
37
|
+
await writeFile(filePath, JSON.stringify(search, null, 2), "utf-8");
|
|
38
|
+
}
|
|
37
39
|
return search;
|
|
38
40
|
} catch (error) {
|
|
39
41
|
throw createError({
|
|
@@ -24,7 +24,6 @@ export default defineEventHandler(async (event) => {
|
|
|
24
24
|
const cacheKey = `${slug}-${JSON.stringify(query)}`;
|
|
25
25
|
const fileName = cacheKey.replace(/[^a-zA-Z0-9-_]/g, "_");
|
|
26
26
|
const filePath = join(CACHE_DIR, `${fileName}-${customerType}.json`);
|
|
27
|
-
console.log("CACHE_DIR", filePath);
|
|
28
27
|
try {
|
|
29
28
|
const fileContent = await readFile(filePath, "utf-8");
|
|
30
29
|
const category = JSON.parse(fileContent);
|
|
@@ -43,7 +42,7 @@ export default defineEventHandler(async (event) => {
|
|
|
43
42
|
"scope[withchildren]": "true"
|
|
44
43
|
};
|
|
45
44
|
const category = await flowrixApi.get(`categories/${slug}`, apiConfig, { query });
|
|
46
|
-
if (
|
|
45
|
+
if (process.env.FLOWRIX_CACHE == true) {
|
|
47
46
|
await ensureCacheDir();
|
|
48
47
|
await writeFile(filePath, JSON.stringify(category, null, 2), "utf-8");
|
|
49
48
|
}
|
|
@@ -2,6 +2,7 @@ import { defineEventHandler, getQuery, createError, readBody, getCookie } from "
|
|
|
2
2
|
import { $fetch } from "ofetch";
|
|
3
3
|
import { writeFile, mkdir, readFile } from "fs/promises";
|
|
4
4
|
import { join } from "path";
|
|
5
|
+
import { useRuntimeConfig } from "#imports";
|
|
5
6
|
const CACHE_DIR = join("/tmp", ".cache", "nitro", "blogs");
|
|
6
7
|
export const blogCache = /* @__PURE__ */ new Map();
|
|
7
8
|
async function ensureCacheDir() {
|
|
@@ -29,6 +30,7 @@ export default defineEventHandler(async (event) => {
|
|
|
29
30
|
} catch (error) {
|
|
30
31
|
}
|
|
31
32
|
try {
|
|
33
|
+
const config = useRuntimeConfig();
|
|
32
34
|
const blog = await $fetch(`${process.env.FLOWRIX_API_BASE}post/${slug}`, {
|
|
33
35
|
headers: {
|
|
34
36
|
"x-public-key": process.env.FLOWRIX_API_KEY,
|
|
@@ -36,8 +38,10 @@ export default defineEventHandler(async (event) => {
|
|
|
36
38
|
"Origin": process.env.FLOWRIX_API_ORIGIN
|
|
37
39
|
}
|
|
38
40
|
});
|
|
39
|
-
|
|
40
|
-
|
|
41
|
+
if (process.env.FLOWRIX_CACHE == true) {
|
|
42
|
+
await ensureCacheDir();
|
|
43
|
+
await writeFile(filePath, JSON.stringify(blog, null, 2), "utf-8");
|
|
44
|
+
}
|
|
41
45
|
return blog;
|
|
42
46
|
} catch (error) {
|
|
43
47
|
throw createError({
|
|
@@ -22,8 +22,10 @@ export default defineEventHandler(async (event) => {
|
|
|
22
22
|
try {
|
|
23
23
|
const config = useRuntimeConfig();
|
|
24
24
|
const countries = await flowrixApi.get(`countries`, config);
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
if (process.env.FLOWRIX_CACHE == true) {
|
|
26
|
+
await ensureCacheDir();
|
|
27
|
+
await writeFile(filePath, JSON.stringify(countries, null, 2), "utf-8");
|
|
28
|
+
}
|
|
27
29
|
return countries;
|
|
28
30
|
} catch (error) {
|
|
29
31
|
throw createError({
|
|
@@ -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
|
+
});
|
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
declare const _default: import("h3").EventHandler<import("h3").EventHandlerRequest, Promise<
|
|
2
|
-
success: boolean;
|
|
3
|
-
message: string;
|
|
4
|
-
}>>;
|
|
1
|
+
declare const _default: import("h3").EventHandler<import("h3").EventHandlerRequest, Promise<string | Buffer<ArrayBuffer>>>;
|
|
5
2
|
export default _default;
|
|
@@ -1,13 +1,32 @@
|
|
|
1
1
|
import {
|
|
2
2
|
defineEventHandler,
|
|
3
|
-
setResponseStatus
|
|
3
|
+
setResponseStatus,
|
|
4
|
+
setHeader
|
|
4
5
|
} from "h3";
|
|
6
|
+
import { useRuntimeConfig } from "#imports";
|
|
7
|
+
import { $fetch } from "ofetch";
|
|
5
8
|
export default defineEventHandler(async (event) => {
|
|
6
9
|
try {
|
|
7
|
-
|
|
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();
|
|
8
26
|
} catch (error) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return
|
|
27
|
+
setResponseStatus(event, 404);
|
|
28
|
+
setHeader(event, "Content-Type", "application/xml");
|
|
29
|
+
return `<?xml version="1.0"?>
|
|
30
|
+
<error>File not found</error>`;
|
|
12
31
|
}
|
|
13
32
|
});
|
|
@@ -2,6 +2,7 @@ import { defineEventHandler, getQuery, createError, readBody, getCookie } from "
|
|
|
2
2
|
import { $fetch } from "ofetch";
|
|
3
3
|
import { writeFile, mkdir, readFile } from "fs/promises";
|
|
4
4
|
import { join } from "path";
|
|
5
|
+
import { useRuntimeConfig } from "#imports";
|
|
5
6
|
const CACHE_DIR = join("/tmp", ".cache", "nitro", "pages");
|
|
6
7
|
export const pageCache = /* @__PURE__ */ new Map();
|
|
7
8
|
async function ensureCacheDir() {
|
|
@@ -29,6 +30,7 @@ export default defineEventHandler(async (event) => {
|
|
|
29
30
|
} catch (error) {
|
|
30
31
|
}
|
|
31
32
|
try {
|
|
33
|
+
const config = useRuntimeConfig();
|
|
32
34
|
const page = await $fetch(`${process.env.FLOWRIX_API_BASE}page/${slug}`, {
|
|
33
35
|
headers: {
|
|
34
36
|
"x-public-key": process.env.FLOWRIX_API_KEY,
|
|
@@ -36,8 +38,10 @@ export default defineEventHandler(async (event) => {
|
|
|
36
38
|
"Origin": process.env.FLOWRIX_API_ORIGIN
|
|
37
39
|
}
|
|
38
40
|
});
|
|
39
|
-
|
|
40
|
-
|
|
41
|
+
if (process.env.FLOWRIX_CACHE == true) {
|
|
42
|
+
await ensureCacheDir();
|
|
43
|
+
await writeFile(filePath, JSON.stringify(page, null, 2), "utf-8");
|
|
44
|
+
}
|
|
41
45
|
return page;
|
|
42
46
|
} catch (error) {
|
|
43
47
|
throw createError({
|
|
@@ -34,8 +34,10 @@ export default defineEventHandler(async (event) => {
|
|
|
34
34
|
const product = await flowrixApi.post(`product/${slug}`, config, {
|
|
35
35
|
body: JSON.stringify(body)
|
|
36
36
|
});
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
if (config.public.FLOWRIX_CACHE == true) {
|
|
38
|
+
await ensureCacheDir();
|
|
39
|
+
await writeFile(filePath, JSON.stringify(product, null, 2), "utf-8");
|
|
40
|
+
}
|
|
39
41
|
return product;
|
|
40
42
|
} catch (error) {
|
|
41
43
|
throw createError({
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { defineEventHandler, setResponseStatus } from "h3";
|
|
2
|
+
import { $fetch } from "ofetch";
|
|
3
|
+
export default defineEventHandler(async (event) => {
|
|
4
|
+
try {
|
|
5
|
+
const reviews = await $fetch(`${process.env.FLOWRIX_API_BASE}reviews`, {
|
|
6
|
+
method: "GET",
|
|
7
|
+
headers: {
|
|
8
|
+
"x-public-key": process.env.FLOWRIX_API_KEY,
|
|
9
|
+
"x-api-secret": process.env.FLOWRIX_API_SECRET,
|
|
10
|
+
"Origin": process.env.FLOWRIX_API_ORIGIN
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
return reviews;
|
|
14
|
+
} catch (error) {
|
|
15
|
+
setResponseStatus(event, 500);
|
|
16
|
+
return { success: false, error: error.message };
|
|
17
|
+
}
|
|
18
|
+
});
|
|
@@ -39,8 +39,10 @@ export default defineEventHandler(async (event) => {
|
|
|
39
39
|
"Origin": process.env.FLOWRIX_API_ORIGIN
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
if (process.env.FLOWRIX_CACHE == true) {
|
|
43
|
+
await ensureCacheDir();
|
|
44
|
+
await writeFile(filePath, JSON.stringify(service, null, 2), "utf-8");
|
|
45
|
+
}
|
|
44
46
|
return service;
|
|
45
47
|
} catch (error) {
|
|
46
48
|
throw createError({
|
|
@@ -39,8 +39,10 @@ export default defineEventHandler(async (event) => {
|
|
|
39
39
|
"Origin": process.env.FLOWRIX_API_ORIGIN
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
if (process.env.FLOWRIX_CACHE == true) {
|
|
43
|
+
await ensureCacheDir();
|
|
44
|
+
await writeFile(filePath, JSON.stringify(service, null, 2), "utf-8");
|
|
45
|
+
}
|
|
44
46
|
return service;
|
|
45
47
|
} catch (error) {
|
|
46
48
|
throw createError({
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { defineEventHandler } from "h3";
|
|
2
2
|
import { flowrixApi } from "../../../middleware/flowrix.js";
|
|
3
3
|
import { useRuntimeConfig } from "#imports";
|
|
4
|
-
export const Page = /* @__PURE__ */ new Map();
|
|
5
4
|
export default defineEventHandler(async (event) => {
|
|
6
5
|
const slug = event.context.params._;
|
|
7
|
-
|
|
6
|
+
const config = useRuntimeConfig();
|
|
7
|
+
console.log("ddddd", slug);
|
|
8
8
|
const page = await flowrixApi.get(`permalink/${slug}`, config);
|
|
9
|
-
|
|
9
|
+
if (page.status === "Success" && page.data.type === "Redirect") {
|
|
10
|
+
}
|
|
10
11
|
return page;
|
|
11
12
|
});
|
|
@@ -54,7 +54,7 @@ export default defineEventHandler(async (event) => {
|
|
|
54
54
|
if (chunk) chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
|
|
55
55
|
const html = Buffer.concat(chunks).toString("utf-8");
|
|
56
56
|
if (event.node.res.statusCode === 200 && html.includes("<!DOCTYPE html>")) {
|
|
57
|
-
if (
|
|
57
|
+
if (process.env.FLOWRIX_CACHE == true) {
|
|
58
58
|
writeCache(url, html, customerType);
|
|
59
59
|
}
|
|
60
60
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flowrix",
|
|
3
|
-
"version": "1.0.1-beta.
|
|
3
|
+
"version": "1.0.1-beta.89",
|
|
4
4
|
"description": "Plug-and-play Nuxt eCommerce cart powered by FLOWRiX. Subscription required.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -40,17 +40,17 @@
|
|
|
40
40
|
"test:types": "vue-tsc --noEmit && cd playground && vue-tsc --noEmit"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@nuxt/image": "
|
|
43
|
+
"@nuxt/image": "1.11.0",
|
|
44
44
|
"@nuxt/kit": "4.2.0",
|
|
45
|
-
"@nuxtjs/seo": "
|
|
45
|
+
"@nuxtjs/seo": "3.2.2",
|
|
46
46
|
"@pinia/nuxt": "0.7.0",
|
|
47
47
|
"@stripe/stripe-js": "8.2.0",
|
|
48
|
-
"@vueuse/nuxt": "
|
|
49
|
-
"nuxt-gtag": "
|
|
50
|
-
"nuxt-swiper": "
|
|
51
|
-
"nuxt-toast": "
|
|
48
|
+
"@vueuse/nuxt": "14.0.0",
|
|
49
|
+
"nuxt-gtag": "4.1.0",
|
|
50
|
+
"nuxt-swiper": "2.0.1",
|
|
51
|
+
"nuxt-toast": "1.4.0",
|
|
52
52
|
"pinia": "2.3.1",
|
|
53
|
-
"pinia-plugin-persistedstate": "
|
|
53
|
+
"pinia-plugin-persistedstate": "3.2.3"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@nuxt/devtools": "2.6.5",
|
|
@@ -62,6 +62,7 @@
|
|
|
62
62
|
"changelogen": "0.6.2",
|
|
63
63
|
"eslint": "9.38.0",
|
|
64
64
|
"nuxt": "4.2.0",
|
|
65
|
+
"sass": "^1.94.2",
|
|
65
66
|
"typescript": "5.9.3",
|
|
66
67
|
"vitest": "3.2.4",
|
|
67
68
|
"vue-tsc": "3.1.1"
|