import axios from 'axios'; const SOLR_HOST = process.env.SOLR_HOST; export default async function handler(req, res) { try { let params = '*:*'; let sort = 'sort=if(exists(sequence_i),0,1) asc,sequence_i asc, if(exists(image_s),0,1) asc '; let rows = 2000; if (req.query.params) { rows = 100; switch (req?.query?.params) { case 'level_s': params = 'level_s:prioritas'; break; case 'search': params = `name_s:"${req?.query?.q.toLowerCase()}"`; sort = ''; rows = 1; break; default: params = `name_s:${req.query.params}`.toLowerCase(); } } const url = `${SOLR_HOST}/solr/brands/select?q=${params}&q.op=OR&indent=true&rows=${rows}&${sort}`; let brands = await axios(url); let dataBrands = responseMap(brands.data.response.docs); res.status(200).json(dataBrands); } catch (error) { console.error('Error fetching data from Solr:', error); res.status(500).json({ error: 'Internal Server Error' }); } } const responseMap = (brands) => { return brands.map((brand) => { let brandMapping = { id: brand.id, name: brand.display_name_s, logo: brand.image_s || '', sequance: brand.sequence_i || '', }; return brandMapping; }); };