Files
GenBI-Node-Setup/controller/fetchhistory.js
T
Gitea fe5a10d1fc
Deploy Node App / deploy (push) Successful in 10s
fetchhistory changes
2026-06-03 11:17:02 +05:30

89 lines
1.6 KiB
JavaScript

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?.client_id || 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
};