Commit Graph

11 Commits

Author SHA1 Message Date
Pascal Bleser
12f919b5f0 groupware: add jscontact examples, and move them to jmap/model_examples.go to avoid dependency recursion 2026-07-01 14:57:30 +02:00
Pascal Bleser
8d67452775 groupware: more API examples 2026-07-01 14:57:30 +02:00
Pascal Bleser
0650f4cd05 groupware: change Makefile to use groupware-apidocs instead of go-swagger 2026-07-01 14:57:30 +02:00
Pascal Bleser
d7f5833d75 API documentation changes for groupware-apidocs
* add example generator infrastructure, with some examples for pkg/jmap
   and pkg/groupware, with more needing to be done

 * alter the apidoc Makefile to stop using go-swagger but, instead, use
   the openapi.yml file that must be dropped into that directory using
   groupware-apidocs (will improve the integration there later)

 * add Makefile target to generate examples

 * bump redocly from 2.4.0 to 2.14.5

 * introduce Request.PathParam() and .PathParamDoc() to improve API
   documentation, as well as future-proofing

 * improve X-Request-ID and Trace-Id header handling in the middleware
   by logging it safely when an error occurs in the middleware
2026-07-01 14:57:30 +02:00
Viktor Scharf
28a5526485 fixed connection reset issue. adapted make file to generate swagger docs on mac 2026-07-01 14:57:28 +02:00
Pascal Bleser
f133e4f8f6 groupware: add mock endpoints for addressbooks and contacts 2026-07-01 14:57:27 +02:00
Pascal Bleser
be79bd2892 docs(groupware): OpenAPI improvements
* refactor some pkg/jmap and groupware methods to make more sense from
   an API point-of-view

 * add path parameter documentation, but automate it by injecting their
   definition into the OpenAPI YAML tree that is extracted from the
   source code using go-swagger as it is too cumbersome, repetitive and
   error-prine to document them in the source code; wrote a TypeScript
   file apidoc-process.ts to do so

 * add generating an offline HTML file for the OpenAPI documentation
   using redocly, and injecting a favicon into the resulting HTML; wrote
   a TypeScript file apidoc-postprocess-html.ts to do so
2026-07-01 14:57:27 +02:00
Pascal Bleser
9c93c824fc groupware: swagger API documentation improvements
* add more documentation for properties

 * fixes after a bit of trial-and-error with go-swagger

 * fix email filter marshalling when there are no search criteria

 * introduce an apidoc.yml that contains Swagger data and is merged when
   generating the swagger.yml from sources
2026-07-01 14:56:56 +02:00
Pascal Bleser
bf6baf57ab refactored the Session object, refactored the services/groupware directory, and started Swagger documentation implementation 2026-07-01 14:56:55 +02:00
Pascal Bleser
aacc8dafd0 add an auth-api service to make an exemplary implementation of an external authentication API for third party services such as Stalwart 2026-07-01 14:56:55 +02:00
Pascal Bleser
745b90eec5 WIP: initial implementation of the groupware service 2026-07-01 14:56:55 +02:00