fix(admin): dashboard data points

This commit is contained in:
Harshad 2026-02-10 23:38:10 +05:30
parent a2ca82aacd
commit e69d3d0db3
2 changed files with 33 additions and 21 deletions

View file

@ -189,7 +189,7 @@ async def get_all_admin_data(
query = query.order_by(sort_column.asc())
else:
# DEFAULT: Show oldest first when no order is specified
query = query.order_by(Submission.created_at.asc())
query = query.order_by(Submission.created_at.desc())
# 3. PAGINATION
submissions = query.offset(start).limit(length).all()

View file

@ -62,7 +62,7 @@
</div>
<!-- Column 3: Processing Submissions -->
<div class="col-md-3">
<div class="col-md-3" style="display: none;">
<div class="alert alert-light mb-0 h-100 d-flex align-items-center">
<span>
Video Queue:&nbsp;
@ -197,9 +197,10 @@
return isRelative ? MEDIA_BASE_URL + path : path;
}
// Fetch and display Sonauto credits
// Fetch and update system status metrics
function loadCredits() {
fetch('/back/api/admin/queue-status')
const STATUS_ENDPOINT = `/back/api/admin/queue-status`;
fetch(STATUS_ENDPOINT)
.then(response => response.json())
.then(data => {
// Update all three metrics from the API
@ -215,6 +216,8 @@
});
}
loadCredits();
// Poll every 2 minutes
setInterval(loadCredits, (2*60*1000));
// Initialize DataTable
const table = $('#usersTable').DataTable({
@ -268,6 +271,7 @@
{
data: null,
title: 'Actions',
name: 'actions',
defaultContent: '',
orderable: false,
searchable: false,
@ -277,52 +281,60 @@
</button>`;
}
},
{ data: 'session_id', title: 'Session', defaultContent: 'N/A' },
{ data: 'session_id', title: 'Session', name: 'session_id', defaultContent: 'N/A', visible: false },
{
data: 'created_at',
title: 'Created',
ordering: true,
name: 'created_at',
defaultContent: 'N/A',
visible: true,
render: (data) => {
if (!data) return 'N/A';
return luxon.DateTime.fromISO(data).toFormat('yyyy-MM-dd HH:mm:ss') + ' UTC';
}
},
{ data: 'cookie_id', title: 'Cookie ID', defaultContent: 'N/A' },
{ data: 'owner_name', title: 'Owner', defaultContent: 'N/A' },
{ data: 'pet_name', title: 'Pet Name', defaultContent: 'N/A' },
{ data: 'cookie_id', title: 'Cookie ID', name: 'cookie_id', defaultContent: 'N/A', visible: false },
{ data: 'owner_name', title: 'Owner', name: 'owner_name', defaultContent: 'N/A' },
{ data: 'pet_name', title: 'Pet Name', name: 'pet_name', defaultContent: 'N/A' },
{
data: 'photo_path',
title: 'Photo',
name: 'photo_path',
defaultContent: '',
visible: true,
render: (data) => {
const imgPath = fixStoragePath(data) || "https://placehold.co/500x500/fbba0e/e11d48/jpg?text=No\nImage";
return `<img src="${imgPath}" class="user-photo img-preview" style="cursor:pointer">`;
}
},
{ data: 'pet_type', title: 'Type', defaultContent: 'N/A' },
{ data: 'music_vibe', title: 'Vibe', defaultContent: 'N/A' },
{ data: 'retry_count', title: 'Retries', defaultContent: 'N/A' },
{ data: 'sent_to_LLM', title: 'Sent to LLM', defaultContent: 'N/A' },
{ data: 'LLM_task_id', title: 'Task ID', defaultContent: 'N/A' },
{ data: 'received_from_LLM', title: 'LLM Recv', defaultContent: 'N/A' },
{ data: 'pet_type', name: 'pet_type', title: 'Type', defaultContent: 'N/A' },
{ data: 'music_vibe', name: 'music_vibe', title: 'Vibe', defaultContent: 'N/A' },
{ data: 'retry_count', name: 'retry_count', title: 'Retries', defaultContent: 'N/A', visible: false },
{ data: 'sent_to_LLM', name: 'sent_to_LLM', title: 'Sent to LLM', defaultContent: 'N/A' },
{ data: 'LLM_task_id', name: 'LLM_task_id', title: 'Task ID', defaultContent: 'N/A', visible: false },
{ data: 'received_from_LLM', name: 'received_from_LLM', title: 'LLM Recv', defaultContent: 'N/A', visible: false },
{
data: 'LLM_response',
title: 'LLM Response',
name: 'LLM_response',
defaultContent: 'N/A',
visible: false,
render: (data) => data ? (data.substring(0, 30) + '...') : 'Pending'
},
{ data: 'LLM_full_response', defaultContent: 'N/A', visible: false },
{ data: 'generated_song_path', title: 'Song', defaultContent: '', render: d => d ? 'Yes' : 'No' },
{ data: 'LLM_status', title: 'LLM Status', defaultContent: 'N/A' },
{ data: 'lyrics', title: 'Lyrics', defaultContent: '', visible: false },
{ data: 'video_creation_start', title: 'Vid Start', defaultContent: '', visible: false },
{ data: 'video_creation_end', title: 'Vid End', defaultContent: '', visible: false },
{ data: 'generated_video_path', title: 'VideoGen', defaultContent: '', render: d => d ? 'Yes' : 'No' },
{ data: 'LLM_full_response', name: 'LLM_full_response', defaultContent: 'N/A', visible: false },
{ data: 'generated_song_path', name: 'generated_song_path', title: 'Song', defaultContent: '', render: d => d ? 'Yes' : 'No' },
{ data: 'LLM_status', name: 'LLM_status', title: 'LLM Status', defaultContent: 'N/A', visible: true },
{ data: 'lyrics', name: 'lyrics', title: 'Lyrics', defaultContent: '', visible: false },
{ data: 'video_creation_start', name: 'video_creation_start', title: 'Vid Start', defaultContent: '', visible: false },
{ data: 'video_creation_end', name: 'video_creation_end', title: 'Vid End', defaultContent: '', visible: false },
{ data: 'generated_video_path', name: 'generated_video_path', title: 'VideoGen', defaultContent: '', render: d => d ? 'Yes' : 'No', visible: false },
{
data: 'entry_status',
title: 'Status',
name: 'entry_status',
defaultContent: '',
visible: true ,
render: (data) => {
return `<span>${data}</span>`;
}