import AdminService from '../services/adminService.js'; import Joi from 'joi'; export const getOpenInterests = async (req, res) => { try { const { userid: userId} = req.headers; const openInterests = await AdminService.getOpenInterests(userId); res.status(200).json(openInterests); } catch (error) { res.status(403).json({error: error.message }); } } export const changeInterest = async (req, res) => { try { const { userid: userId } = req.headers; const { id: interestId, active, adult: adultOnly} = req.body; AdminService.changeInterest(userId, interestId, active, adultOnly); res.status(200).json(AdminService.getOpenInterests(userId)); } catch (error) { res.status(403).json({ error: error.message }); } } export const deleteInterest = async (req, res) => { try { const { userid: userId } = req.headers; const { id: interestId } = req.params; AdminService.deleteInterest(userId, interestId); res.status(200).json(AdminService.getOpenInterests(userId)); } catch (error) { res.status(403).json({ error: error.message }); } } export const changeTranslation = async (req, res) => { try { const { userid: userId } = req.headers; const { id: interestId, translations } = req.body; AdminService.changeTranslation(userId, interestId, translations); res.status(200).json(AdminService.getOpenInterests(userId)) } catch(error) { res.status(403).json({ error: error.message }); } } export const getOpenContacts = async (req, res) => { try { const { userid: userId } = req.headers; const openContacts = await AdminService.getOpenContacts(userId); res.status(200).json(openContacts); } catch (error) { res.status(403).json({ error: error.message }); } } export const answerContact = async (req, res) => { try { const schema = Joi.object({ id: Joi.number().integer().required(), answer: Joi.string().min(1).required() }); const { error, value } = schema.validate(req.body); if (error) { return res.status(400).json({ error: error.details[0].message }); } const { id, answer } = value; await AdminService.answerContact(id, answer); res.status(200).json({ status: 'ok' }); } catch (error) { console.error('Error in answerContact:', error); res.status(error.status || 500).json({ error: error.message || 'Internal Server Error' }); } };