Settings Values
A Settings Value is the value an authenticated user has chosen for a specific setting, defined in a settings bundle.
A settings value is uniquely identified by four attributes. Three of them are coming from the definition of the setting within it’s settings bundle (see Settings Bundles for an example). The fourth identifies the user.
- extension: Key of the extension that registered the settings bundle,
- bundleKey: Key of the settings bundle,
- settingKey: Key of the setting as defined within the bundle,
- accountUuid: The UUID of the authenticated user who has saved the setting.
When requests are going throughocis-proxy
, the accountUuid attribute can be set to the static keywordme
instead of using a real UUID.ocis-proxy
will take care of minting the UUID of the authenticated user into a JWT, providing it in the HTTP header asx-access-token
. That UUID is then used in this service, to replaceme
with the actual UUID of the authenticated user.
{
"values": {
"language": {
"identifier": {
"extension": "ocis-accounts",
"bundleKey": "profile",
"settingKey": "language",
"accountUuid": "5681371f-4a6e-43bc-8bb5-9c9237fa9c58"
},
"listValue": {
"values": [
{
"stringValue": "de"
}
]
}
},
"timezone": {
"identifier": {
"extension": "ocis-accounts",
"bundleKey": "profile",
"settingKey": "timezone",
"accountUuid": "5681371f-4a6e-43bc-8bb5-9c9237fa9c58"
},
"listValue": {
"values": [
{
"stringValue": "Europe/Berlin"
}
]
}
}
}
}
Services can use gRPC endpoints of the ValueService
to query and modify settings values.
The gRPC endpoints require the same identifier attributes as described above, so for making a request to
the ValueService
you will have to make sure that the accountUuid of the authenticated user is available in
your service at the time of the request.