Files
aivideo/backend/app/modules/system/repository.py

26 lines
896 B
Python

from sqlalchemy import select
from sqlalchemy.orm import Session
from app.models.entities import CallbackLog, RedeemCode, SystemConfig
class SystemRepository:
def __init__(self, db: Session) -> None:
self.db = db
def list_configs(self):
return self.db.query(SystemConfig).order_by(SystemConfig.group_name.asc(), SystemConfig.id.asc())
def get_config(self, config_key: str) -> SystemConfig | None:
return self.db.scalar(select(SystemConfig).where(SystemConfig.config_key == config_key))
def list_redeem_codes(self):
return self.db.query(RedeemCode).order_by(RedeemCode.id.desc())
def get_redeem_code(self, redeem_id: int) -> RedeemCode | None:
return self.db.scalar(select(RedeemCode).where(RedeemCode.id == redeem_id))
def list_callback_logs(self):
return self.db.query(CallbackLog).order_by(CallbackLog.id.desc())