This PR adds a backend endpoint at /api/admin/generate-usage-report which fetches empty skeletons for ChatMessage and ChatSession.
The skeletons only store non-identifying message_id, session_id, user_id, and time stamps for correlation purposes.
The data is then written to CSV files which are stored in the postgres large object file store and sent back to the requesting admin as a single .zip file.
[!Note]
Currently the backend does not respect the data range input. I'll be adding that in a separate PR that also adds pagination
This PR adds a backend endpoint at
/api/admin/generate-usage-report
which fetches empty skeletons for ChatMessage and ChatSession.The skeletons only store non-identifying message_id, session_id, user_id, and time stamps for correlation purposes. The data is then written to CSV files which are stored in the postgres large object file store and sent back to the requesting admin as a single .zip file.