init
This commit is contained in:
0
flask_demo_api/protocols/__init__.py
Normal file
0
flask_demo_api/protocols/__init__.py
Normal file
7
flask_demo_api/protocols/models.py
Normal file
7
flask_demo_api/protocols/models.py
Normal file
@@ -0,0 +1,7 @@
|
||||
from dataclasses import dataclass
|
||||
|
||||
|
||||
@dataclass()
|
||||
class KeyDTO:
|
||||
key: str
|
||||
val: str
|
18
flask_demo_api/protocols/repository.py
Normal file
18
flask_demo_api/protocols/repository.py
Normal file
@@ -0,0 +1,18 @@
|
||||
from abc import abstractmethod
|
||||
from typing import Protocol
|
||||
|
||||
from flask_demo_api.protocols.models import KeyDTO
|
||||
|
||||
|
||||
class Repository(Protocol):
|
||||
@abstractmethod
|
||||
def get_key(self, obj: KeyDTO) -> KeyDTO | None:
|
||||
raise NotImplementedError
|
||||
|
||||
@abstractmethod
|
||||
def add_key(self, obj: KeyDTO) -> KeyDTO:
|
||||
raise NotImplementedError
|
||||
|
||||
@abstractmethod
|
||||
def put_key(self, obj: KeyDTO) -> KeyDTO:
|
||||
raise NotImplementedError
|
Reference in New Issue
Block a user