diff --git a/backend/Dockerfile.api b/backend/Dockerfile.api_server similarity index 89% rename from backend/Dockerfile.api rename to backend/Dockerfile.api_server index 3ec23d4..273ac51 100644 --- a/backend/Dockerfile.api +++ b/backend/Dockerfile.api_server @@ -30,5 +30,7 @@ env VIRTUAL_ENV=/app/.venv \ COPY --from=builder ${VIRTUAL_ENV} ${VIRTUAL_ENV} COPY api /app/api +COPY config.sample.yaml . +COPY api_server.py . -CMD ["python", "./api/main.py"] +CMD ["./api_server.py"] diff --git a/backend/Dockerfile.db_updater b/backend/Dockerfile.db_updater index 3dcfbf1..59053ee 100644 --- a/backend/Dockerfile.db_updater +++ b/backend/Dockerfile.db_updater @@ -35,6 +35,7 @@ env VIRTUAL_ENV=/app/.venv \ COPY --from=builder ${VIRTUAL_ENV} ${VIRTUAL_ENV} COPY api /app/api -COPY db_updater /app/db_updater +COPY config.sample.yaml . +COPY db_updater.py . -CMD ["python", "-m", "db_updater.fill_db"] +CMD ["./db_updater.py"] diff --git a/backend/api/db/db.py b/backend/api/db/db.py index bd4f840..0dac1b1 100644 --- a/backend/api/db/db.py +++ b/backend/api/db/db.py @@ -14,7 +14,7 @@ from sqlalchemy.ext.asyncio import ( ) from .base_class import Base -from settings import DatabaseSettings +from ..settings import DatabaseSettings logger = getLogger(__name__) diff --git a/backend/api/dependencies.py b/backend/api/dependencies.py index ecf6c11..ce95905 100644 --- a/backend/api/dependencies.py +++ b/backend/api/dependencies.py @@ -4,9 +4,9 @@ from fastapi_cache.backends.redis import RedisBackend from redis import asyncio as aioredis from yaml import safe_load -from db import db -from idfm_interface.idfm_interface import IdfmInterface -from settings import CacheSettings, Settings +from .db import db +from .idfm_interface.idfm_interface import IdfmInterface +from .settings import CacheSettings, Settings CONFIG_PATH = environ.get("CONFIG_PATH", "./config.sample.yaml") diff --git a/backend/api/idfm_interface/idfm_interface.py b/backend/api/idfm_interface/idfm_interface.py index 23de96b..d86284e 100644 --- a/backend/api/idfm_interface/idfm_interface.py +++ b/backend/api/idfm_interface/idfm_interface.py @@ -8,8 +8,8 @@ from msgspec import ValidationError from msgspec.json import Decoder from .idfm_types import Destinations as IdfmDestinations, IdfmResponse, IdfmState -from db import Database -from models import Line, Stop, StopArea +from ..db import Database +from ..models import Line, Stop, StopArea class IdfmInterface: diff --git a/backend/api/models/line.py b/backend/api/models/line.py index ce0f2a5..786c585 100644 --- a/backend/api/models/line.py +++ b/backend/api/models/line.py @@ -14,8 +14,8 @@ from sqlalchemy import ( from sqlalchemy.orm import Mapped, mapped_column, relationship, selectinload from sqlalchemy.sql.expression import tuple_ -from db import Base, db -from idfm_interface.idfm_types import ( +from ..db import Base, db +from ..idfm_interface.idfm_types import ( IdfmState, IdfmLineState, TransportMode, diff --git a/backend/api/models/stop.py b/backend/api/models/stop.py index 02087cc..05e05e2 100644 --- a/backend/api/models/stop.py +++ b/backend/api/models/stop.py @@ -26,8 +26,8 @@ from sqlalchemy.orm import ( from sqlalchemy.schema import Index from sqlalchemy_utils.types.ts_vector import TSVectorType -from db import Base, db -from idfm_interface.idfm_types import TransportMode, IdfmState, StopAreaType +from ..db import Base, db +from ..idfm_interface.idfm_types import TransportMode, IdfmState, StopAreaType if TYPE_CHECKING: from .line import Line diff --git a/backend/api/models/user.py b/backend/api/models/user.py index 62bbc28..24a152c 100644 --- a/backend/api/models/user.py +++ b/backend/api/models/user.py @@ -1,7 +1,7 @@ from sqlalchemy import BigInteger, ForeignKey, String from sqlalchemy.orm import Mapped, mapped_column, relationship -from db import Base, db +from ..db import Base, db from .stop import _Stop diff --git a/backend/api/routers/line.py b/backend/api/routers/line.py index 5325d15..4256725 100644 --- a/backend/api/routers/line.py +++ b/backend/api/routers/line.py @@ -1,8 +1,8 @@ from fastapi import APIRouter, HTTPException from fastapi_cache.decorator import cache -from models import Line -from schemas import Line as LineSchema, TransportMode +from ..models import Line +from ..schemas import Line as LineSchema, TransportMode router = APIRouter(prefix="/line", tags=["line"]) diff --git a/backend/api/routers/stop.py b/backend/api/routers/stop.py index caafb99..2f6e726 100644 --- a/backend/api/routers/stop.py +++ b/backend/api/routers/stop.py @@ -5,16 +5,16 @@ from typing import Sequence from fastapi import APIRouter, HTTPException from fastapi_cache.decorator import cache -from idfm_interface import Destinations as IdfmDestinations, TrainStatus -from models import Stop, StopArea, StopShape -from schemas import ( +from ..idfm_interface import Destinations as IdfmDestinations, TrainStatus +from ..models import Stop, StopArea, StopShape +from ..schemas import ( NextPassage as NextPassageSchema, NextPassages as NextPassagesSchema, Stop as StopSchema, StopArea as StopAreaSchema, StopShape as StopShapeSchema, ) -from dependencies import idfm_interface +from ..dependencies import idfm_interface router = APIRouter(prefix="/stop", tags=["stop"]) diff --git a/backend/api/schemas/line.py b/backend/api/schemas/line.py index 1182bcd..69f29bc 100644 --- a/backend/api/schemas/line.py +++ b/backend/api/schemas/line.py @@ -2,7 +2,7 @@ from enum import StrEnum from pydantic import BaseModel -from idfm_interface import ( +from ..idfm_interface import ( IdfmLineState, IdfmState, TransportMode as IdfmTransportMode, diff --git a/backend/api/schemas/next_passage.py b/backend/api/schemas/next_passage.py index 1035393..e895190 100644 --- a/backend/api/schemas/next_passage.py +++ b/backend/api/schemas/next_passage.py @@ -1,6 +1,6 @@ from pydantic import BaseModel -from idfm_interface.idfm_types import TrainStatus +from ..idfm_interface.idfm_types import TrainStatus class NextPassage(BaseModel): diff --git a/backend/api/schemas/stop.py b/backend/api/schemas/stop.py index e323d8d..78581ac 100644 --- a/backend/api/schemas/stop.py +++ b/backend/api/schemas/stop.py @@ -1,6 +1,6 @@ from pydantic import BaseModel -from idfm_interface import StopAreaType +from ..idfm_interface import StopAreaType class Stop(BaseModel): diff --git a/backend/api/main.py b/backend/api_server.py similarity index 95% rename from backend/api/main.py rename to backend/api_server.py index bcbaaaa..c16b406 100755 --- a/backend/api/main.py +++ b/backend/api_server.py @@ -12,9 +12,9 @@ from opentelemetry.sdk.resources import Resource, SERVICE_NAME from opentelemetry.sdk.trace import TracerProvider from opentelemetry.sdk.trace.export import BatchSpanProcessor -from db import db -from dependencies import idfm_interface, redis_backend, settings -from routers import line, stop +from api.db import db +from api.dependencies import idfm_interface, redis_backend, settings +from api.routers import line, stop @asynccontextmanager diff --git a/backend/api/config.local.yaml b/backend/config.local.yaml similarity index 100% rename from backend/api/config.local.yaml rename to backend/config.local.yaml diff --git a/backend/api/config.sample.yaml b/backend/config.sample.yaml similarity index 100% rename from backend/api/config.sample.yaml rename to backend/config.sample.yaml diff --git a/backend/db_updater/fill_db.py b/backend/db_updater.py similarity index 100% rename from backend/db_updater/fill_db.py rename to backend/db_updater.py