57fa0aa4a0
api: ensure mqtt futures exists as attributes
...
Build Container / Build Container (push) Successful in 4m41s
We were running into a bug where, during a server
initiated disconnect, the client would try to read
an attribute on its instance that had never been written
to. This resulted in an AttributeError exception being
thrown that effectively killed the whole MQTT task
and kept the app from ever doing any MQTT related things
again.
2026-10-18 19:02:02 +02:00
fde2254e51
Only update SpaceAPI, when state differs
Build Container / Build Container (push) Successful in 4m29s
2026-10-12 21:26:28 +02:00
4370c3f984
api: fix configuration parameter for main lock
Build Container / Build Container (push) Successful in 4m26s
2026-09-28 15:17:31 +02:00
51c67c49ae
api: fix response generation with new "is_main_lock" field
Build Container / Build Container (push) Successful in 4m25s
2026-08-11 17:02:17 +02:00
ecd6c2c48f
implement spaceapid integration into API
Build Container / Build Container (push) Successful in 4m38s
2026-08-11 16:04:13 +02:00
14730ecb47
fix bug in keycloak cron not writing newline speparators to authorized_keys
Build Container / Build Container (push) Successful in 4m29s
2026-07-21 21:48:03 +02:00
f5c69ae5e9
set authorized_keys file mode automatically from api process
Build Container / Build Container (push) Successful in 1m33s
2026-07-19 16:21:40 +02:00
a7692dc894
fix bug in API static tokens where not actually extracted from request
2026-07-18 23:19:34 +02:00
f904aa2831
fix typo in keycloak ssh key count debug message
Build Container / Build Container (push) Successful in 1m40s
2026-07-18 20:58:58 +02:00
ba404112d7
add debug message about fetched keycloak keys
Build Container / Build Container (push) Successful in 1m42s
2026-07-18 20:50:29 +02:00
ee9edfcc70
clear up static api token error message
2026-07-18 20:49:11 +02:00
ae8324c5c6
init locks as empty list to avoid internal server errors
Build Container / Build Container (push) Successful in 1m43s
2026-07-18 20:43:47 +02:00
914a4497c7
api: implement automatic ssh key fetching from keycloak
Build Container / Build Container (push) Successful in 1m26s
2026-05-31 22:03:59 +02:00
279a45a9e8
api: don't print static tokens on startup (was only for debugging)
Build Container / Build Container (push) Successful in 1m32s
2026-05-31 20:54:42 +02:00
64ab73e9c3
api: initialize ccujack asynchonously via immedietaly running cron
2026-05-31 20:54:36 +02:00
b752888812
api: fix mqtt reconnect logic errors
2026-05-31 20:53:45 +02:00
186ab662fb
api: implement static dooris tokens
2026-05-28 17:52:13 +02:00
63a9485209
api: restructure user authentication modelling to support other user backends
Build Container / Build Container (push) Successful in 1m26s
2026-05-28 17:29:57 +02:00
e5b880d038
api: fix syntax error in mqtt connector
Build Container / Build Container (push) Successful in 1m30s
2026-05-28 16:27:20 +02:00
6bbfc5dc68
api: implement automatic mqtt reconnect in ccujack cron
Build Container / Build Container (push) Successful in 1m27s
2026-05-28 16:23:03 +02:00
319670b6ae
api: fix variable misnomer failing at program shutdown
Build Container / Build Container (push) Successful in 1m27s
2026-05-19 17:13:46 +02:00
8bc4e7f28e
api: debounce multiple mqtt parameter updates for frontend
Build Container / Build Container (push) Successful in 1m27s
2026-05-19 17:07:00 +02:00
5bdf04cbb6
api: tentatively make auth_nonce optional after token refresh
Build Container / Build Container (push) Successful in 1m38s
2026-05-19 16:34:53 +02:00
41fd939d30
api: fix ccujack cron task not being properly stopped
Build Container / Build Container (push) Successful in 1m36s
2026-05-19 15:17:48 +02:00
2349e58924
api: automatically rediscover locks from CCUJack
...
Build Container / Build Container (push) Successful in 1m35s
closes CCCHH/dooris#5
2026-05-19 15:12:55 +02:00
b1b624a7b3
api: simplify logging setup
2026-05-19 15:01:04 +02:00
7ac0a4106c
api: implement Server-Sent-Events on top of mqtt parameters
Build Container / Build Container (push) Successful in 1m47s
2026-05-19 14:54:27 +02:00
4103c0ca5f
api: process mqtt messages to keep a current local lock state
2026-05-19 14:36:40 +02:00
44d484cfc1
api: use proper connection shutdown for downstream services
2026-05-19 14:08:41 +02:00
0331dd6406
api: connect to CCUJACK MQTT broker on startup
Build Container / Build Container (push) Successful in 1m29s
2026-05-19 13:09:54 +02:00
1a50d67df6
api: implement abstraction for connecting to CCUJACK MQTT broker
2026-05-19 13:07:03 +02:00
5a550e4594
document configuration variables in README.md
Build Container / Build Container (push) Successful in 1m32s
2026-05-15 08:44:28 +02:00
f72f830b36
api: configure ccujack connection via established config mechanism
2026-05-15 08:36:51 +02:00
cb570a7663
assemble docker image with frontend and api
Build Container / Build Container (push) Successful in 1m30s
2026-05-14 20:56:28 +02:00
196e759487
api: serve openapi spec under /api path
2026-05-14 20:48:32 +02:00
6ce5984c1e
api: fix OIDC not re-persisting token nonce
2026-05-14 17:52:15 +02:00
f4a27dffd4
api: log failure state of OIDC token refresh better
2026-05-14 17:50:41 +02:00
24e2de8c71
add preliminary Containerfile
2026-05-14 17:44:41 +02:00
bf0c085739
api: properly compute authorization based on ccchh role
2026-05-14 16:59:44 +02:00
188002b3f3
api: fix typo that prevented openapi generation
2026-05-14 16:52:20 +02:00
5e7569395b
api: respect ?next= url parmeter on login
2026-05-14 16:33:06 +02:00
3b3291b6d3
api: return HTTP error when not logged in on /api/user-info
2026-05-14 16:29:42 +02:00
2f991a6b02
api: restructure exception generation to be more ergonomic in the code
2026-05-14 16:23:52 +02:00
60c4770280
api: implement operating locks
2026-05-14 16:07:56 +02:00
b7aeeab762
api: expose lock id
2026-05-14 15:48:32 +02:00
b623082c4a
api: refactor ccujack state keeping
2026-05-14 15:36:46 +02:00
07c72c752f
api: implement logout endpoint
2026-05-14 15:27:38 +02:00
a1aa89132d
make app configurable via CLI and ENV parameters
2026-05-14 15:17:17 +02:00
9b97500516
api: render is_authorized in user-info api
2026-05-14 14:17:46 +02:00
5658228ce2
api: implement caching for lock discovery
2026-05-09 21:30:53 +02:00