from abc import ABCMeta, abstractmethod
from typing import List
from app.domain.entities import User


class IBaseRepository(metaclass=ABCMeta):

    def __init__(self, db) ->None:
        self._db = db


class IUserRepository(IBaseRepository):

    @abstractmethod
    def get_users(self, query_param: dict=None) ->List[User]:
        raise NotImplementedError(self.__class__.__name__)

    @abstractmethod
    def create_user(self, user: User) ->User:
        raise NotImplementedError(self.__class__.__name__)

134f22e234eceba89603b49e9a18f2d491212535
<mask token>


class IUserRepository(IBaseRepository):

    @abstractmethod
    def get_users(self, query_param: dict=None) ->List[User]:
        raise NotImplementedError(self.__class__.__name__)

    @abstractmethod
    def create_user(self, user: User) ->User:
        raise NotImplementedError(self.__class__.__name__)

<mask token>


class IBaseRepository(metaclass=ABCMeta):
    <mask token>


class IUserRepository(IBaseRepository):

    @abstractmethod
    def get_users(self, query_param: dict=None) ->List[User]:
        raise NotImplementedError(self.__class__.__name__)

    @abstractmethod
    def create_user(self, user: User) ->User:
        raise NotImplementedError(self.__class__.__name__)

<mask token>


class IBaseRepository(metaclass=ABCMeta):

    def __init__(self, db) ->None:
        self._db = db


class IUserRepository(IBaseRepository):

    @abstractmethod
    def get_users(self, query_param: dict=None) ->List[User]:
        raise NotImplementedError(self.__class__.__name__)

    @abstractmethod
    def create_user(self, user: User) ->User:
        raise NotImplementedError(self.__class__.__name__)

from abc import ABCMeta, abstractmethod
from typing import List
from app.domain.entities import User


class IBaseRepository(metaclass=ABCMeta):

    def __init__(self, db) ->None:
        self._db = db


class IUserRepository(IBaseRepository):

    @abstractmethod
    def get_users(self, query_param: dict=None) ->List[User]:
        raise NotImplementedError(self.__class__.__name__)

    @abstractmethod
    def create_user(self, user: User) ->User:
        raise NotImplementedError(self.__class__.__name__)
