* add endpoints for Mailboxes:
- PATCH mailboxes/{id}
- DELETE mailboxes/{id}
- POST mailboxes
* refactor the pkg/jmap and groupware framework to systematically
return a jmap.State out-of-band of the per-method payloads, since
they are almost always present in JMAP responses, which lead to the
artificial creation of a lot of composed struct types just to also
return the State; on the downside, it adds yet another return
parameter
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.
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
Path Parameters
Path parameters are documented in the file api-params.yaml and injected into the OpenAPI specification using the script apidoc-process.ts (which is done automatically when using the Makefile as described above.)
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.)