Commit Graph

5 Commits

Author SHA1 Message Date
Pascal Bleser
fcf62c4e73 groupware: fix debug server, was missing a lot of configuration options and was binding to :80 2026-06-03 18:39:08 +02:00
Pascal Bleser
dc518c7d51 groupware: implement metrics
* implement a framework for metrics, with a few exemplary ones
2026-06-03 18:39:08 +02:00
Pascal Bleser
b6fc9d6e22 groupware: Etag handling
* implement correct Etag and If-None-Match handling, responding with
   304 Not Modified if they match

 * introduce SessionState and State string type aliases to ensure we are
   using the correct fields for those, respectively

 * extract the SessionState from the JMAP response bodies in the
   groupware framework instead of having to do that in every single
   groupware API

 * use uint instead of int in some places to clarify that the values are
   >= 0

 * trace-log how long a Session was held in cache before being evicted

 * add Trace-Id header handling: add to response when specified in
   request, and implement a custom request logger to include it as a
   field

 * implement a more compact trace-logging of all the methods and URIs
   that are served, to put them into a single log entry instead of
   creating one log entry for every URI
2026-06-03 18:39:08 +02:00
Pascal Bleser
0c4540bb4d Refactor groupware service after ADR decision on the Groupware API
* after having decided that the Groupware API should be a standalone
   independent custom REST API that is using JMAP data models as much as
   possible,
 * removed Groupware APIs from the Graph service
 * moved Groupware implementation to the Groupware service, and
   refactored a few things accordingly
2026-06-03 18:39:07 +02:00
Pascal Bleser
4ca6a0d74c WIP: initial implementation of the groupware service 2026-06-03 18:39:07 +02:00