Move users service into a module

This commit is contained in:
Campbell Alden 2026-08-03 00:01:15 +09:00
parent 72ece8af72
commit 395164f630
5 changed files with 115 additions and 98 deletions

View file

@ -0,0 +1,26 @@
import abc
from src.config.email import EmailAddress
from .data import User, UserDTO
class UserRepo(abc.ABC):
@abc.abstractmethod
def create_user(self, user: UserDTO) -> User:
pass
@abc.abstractmethod
def get_user_by_id(self, user_id: int) -> User | None:
pass
@abc.abstractmethod
def get_user_by_email(self, email: EmailAddress) -> User | None:
pass
@abc.abstractmethod
def update_user(self, user: User):
pass
@abc.abstractmethod
def auth_as_user(self, user: UserDTO) -> User | None:
pass