37 lines
931 B
Python
37 lines
931 B
Python
from abc import ABC, abstractmethod
|
|
from typing import Optional
|
|
|
|
from cpl_query.extension import List
|
|
|
|
from gismo_data.model.user import User
|
|
|
|
|
|
class UserRepositoryABC(ABC):
|
|
|
|
@abstractmethod
|
|
def __init__(self): pass
|
|
|
|
@abstractmethod
|
|
def get_users(self) -> List[User]: pass
|
|
|
|
@abstractmethod
|
|
def get_user_by_id(self, id: int) -> User: pass
|
|
|
|
@abstractmethod
|
|
def get_users_by_discord_id(self, discord_id: int) -> List[User]: pass
|
|
|
|
@abstractmethod
|
|
def get_user_by_discord_id_and_server_id(self, discord_id: int, server_id: int) -> User: pass
|
|
|
|
@abstractmethod
|
|
def find_user_by_discord_id_and_server_id(self, discord_id: int, server_id: int) -> Optional[User]: pass
|
|
|
|
@abstractmethod
|
|
def add_user(self, user: User): pass
|
|
|
|
@abstractmethod
|
|
def update_user(self, user: User): pass
|
|
|
|
@abstractmethod
|
|
def delete_user(self, user: User): pass
|