index.js
817 Bytes
import is from '@sindresorhus/is'
import { HttpResponse, http } from 'msw'
import { db } from '@db/pages/faq/db'
// Handler for pages/faq
export const handlerPagesFaq = [
http.get(('/api/pages/faq'), ({ request }) => {
const url = new URL(request.url)
const q = url.searchParams.get('q') ?? ''
const searchQuery = is.string(q) ? q : undefined
const queryLowered = (searchQuery ?? '').toString().toLowerCase()
const filteredData = []
Object.entries(db.faqs).forEach(([_, faqObj]) => {
const filteredQAndA = faqObj.faqs.filter(obj => {
return obj.question.toLowerCase().includes(queryLowered)
})
if (filteredQAndA.length)
filteredData.push({ ...faqObj, faqs: filteredQAndA })
})
return HttpResponse.json(filteredData, { status: 200 })
}),
]