* Fix pylint warnings across all 24 Python files in web_server - Add module, class, and function docstrings (C0114, C0115, C0116) - Fix import ordering: stdlib before third-party before local (C0411) - Replace wildcard imports with explicit named imports (W0401) - Remove trailing whitespace and add missing final newlines (C0303, C0304) - Replace dict() with dict literals (R1735) - Remove unused imports and variables (W0611, W0612) - Narrow broad Exception catches to specific exceptions (W0718) - Replace f-string logging with lazy % formatting (W1203) - Fix variable naming: UPPER_CASE for constants, snake_case for locals (C0103) - Add pylint disable comments for necessary global statements (W0603) - Fix no-else-return, simplifiable-if-expression, singleton-comparison - Fix bad indentation in stripe.py (W0311) - Add encoding="utf-8" to open() calls (W1514) - Add check=True to subprocess.run() calls (W1510) - Register Celery task modules via conf.include * Update `package-lock.json` add peer dependencies
40 lines
967 B
Python
40 lines
967 B
Python
"""Admin utility functions for user management."""
|
|
|
|
from database.database import Database
|
|
|
|
def check_if_admin(username):
|
|
"""
|
|
Returns whether user is admin
|
|
"""
|
|
with Database() as db:
|
|
is_admin = db.fetchone("""
|
|
SELECT is_admin
|
|
FROM users
|
|
WHERE username = ?;
|
|
""", (username,))
|
|
|
|
return bool(is_admin)
|
|
|
|
def check_if_user_exists(banned_user):
|
|
"""
|
|
Returns whether user exists
|
|
"""
|
|
with Database() as db:
|
|
user_exists = db.fetchone("""
|
|
SELECT user_id
|
|
FROM users
|
|
WHERE username = ?;""",
|
|
(banned_user,))
|
|
|
|
return bool(user_exists)
|
|
|
|
def ban_user(banned_user):
|
|
"""
|
|
Bans a user
|
|
"""
|
|
with Database() as db:
|
|
db.execute("""
|
|
DELETE FROM users
|
|
WHERE username = ?;""",
|
|
(banned_user,))
|