| 123456789101112131415161718192021222324252627282930313233 |
- from app.schemas.system_log import SystemLogCreate
- from app.db.client import fetch_one, fetch_all, db_execute_commit
- def create_system_log(db, log: SystemLogCreate):
- # Use log.timestamp if provided, otherwise let DB use CURRENT_TIMESTAMP
- if log.timestamp:
- rs = db_execute_commit(
- db,
- """
- INSERT INTO system_logs (forum_id, level, source, content, timestamp)
- VALUES (?, ?, ?, ?, ?)
- RETURNING *
- """,
- [log.forum_id, log.level, log.source, log.content, log.timestamp]
- )
- else:
- rs = db_execute_commit(
- db,
- """
- INSERT INTO system_logs (forum_id, level, source, content)
- VALUES (?, ?, ?, ?)
- RETURNING *
- """,
- [log.forum_id, log.level, log.source, log.content]
- )
- return fetch_one(rs)
- def get_system_logs(db, forum_id: int, limit: int = 100):
- rs = db.execute(
- "SELECT * FROM system_logs WHERE forum_id = ? ORDER BY timestamp ASC LIMIT ?",
- [forum_id, limit]
- )
- return fetch_all(rs)
|