Loading .gitlab-ci.yml +1 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ lint: poetry run isort --filter-files --check-only . ; poetry run black --check --diff .; poetry run flake8 .; poetry run pylint app; poetry run pylint app tests remote_data_broker; poetry run mypy . " - docker tag remote-data-broker $CONTAINER_RDM_URL/$CI_COMMIT_REF_NAME:$CI_COMMIT_SHORT_SHA Loading .pre-commit-config.yaml +1 −1 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ repos: - id: system name: Pylint description: use pylint to lint entry: poetry run pylint app entry: poetry run pylint app tests remote_data_broker pass_filenames: false language: system - repo: local Loading app/main.py +12 −4 Original line number Diff line number Diff line """This is the main app""" import uvicorn # type: ignore from fastapi import FastAPI import remote_data_broker from app.routers import download, upload from remote_data_broker.local_data_broker import LocalDataBroker app = FastAPI() app.include_router(upload.router) app.include_router(download.router) def app_factory(broker: remote_data_broker.RemoteDataBroker) -> FastAPI: new_app = FastAPI() new_app.include_router(upload.router) new_app.include_router(download.router) new_app.extra = {"broker": broker} return new_app print(remote_data_broker.__version__) if __name__ == "__main__": app = app_factory(LocalDataBroker()) uvicorn.run(app, host="0.0.0.0", port=8000) app/routers/download.py +6 −3 Original line number Diff line number Diff line """This module deals with download route""" from fastapi import APIRouter from fastapi import APIRouter, Request from ..common import Response from app.common import Response from remote_data_broker import RemoteDataBroker # from ..dependencies import get_token_header Loading @@ -15,5 +16,7 @@ router = APIRouter( @router.get("") async def download_items() -> Response: async def download_items(request: Request) -> Response: broker: RemoteDataBroker = request.app.extra.get("broker") broker.download() return Response(msg="download") app/routers/upload.py +7 −3 Original line number Diff line number Diff line """This module deals with upload route""" from fastapi import APIRouter from fastapi import APIRouter, Request # from ..dependencies import get_token_header from remote_data_broker import RemoteDataBroker from ..common import Response router = APIRouter( Loading @@ -13,6 +15,8 @@ router = APIRouter( ) @router.get("", response_model=Response) async def upload_items() -> Response: @router.post("", response_model=Response) async def upload_items(request: Request) -> Response: broker: RemoteDataBroker = request.app.extra.get("broker") broker.upload() return Response(msg="upload") Loading
.gitlab-ci.yml +1 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ lint: poetry run isort --filter-files --check-only . ; poetry run black --check --diff .; poetry run flake8 .; poetry run pylint app; poetry run pylint app tests remote_data_broker; poetry run mypy . " - docker tag remote-data-broker $CONTAINER_RDM_URL/$CI_COMMIT_REF_NAME:$CI_COMMIT_SHORT_SHA Loading
.pre-commit-config.yaml +1 −1 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ repos: - id: system name: Pylint description: use pylint to lint entry: poetry run pylint app entry: poetry run pylint app tests remote_data_broker pass_filenames: false language: system - repo: local Loading
app/main.py +12 −4 Original line number Diff line number Diff line """This is the main app""" import uvicorn # type: ignore from fastapi import FastAPI import remote_data_broker from app.routers import download, upload from remote_data_broker.local_data_broker import LocalDataBroker app = FastAPI() app.include_router(upload.router) app.include_router(download.router) def app_factory(broker: remote_data_broker.RemoteDataBroker) -> FastAPI: new_app = FastAPI() new_app.include_router(upload.router) new_app.include_router(download.router) new_app.extra = {"broker": broker} return new_app print(remote_data_broker.__version__) if __name__ == "__main__": app = app_factory(LocalDataBroker()) uvicorn.run(app, host="0.0.0.0", port=8000)
app/routers/download.py +6 −3 Original line number Diff line number Diff line """This module deals with download route""" from fastapi import APIRouter from fastapi import APIRouter, Request from ..common import Response from app.common import Response from remote_data_broker import RemoteDataBroker # from ..dependencies import get_token_header Loading @@ -15,5 +16,7 @@ router = APIRouter( @router.get("") async def download_items() -> Response: async def download_items(request: Request) -> Response: broker: RemoteDataBroker = request.app.extra.get("broker") broker.download() return Response(msg="download")
app/routers/upload.py +7 −3 Original line number Diff line number Diff line """This module deals with upload route""" from fastapi import APIRouter from fastapi import APIRouter, Request # from ..dependencies import get_token_header from remote_data_broker import RemoteDataBroker from ..common import Response router = APIRouter( Loading @@ -13,6 +15,8 @@ router = APIRouter( ) @router.get("", response_model=Response) async def upload_items() -> Response: @router.post("", response_model=Response) async def upload_items(request: Request) -> Response: broker: RemoteDataBroker = request.app.extra.get("broker") broker.upload() return Response(msg="upload")