18 lines
592 B
Python
18 lines
592 B
Python
"""User repository for data access operations."""
|
|
from typing import Optional
|
|
from sqlalchemy.orm import Session
|
|
from backend.models.user import User
|
|
from backend.repositories.base import BaseRepository
|
|
|
|
|
|
class UserRepository(BaseRepository[User]):
|
|
"""Repository for User model operations."""
|
|
|
|
def __init__(self, db: Session):
|
|
"""Initialize user repository."""
|
|
super().__init__(User, db)
|
|
|
|
def get_by_username(self, username: str) -> Optional[User]:
|
|
"""Get a user by username."""
|
|
return self.db.query(User).filter(User.username == username).first()
|