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()