Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
V
vidai
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
SexHackMe
vidai
Commits
6acd0a64
Commit
6acd0a64
authored
Oct 06, 2025
by
Stefy Lanza (nextime / spora )
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add admin dashboard stats functionality
parent
b4083692
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
45 additions
and
2 deletions
+45
-2
database.py
vidai/database.py
+37
-1
web.py
vidai/web.py
+8
-1
No files found.
vidai/database.py
View file @
6acd0a64
...
...
@@ -1435,3 +1435,39 @@ def cleanup_expired_sessions() -> None:
cursor
.
execute
(
"DELETE FROM sessions WHERE last_activity < datetime('now', '-1 hour')"
)
conn
.
commit
()
conn
.
close
()
# Admin dashboard stats functions
def
get_admin_dashboard_stats
()
->
Dict
[
str
,
int
]:
"""Get admin dashboard statistics."""
conn
=
get_db_connection
()
cursor
=
conn
.
cursor
()
stats
=
{}
# Total non-admin users
cursor
.
execute
(
"SELECT COUNT(*) as count FROM users WHERE role != 'admin'"
)
stats
[
'total_non_admin_users'
]
=
cursor
.
fetchone
()[
'count'
]
# Active non-admin users
cursor
.
execute
(
"SELECT COUNT(*) as count FROM users WHERE role != 'admin' AND active = 1"
)
stats
[
'active_non_admin_users'
]
=
cursor
.
fetchone
()[
'count'
]
# Inactive non-admin users
cursor
.
execute
(
"SELECT COUNT(*) as count FROM users WHERE role != 'admin' AND active = 0"
)
stats
[
'inactive_non_admin_users'
]
=
cursor
.
fetchone
()[
'count'
]
# Total tokens held by non-admin users
cursor
.
execute
(
"SELECT COALESCE(SUM(tokens), 0) as total FROM users WHERE role != 'admin'"
)
stats
[
'total_tokens_held'
]
=
cursor
.
fetchone
()[
'total'
]
# Total tokens used (from processing_queue)
cursor
.
execute
(
"SELECT COALESCE(SUM(used_tokens), 0) as total FROM processing_queue WHERE used_tokens > 0"
)
stats
[
'total_tokens_used'
]
=
cursor
.
fetchone
()[
'total'
]
# Total jobs executed (completed jobs)
cursor
.
execute
(
"SELECT COUNT(*) as count FROM processing_queue WHERE status = 'completed'"
)
stats
[
'total_jobs_executed'
]
=
cursor
.
fetchone
()[
'count'
]
conn
.
close
()
return
stats
\ No newline at end of file
vidai/web.py
View file @
6acd0a64
...
...
@@ -134,6 +134,12 @@ def dashboard():
tokens
=
get_user_tokens
(
user
[
'id'
])
queue_items
=
get_user_queue_items
(
user
[
'id'
])
# Get admin stats if user is admin
admin_stats
=
{}
if
user
.
get
(
'role'
)
==
'admin'
:
from
.database
import
get_admin_dashboard_stats
admin_stats
=
get_admin_dashboard_stats
()
return
render_template
(
'dashboard.html'
,
user
=
user
,
tokens
=
tokens
,
...
...
@@ -141,7 +147,8 @@ def dashboard():
active_jobs
=
len
([
j
for
j
in
queue_items
if
j
[
"status"
]
==
"processing"
]),
total_jobs
=
len
(
queue_items
),
queue_items
=
queue_items
[:
5
],
active_page
=
'dashboard'
)
active_page
=
'dashboard'
,
**
admin_stats
)
@
app
.
route
(
'/login'
,
methods
=
[
'GET'
,
'POST'
])
def
login
():
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment