feat: add backend FastAPI structure and Supabase schema
This commit is contained in:
32
server/app/domain/interfaces/i_ruta_repository.py
Normal file
32
server/app/domain/interfaces/i_ruta_repository.py
Normal file
@@ -0,0 +1,32 @@
|
||||
"""
|
||||
Interfaces del dominio.
|
||||
El dominio define QUÉ necesita, no CÓMO se implementa.
|
||||
La capa de Datos implementa estas interfaces.
|
||||
"""
|
||||
from abc import ABC, abstractmethod
|
||||
from typing import Optional
|
||||
|
||||
from app.domain.entities.ruta import EstadoRuta, Ruta
|
||||
|
||||
|
||||
class IRutaRepository(ABC):
|
||||
|
||||
@abstractmethod
|
||||
def obtener_ruta(self, ruta_id: str) -> Optional[Ruta]:
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
def obtener_estado(self, ruta_id: str) -> Optional[EstadoRuta]:
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
def guardar_estado(self, estado: EstadoRuta) -> None:
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
def obtener_ruta_por_zona(self, zona_id: str) -> Optional[Ruta]:
|
||||
"""
|
||||
Devuelve la ruta asignada a una zona.
|
||||
Cumple la restricción de 'túnel': el domicilio solo ve su ruta.
|
||||
"""
|
||||
...
|
||||
Reference in New Issue
Block a user