* split off the Stalwart integration test boilerplate into a new jmaptest package, in order to be able to use it from the groupware package as well * remove the JMAP Session patching in tests and, instead, pick random free local ports for HTTP and IMAPS manually, and set those explicitly in the Stalwart testcontainer, so that we can set the PUBLIC_URL environment variable that Stalwart then uses to define the URLs that are served as part of the JMAP Sessions (API URL, etc...)
Groupware
The OpenCloud Groupware service provides a REST API for performing all the backend operations needed by the OpenCloud Groupware frontends.
OpenAPI Documentation
To generate the OpenAPI ("Swagger") documentation of the REST API, pnpm is a pre-requisite,
as well as the groupware-apidocs tool.
After building and installing groupware-apidocs somewhere in your PATH,
run the following command in this directory to generate the swagger.yml OpenAPI definition file:
make apidoc
To generate a static HTML file using Redocly, which will generate a file api.html:
make apidoc-static
Favicon
A favicon is inserted into the static (Redocly) HTML file as part of the build process in the Makefile, using favicon.png as the source, computing its base64 to insert it as an image using a data URL in order to embed it.
That is performed by the script apidoc-postprocess-html.ts (which is done automatically when using then Makefile as described above.)