import odooApi from '@/core/api/odooApi'; import { createClient } from 'redis'; const client = createClient(); client.on('error', (err) => console.error('Redis Client Error', err)); const connectRedis = async () => { if (!client.isOpen) { await client.connect(); } }; export default async function handler(req, res) { try { await connectRedis(); // await client.del('preferredBrand'); let cachedData; if (req.method === 'GET') { cachedData = await client.get('preferredBrand'); if (!cachedData) { const items = await odooApi( 'GET', '/api/v1/manufacture?level=prioritas' ); await client.set( 'preferredBrand', JSON.stringify(items), 'EX', 259200 // Expiry 3 hari ); cachedData = await client.get('preferredBrand'); } const data = cachedData ? JSON.parse(cachedData) : null; res.status(200).json({ data }); } else { res.setHeader('Allow', ['GET']); res.status(405).end(`Method ${req.method} Not Allowed`); } } catch (error) { console.error('Error interacting with Redis:', error); res.status(500).json({ error: 'Error interacting with Redis' }); } }