From f72f830b36116e1c4bfadeffa92a4ed336ed93fd Mon Sep 17 00:00:00 2001 From: lilly Date: Fri, 15 May 2026 08:36:49 +0200 Subject: [PATCH] api: configure ccujack connection via established config mechanism --- .dev.env | 1 + api/src/dooris_api/__init__.py | 18 ++++++++++++++++++ api/src/dooris_api/app.py | 4 ++-- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/.dev.env b/.dev.env index a1a7c4d..eb77b35 100644 --- a/.dev.env +++ b/.dev.env @@ -2,3 +2,4 @@ DOORIS_OPENID_ISSUER=https://id.hamburg.ccc.de/realms/test/ DOORIS_OPENID_CLIENT_ID=dooris DOORIS_OPENID_CLIENT_SECRET=dp9HhnvUhAtKm3pRnxfGA7q8Nwrd1td8 DOORIS_BASE_URL=http://localhost:8000 +DOORIS_CCUJACK_USER=dooris diff --git a/api/src/dooris_api/__init__.py b/api/src/dooris_api/__init__.py index 5e684af..c155426 100644 --- a/api/src/dooris_api/__init__.py +++ b/api/src/dooris_api/__init__.py @@ -46,6 +46,24 @@ def main(): default=os.environ.get("DOORIS_SERVE_STATIC", None), help="In addition to the API functionality, serve static files from this path", ) + argp.add_argument( + "--ccujack-url", + required=False, + default=os.environ.get("DOORIS_CCUJACK_URL", "https://hmdooris-ccu.ccchh.net:2122"), + help="The URL under which a CCUJACK instance is hosted that actually operates the locks", + ) + argp.add_argument( + "--ccujack-user", + required="DOORIS_CCUJACK_USER" not in os.environ, + default=os.environ.get("DOORIS_CCUJACK_USER", None), + help="The username used to authenticate against the CCUJACK", + ) + argp.add_argument( + "--ccujack-password", + required="DOORIS_CCUJACK_PASSWORD" not in os.environ, + default=os.environ.get("DOORIS_CCUJACK_PASSWORD", None), + help="The password used to authenticate against the CCUJACK" + ) args = argp.parse_args() app_config.set(args) diff --git a/api/src/dooris_api/app.py b/api/src/dooris_api/app.py index f4b54ee..3bcd848 100644 --- a/api/src/dooris_api/app.py +++ b/api/src/dooris_api/app.py @@ -37,8 +37,8 @@ async def lifespan(app: FastAPI): ) app.extra["ccujack"] = CCUJackClient( - "https://hmdooris-ccu.ccchh.net:2122", - auth=BasicAuth("dooris", os.environ["HMDOORIS_PW"]), + base_uri=app_cfg.ccujack_url, + auth=BasicAuth(app_cfg.ccujack_user, app_cfg.ccujack_password) ) await app.extra["ccujack"].find_locks()