from typing import Optional, List from sqlalchemy.orm import Session from sqlalchemy import select from app.models.SettingModel import Setting from app.repositories.base_repository import BaseRepository class SettingRepository(BaseRepository[Setting]): def __init__(self): super().__init__(Setting) def get_by_key(self, db: Session, key: str) -> Optional[Setting]: stmt = select(Setting).where(Setting.setting_key == key) return db.execute(stmt).scalar_one_or_none() def get_public_settings(self, db: Session) -> List[Setting]: stmt = select(Setting).where(Setting.is_public.is_(True)) return list(db.execute(stmt).scalars().all()) setting_repository = SettingRepository()