from typing import List from fastapi_async_sqlalchemy import db from sqlalchemy import select from app.models import RoleModel from . import BaseRepository class RoleRepository(BaseRepository[RoleModel]): def __init__(self, model): super().__init__(model) async def find_by_name(self, name: str) -> RoleModel: """Find record by name.""" query = select(self.model).where(self.model.name == name) result = await db.session.execute(query) return result.scalar_one_or_none() async def get_list_by_names(self, name: List[str]) -> List[RoleModel]: query = select(self.model).filter(self.model.name.in_(name)) result = await db.session.execute(query) return result.scalars().all()