586272e5f0
* First attempt at creating new navbar_preferences table in db * Apply to every nav item instead of just home * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * Chore: introduce initTestDB options for features * fix unit tests * Add another unit test and some logic for detecting if a preference already exists * tidy up * Only override IsFeatureToggleEnabled if it's defined * Extract setNavPreferences out into it's own function, initialise features correctly * Make the linter happy * Use new structure * user essentials mob! 🔱 * user essentials mob! 🔱 * Split NavbarPreferences from Preferences * user essentials mob! 🔱 * user essentials mob! 🔱 * Fix lint error * Start adding tests * Change internal db structure to be a generic json object * GetJsonData -> GetPreferencesJsonData * Stop using simplejson + add some more unit tests * Update pkg/api/preferences.go Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com> * Updates following review comments * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * Change patch to upsert, add a unit test * remove commented out code * introduce patch user/org preferences methods * Return Navbar preferences in the get call * Fix integration test by instantiating JsonData * Address review comments * Rename HideFromNavbar -> Hide * add swagger:model comment * Add patch to the preferences documentation * Add openapi annotations * Add a short description * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 * Update unit tests * remove unneeded url * remove outdated comment * Update integration tests * update generated swagger Co-authored-by: Alexandra Vargas <alexa1866@gmail.com> Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com> Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
174 lines
3.1 KiB
Markdown
174 lines
3.1 KiB
Markdown
+++
|
|
title = "HTTP Preferences API "
|
|
description = "Grafana HTTP API"
|
|
keywords = ["grafana", "http", "documentation", "api", "preferences"]
|
|
aliases = ["/docs/grafana/latest/http_api/preferences/"]
|
|
+++
|
|
|
|
# User and Org Preferences API
|
|
|
|
Keys:
|
|
|
|
- **theme** - One of: `light`, `dark`, or an empty string for the default theme
|
|
- **homeDashboardId** - The numerical `:id` of a favorited dashboard, default: `0`
|
|
- **timezone** - One of: `utc`, `browser`, or an empty string for the default
|
|
|
|
Omitting a key will cause the current value to be replaced with the
|
|
system default value.
|
|
|
|
## Get Current User Prefs
|
|
|
|
`GET /api/user/preferences`
|
|
|
|
**Example Request**:
|
|
|
|
```http
|
|
GET /api/user/preferences HTTP/1.1
|
|
Accept: application/json
|
|
Content-Type: application/json
|
|
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
|
```
|
|
|
|
**Example Response**:
|
|
|
|
```http
|
|
HTTP/1.1 200
|
|
Content-Type: application/json
|
|
|
|
```
|
|
|
|
## Update Current User Prefs
|
|
|
|
`PUT /api/user/preferences`
|
|
|
|
**Example Request**:
|
|
|
|
```http
|
|
PUT /api/user/preferences HTTP/1.1
|
|
Accept: application/json
|
|
Content-Type: application/json
|
|
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
|
|
|
```
|
|
|
|
**Example Response**:
|
|
|
|
```http
|
|
HTTP/1.1 200
|
|
Content-Type: text/plain; charset=utf-8
|
|
|
|
```
|
|
|
|
## Patch Current User Prefs
|
|
|
|
Update one or more preferences without modifying the others.
|
|
|
|
`PATCH /api/user/preferences`
|
|
|
|
**Example Request**:
|
|
|
|
```http
|
|
PATCH /api/user/preferences HTTP/1.1
|
|
Accept: application/json
|
|
Content-Type: application/json
|
|
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
|
|
|
```
|
|
|
|
**Example Response**:
|
|
|
|
```http
|
|
HTTP/1.1 200
|
|
Content-Type: text/plain; charset=utf-8
|
|
|
|
```
|
|
|
|
## Get Current Org Prefs
|
|
|
|
`GET /api/org/preferences`
|
|
|
|
**Example Request**:
|
|
|
|
```http
|
|
GET /api/org/preferences HTTP/1.1
|
|
Accept: application/json
|
|
Content-Type: application/json
|
|
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
|
```
|
|
|
|
**Example Response**:
|
|
|
|
```http
|
|
HTTP/1.1 200
|
|
Content-Type: application/json
|
|
|
|
```
|
|
|
|
## Update Current Org Prefs
|
|
|
|
`PUT /api/org/preferences`
|
|
|
|
**Example Request**:
|
|
|
|
```http
|
|
PUT /api/org/preferences HTTP/1.1
|
|
Accept: application/json
|
|
Content-Type: application/json
|
|
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
|
|
|
```
|
|
|
|
**Example Response**:
|
|
|
|
```http
|
|
HTTP/1.1 200
|
|
Content-Type: text/plain; charset=utf-8
|
|
|
|
```
|
|
|
|
## Patch Current Org Prefs
|
|
|
|
Update one or more preferences without modifying the others.
|
|
|
|
`PATCH /api/org/preferences`
|
|
|
|
**Example Request**:
|
|
|
|
```http
|
|
PATCH /api/org/preferences HTTP/1.1
|
|
Accept: application/json
|
|
Content-Type: application/json
|
|
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
|
|
|
```
|
|
|
|
**Example Response**:
|
|
|
|
```http
|
|
HTTP/1.1 200
|
|
Content-Type: text/plain; charset=utf-8
|
|
|
|
```
|