fix search api

This commit is contained in:
joshua 2022-01-17 16:07:20 -05:00
parent 649c78938f
commit a9c929e17e
2 changed files with 56 additions and 85 deletions

View File

@ -1,23 +0,0 @@
AGILITY_GUID=
AGILITY_API_FETCH_KEY=
AGILITY_API_PREVIEW_KEY=
AGILITY_SECURITY_KEY=
# Available providers: bigcommerce, shopify, swell
COMMERCE_PROVIDER=
BIGCOMMERCE_STOREFRONT_API_URL=
BIGCOMMERCE_STOREFRONT_API_TOKEN=
BIGCOMMERCE_STORE_API_URL=
BIGCOMMERCE_STORE_API_TOKEN=
BIGCOMMERCE_STORE_API_CLIENT_ID=
BIGCOMMERCE_CHANNEL_ID=
NEXT_PUBLIC_SHOPIFY_STORE_DOMAIN=
NEXT_PUBLIC_SHOPIFY_STOREFRONT_ACCESS_TOKEN=
NEXT_PUBLIC_SWELL_STORE_ID=
NEXT_PUBLIC_SWELL_PUBLIC_KEY=
NEXT_PUBLIC_SALEOR_API_URL=
NEXT_PUBLIC_SALEOR_CHANNEL=

View File

@ -1,16 +1,15 @@
import { NextApiRequest, NextApiResponse } from 'next'
import { NextApiRequest, NextApiResponse } from "next"
import commerce from '@lib/api/commerce' import commerce from '@lib/api/commerce'
export default async (req: NextApiRequest, res: NextApiResponse) => { export default async (req: NextApiRequest, res: NextApiResponse) => {
//cors stuff //cors stuff
res.setHeader('Access-Control-Allow-Credentials', "true") res.setHeader('Access-Control-Allow-Credentials', 'true')
res.setHeader('Access-Control-Allow-Origin', '*') res.setHeader('Access-Control-Allow-Origin', '*')
res.setHeader('Access-Control-Allow-Methods', 'GET,OPTIONS,PATCH,DELETE,POST,PUT') res.setHeader(
'Access-Control-Allow-Methods',
'GET,OPTIONS,PATCH,DELETE,POST,PUT'
)
res.setHeader( res.setHeader(
'Access-Control-Allow-Headers', 'Access-Control-Allow-Headers',
'X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version' 'X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version'
@ -26,8 +25,7 @@ export default async (req: NextApiRequest, res: NextApiResponse) => {
// const products = await getProducts({filter}) // const products = await getProducts({filter})
const locale = 'en-us'
const locale = "en-us"
const preview = false const preview = false
const config = { locale, locales: [locale] } const config = { locale, locales: [locale] }
@ -38,38 +36,34 @@ export default async (req: NextApiRequest, res: NextApiResponse) => {
preview, preview,
}) })
const returnedProducts = products const returnedProducts = products
.filter(p => { .filter((p: any) => {
return search === "" return (
|| p.name.toLowerCase().indexOf(search) !== -1 search === '' ||
|| (p.description && p.description.toLowerCase().indexOf(search) !== -1) p.name.toLowerCase().indexOf(search) !== -1 ||
(p.description && p.description.toLowerCase().indexOf(search) !== -1)
)
}) })
.map(p => { .map((p: any) => {
return { return {
name: p.name, name: p.name,
imageUrl: p.images[0].url, imageUrl: p.images[0].url,
price: p.price, price: p.price,
id: p.id, id: p.id,
description: p.description, description: p.description,
slug: p.path || p.slug slug: p.path || p.slug,
} }
}).sort((a, b) => { })
.sort((a: any, b: any) => {
if (a.name > b.name) return 1 if (a.name > b.name) return 1
return -1 return -1
}) })
res.setHeader("Content-Type", "application/json") res.setHeader('Content-Type', 'application/json')
res.statusCode = 200 res.statusCode = 200
res.json(returnedProducts) res.json(returnedProducts)
} catch (e) { } catch (e) {
res.statusCode = 500 res.statusCode = 500
res.json({ message: "An error occurred ", error: e }) res.json({ message: 'An error occurred ', error: e })
} }
} }