from __future__ import annotations from sqlalchemy import select from rehearsalhub.db.models import Member from rehearsalhub.repositories.base import BaseRepository class MemberRepository(BaseRepository[Member]): model = Member async def get_by_email(self, email: str) -> Member | None: stmt = select(Member).where(Member.email == email.lower()) result = await self.session.execute(stmt) return result.scalar_one_or_none() async def email_exists(self, email: str) -> bool: return await self.get_by_email(email) is not None