2023-01-25 13:00:32 -06:00
|
|
|
import { Preferences as UserPreferencesDTO } from '@grafana/schema/src/raw/preferences/x/preferences_types.gen';
|
2022-04-22 08:33:13 -05:00
|
|
|
|
2021-03-22 02:48:53 -05:00
|
|
|
import { backendSrv } from './backend_srv';
|
|
|
|
|
|
|
|
export class PreferencesService {
|
|
|
|
constructor(private resourceUri: string) {}
|
|
|
|
|
2022-05-23 06:42:12 -05:00
|
|
|
/**
|
|
|
|
* Overrides all preferences
|
|
|
|
*/
|
2023-03-14 04:51:44 -05:00
|
|
|
update(preferences: UserPreferencesDTO) {
|
2021-03-22 02:48:53 -05:00
|
|
|
return backendSrv.put(`/api/${this.resourceUri}/preferences`, preferences);
|
|
|
|
}
|
|
|
|
|
2022-05-23 06:42:12 -05:00
|
|
|
/**
|
|
|
|
* Updates only provided preferences
|
|
|
|
*/
|
2023-03-14 04:51:44 -05:00
|
|
|
patch(preferences: Partial<UserPreferencesDTO>) {
|
2022-05-23 06:42:12 -05:00
|
|
|
return backendSrv.patch(`/api/${this.resourceUri}/preferences`, preferences);
|
|
|
|
}
|
|
|
|
|
2021-03-22 02:48:53 -05:00
|
|
|
load(): Promise<UserPreferencesDTO> {
|
|
|
|
return backendSrv.get<UserPreferencesDTO>(`/api/${this.resourceUri}/preferences`);
|
|
|
|
}
|
|
|
|
}
|