const clickhouse = require('../database/clickhouse'); const fetchHistory = async (req, res) => { try { const { responseId } = req.body; const rows = await clickhouse.query({ query: ` SELECT response_json FROM userdetails.chat_history WHERE response_id = {responseId:UInt64} LIMIT 1 `, query_params: { responseId: Number(responseId) } }); const result = await rows.json(); if (!result.data.length) { return res.status(404).json({ success: false, message: "History not found" }); } const response = JSON.parse( result.data[0].response_json ); return res.json({ success: true, data: response }); } catch (err) { console.error(err); return res.status(500).json({ success: false, message: err.message }); } }; const fetchUserHistory = async (req, res) => { try { const userId = req.user?.userid || null; const rows = await clickhouse.query({ query: ` SELECT response_id, prompt, created_at FROM userdetails.chat_history WHERE user_id = {userId:UInt64} ORDER BY created_at DESC `, query_params: { userId: Number(userId) } }); const result = await rows.json(); return res.json({ success: true, totalRecords: result.data.length, data: result.data }); } catch (err) { console.error(err); return res.status(500).json({ success: false, message: err.message }); } }; module.exports = { fetchHistory, fetchUserHistory };