from sqlalchemy.orm import Session

from model import Register


class RegisterRepository:

    @staticmethod
    def get_by_email(
        db: Session,
        email: str
    ):
        return (
            db.query(Register)
            .filter(Register.email == email)
            .first()
        )

    @staticmethod
    def get_by_mobile_number(
        db: Session,
        mobile_number: str
    ):
        return (
            db.query(Register)
            .filter(
                Register.mobile_number == mobile_number
            )
            .first()
        )

    @staticmethod
    def create_user(
        db: Session,
        user: Register
    ):
        db.add(user)
        db.commit()
        db.refresh(user)

        return user