feat: deputy notification badges

Summary

  • extended UserDeputy DB model by modified_at and viewed_at field
  • extended deputy object of user-settings response by modified_at and viewed_at
  • added endpoint /conference-api/represented-user/acknowledge with method POST to update the viewed_at field of deputy assignments
  • cleanup API specs to adhere to server implementation
  • jump to python 3.14 to account for an earlier version jump of the docker image made by renovate

Description

response from GET /conference-api/represented-users should now look something like this

{
  "multistatus": [
    {
      "service": "conference-backend",
      "operation": "get-represented-users",
      "status": 200,
      "code": "Success"
    },
    {
      "service": "identity-curator",
      "operation": "get-user-by-claim",
      "status": 200,
      "code": "Success",
      "payload": "AlbertEinstein-objektID"
    }
  ],
  "content": {
    "represented_users": [
      {
        "first_name": "Albert",
        "last_name": "Einstein",
        "email": "albert.einstein@gonicus.de",
        "id": "AlbertEinstein-objektID",
        "from_dt": "2025-11-04 15:50:00+00:00",
        "to_dt": "2028-11-04 15:46:00+00:00",
        "modified_at": "2025-11-04 15:50:00+00:00",
        "viewed_at": "2025-11-04 15:37:10.459706+00:00",
        "conferences": []
      }
    ]
  }
}

Sample request to /conference-api/represented-user/acknowledge looks like this:

curl --request POST \
  --url http://conference-backend:8000/conference-api/represented-user/acknowledge \
  --header 'content-type: application/json' \
  --data '{
  "id": "AlbertEinstein-objektID"
}'

Checklist

  • Have the changes been tested?
    • Behavior if other services fail
    • Behavior in standalone mode
  • Have tests (e.g. unit tests) been adapted or new ones written?
  • Has the changelog been updated?
    • Have the dependencies on other services and their versions been documented?
  • Have all changes to configuration variables such as env vars been documented?
  • Have new migrations been documented in doc/revert_migrations.md?
  • Has the reverting of migrations been tested?
  • Do references in api_clients/config.json point to stable branches or tags? (develop, master/main)
  • Are all pipelines completed successfully?
  • Was a review completed by someone else?
Edited by Jannis Teipel

Merge request reports

Loading