feat: add backend FastAPI structure and Supabase schema

This commit is contained in:
Alan Alonso
2026-05-23 00:41:13 -06:00
parent 17cdde7dbb
commit e6eb466c14
38 changed files with 1760 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
from app.domain.interfaces.i_ruta_repository import IRutaRepository
__all__ = ["IRutaRepository"]

View 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.
"""
...