groupware: API documentation updates

This commit is contained in:
Pascal Bleser
2026-04-30 10:51:14 +02:00
parent 0cbf4b7287
commit 5bae16be63
4 changed files with 92 additions and 36 deletions

View File

@@ -2275,6 +2275,61 @@ func (e Exemplar) Objects() Objects {
}
}
func (e Exemplar) IdentityChanges() IdentityChanges {
i := e.Identity()
return IdentityChanges{
HasMoreChanges: true,
OldState: "eu4niez2",
NewState: "oj4aix4o",
Updated: []Identity{i},
}
}
func (e Exemplar) CalendarChanges() CalendarChanges {
c := e.Calendar()
return CalendarChanges{
HasMoreChanges: false,
OldState: "sai9choo",
NewState: "eeth7eid",
Updated: []Calendar{c},
Destroyed: []string{"df", "dt"},
}
}
func (e Exemplar) CalendarEventChanges() CalendarEventChanges {
ev := e.CalendarEvent()
return CalendarEventChanges{
HasMoreChanges: false,
OldState: "reem5ovu",
NewState: "oopu1eev",
Updated: []CalendarEvent{ev},
Destroyed: []string{"zxa", "zxe", "zyy"},
}
}
func (e Exemplar) CalendarEventSearchResults() CalendarEventSearchResults {
ev := e.CalendarEvent()
return CalendarEventSearchResults{
Results: []CalendarEvent{ev},
CanCalculateChanges: true,
Position: ptr(uint(3)),
Limit: ptr(uint(10)),
Total: ptr(uint(4)),
}
}
func (e Exemplar) ContactCardSearchResults() ContactCardSearchResults {
c1 := e.ContactCard()
c2, _, _ := e.IndividualContactCard()
return ContactCardSearchResults{
Results: []ContactCard{c1, c2},
CanCalculateChanges: true,
Position: ptr(uint(3)),
Limit: ptr(uint(10)),
Total: ptr(uint(4)),
}
}
func copyTo[B any, A any](a A) B {
if b, err := json.Marshal(a); err != nil {
panic(err)

View File

@@ -1,8 +1,9 @@
openapi: 3.0.4
info:
title: the title
summary: the summary
description: this is the description
title: OpenCloud Groupware API
summary: OpenCloud Groupware API
description: |-
This is the API documentation for the OpenCloud Groupware service.
servers:
- url: https://localhost:9200/
description: Local Development Server

View File

@@ -1,6 +1,6 @@
{
"dependencies": {
"@redocly/cli": "^2.30.2",
"@redocly/cli": "^2.30.3",
"@types/js-yaml": "^4.0.9",
"cheerio": "^1.2.0",
"js-yaml": "^4.1.1",

View File

@@ -9,8 +9,8 @@ importers:
.:
dependencies:
'@redocly/cli':
specifier: ^2.30.2
version: 2.30.2(@opentelemetry/api@1.9.1)(core-js@3.45.1)
specifier: ^2.30.3
version: 2.30.3(@opentelemetry/api@1.9.1)(core-js@3.45.1)
'@types/js-yaml':
specifier: ^4.0.9
version: 4.0.9
@@ -191,14 +191,14 @@ packages:
'@redocly/ajv@8.11.2':
resolution: {integrity: sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==}
'@redocly/ajv@8.18.0':
resolution: {integrity: sha512-F+LMD2IDIXuHxgpLJh3nkLj9+tSaEzoUWd+7fONGq5pe2169FUDjpEkOfEpoGLz1sbZni/69p07OsecNfAOpqA==}
'@redocly/ajv@8.18.1':
resolution: {integrity: sha512-Ifm/pP/tul1qmAecpbVxCBluVE32rKfjf8gYXH4xI2gCv9mRWFhJMHzkPDM4TXlxwPQYIFegymlsy8lXz7optA==}
'@redocly/cli-otel@0.1.2':
resolution: {integrity: sha512-Bg7BoO5t1x3lVK+KhA5aGPmeXpQmdf6WtTYHhelKJCsQ+tRMiJoFAQoKHoBHAoNxXrhlS3K9lKFLHGmtxsFQfA==}
'@redocly/cli@2.30.2':
resolution: {integrity: sha512-DWTydfVgEJkqDMcriRuy+MX+IYaEPU0AvV/nKuT1/1ajTugofkxlClHfZOK8Kwv47qAHvZ9w3oF+WCP/fVyW2g==}
'@redocly/cli@2.30.3':
resolution: {integrity: sha512-z2T4+v4qwyEl1Cb2bRS77sK3jiYDOnIVZUYF8/3OWA1N+4znGIvs85xm5pAqQE0kltoIJuisekqERMvhdG6Z4w==}
engines: {node: '>=22.12.0 || >=20.19.0 <21.0.0', npm: '>=10'}
hasBin: true
@@ -212,12 +212,12 @@ packages:
resolution: {integrity: sha512-4Tm4ysZkexx6ZTX7knqSZTqPlNgIvXc7Ha0pd30I694/GD0KtJE2xrElycfPds0vCLFAqoKyIzBtOF1xrLo8KA==}
engines: {node: '>=18.17.0', npm: '>=9.5.0'}
'@redocly/openapi-core@2.30.2':
resolution: {integrity: sha512-J1UB/I1s9eRpirIVgzH/B1Jj+hYQHYExruLk+edPOqneFIlFc38wKiTRkj/TVpwcmzRHJNu5SSI6NTrrfPa4BA==}
'@redocly/openapi-core@2.30.3':
resolution: {integrity: sha512-roSwxkitl+JY3LajLEg6n9ujaFkCB4cqtjgrjXxedgk57Qde5t0Vn4HBYkOomw1bHOI7W+Ux2qfPQOpzK7BnLg==}
engines: {node: '>=22.12.0 || >=20.19.0 <21.0.0', npm: '>=10'}
'@redocly/respect-core@2.30.2':
resolution: {integrity: sha512-4dVg57ItG19MGsLWDPmbUid81kHEbGqLcSSp1Q/8wHGJVzxmFgX9JOkqEw059/dwCYjP+txPhcMDORh0pK9ivQ==}
'@redocly/respect-core@2.30.3':
resolution: {integrity: sha512-9bEETk86ECE6n/0g/6MEQ3RryamTOv6mdZ0WDmHUmO3PfVUzHKFRgNcFnvyTWEC2nApdO9GbnYLjZcwyPwUdOw==}
engines: {node: '>=22.12.0 || >=20.19.0 <21.0.0', npm: '>=10'}
'@tsconfig/node10@1.0.12':
@@ -289,9 +289,9 @@ packages:
resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==}
engines: {node: 18 || 20 || >=22}
better-ajv-errors@1.2.0:
resolution: {integrity: sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA==}
engines: {node: '>= 12.13.0'}
better-ajv-errors@2.0.3:
resolution: {integrity: sha512-t1vxUP+vYKsaYi/BbKo2K98nEAZmfi4sjwvmRT8aOPDzPJeAtLurfoIDazVkLILxO4K+Sw4YrLYnBQ46l6pePg==}
engines: {node: '>= 18.20.6'}
peerDependencies:
ajv: 4.11.8 - 8
@@ -1122,7 +1122,7 @@ snapshots:
require-from-string: 2.0.2
uri-js-replace: 1.0.1
'@redocly/ajv@8.18.0':
'@redocly/ajv@8.18.1':
dependencies:
fast-deep-equal: 3.1.3
fast-uri: 3.1.0
@@ -1133,17 +1133,17 @@ snapshots:
dependencies:
ulid: 2.4.0
'@redocly/cli@2.30.2(@opentelemetry/api@1.9.1)(core-js@3.45.1)':
'@redocly/cli@2.30.3(@opentelemetry/api@1.9.1)(core-js@3.45.1)':
dependencies:
'@opentelemetry/exporter-trace-otlp-http': 0.214.0(@opentelemetry/api@1.9.1)
'@opentelemetry/resources': 2.6.1(@opentelemetry/api@1.9.1)
'@opentelemetry/sdk-trace-node': 2.6.1(@opentelemetry/api@1.9.1)
'@opentelemetry/semantic-conventions': 1.40.0
'@redocly/cli-otel': 0.1.2
'@redocly/openapi-core': 2.30.2
'@redocly/respect-core': 2.30.2
ajv: '@redocly/ajv@8.18.0'
ajv-formats: 3.0.1(@redocly/ajv@8.18.0)
'@redocly/openapi-core': 2.30.3
'@redocly/respect-core': 2.30.3
ajv: '@redocly/ajv@8.18.1'
ajv-formats: 3.0.1(@redocly/ajv@8.18.1)
colorette: 1.4.0
cookie: 0.7.2
dotenv: 16.4.7
@@ -1192,12 +1192,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@redocly/openapi-core@2.30.2':
'@redocly/openapi-core@2.30.3':
dependencies:
'@redocly/ajv': 8.18.0
'@redocly/ajv': 8.18.1
'@redocly/config': 0.48.1
ajv: '@redocly/ajv@8.18.0'
ajv-formats: 3.0.1(@redocly/ajv@8.18.0)
ajv: '@redocly/ajv@8.18.1'
ajv-formats: 3.0.1(@redocly/ajv@8.18.1)
colorette: 1.4.0
js-levenshtein: 1.1.6
js-yaml: 4.1.1
@@ -1205,14 +1205,14 @@ snapshots:
pluralize: 8.0.0
yaml-ast-parser: 0.0.43
'@redocly/respect-core@2.30.2':
'@redocly/respect-core@2.30.3':
dependencies:
'@faker-js/faker': 7.6.0
'@noble/hashes': 1.8.0
'@redocly/ajv': 8.18.0
'@redocly/openapi-core': 2.30.2
ajv: '@redocly/ajv@8.18.0'
better-ajv-errors: 1.2.0(@redocly/ajv@8.18.0)
'@redocly/ajv': 8.18.1
'@redocly/openapi-core': 2.30.3
ajv: '@redocly/ajv@8.18.1'
better-ajv-errors: 2.0.3(@redocly/ajv@8.18.1)
colorette: 2.0.20
json-pointer: 0.6.2
jsonpath-rfc9535: 1.3.0
@@ -1249,9 +1249,9 @@ snapshots:
agent-base@7.1.4: {}
ajv-formats@3.0.1(@redocly/ajv@8.18.0):
ajv-formats@3.0.1(@redocly/ajv@8.18.1):
optionalDependencies:
ajv: '@redocly/ajv@8.18.0'
ajv: '@redocly/ajv@8.18.1'
ansi-regex@5.0.1: {}
@@ -1267,11 +1267,11 @@ snapshots:
balanced-match@4.0.4: {}
better-ajv-errors@1.2.0(@redocly/ajv@8.18.0):
better-ajv-errors@2.0.3(@redocly/ajv@8.18.1):
dependencies:
'@babel/code-frame': 7.29.0
'@humanwhocodes/momoa': 2.0.4
ajv: '@redocly/ajv@8.18.0'
ajv: '@redocly/ajv@8.18.1'
chalk: 4.1.2
jsonpointer: 5.0.1
leven: 3.1.0