mirror of
https://github.com/grafana/grafana.git
synced 2025-08-01 06:41:49 +08:00
97 lines
3.3 KiB
TypeScript
97 lines
3.3 KiB
TypeScript
import { baseAPI as api } from './baseAPI';
|
|
const injectedRtkApi = api.injectEndpoints({
|
|
endpoints: (build) => ({
|
|
getUserPreferences: build.query<GetUserPreferencesApiResponse, GetUserPreferencesApiArg>({
|
|
query: () => ({ url: `/user/preferences` }),
|
|
}),
|
|
patchUserPreferences: build.mutation<PatchUserPreferencesApiResponse, PatchUserPreferencesApiArg>({
|
|
query: (queryArg) => ({ url: `/user/preferences`, method: 'PATCH', body: queryArg.patchPrefsCmd }),
|
|
}),
|
|
updateUserPreferences: build.mutation<UpdateUserPreferencesApiResponse, UpdateUserPreferencesApiArg>({
|
|
query: (queryArg) => ({ url: `/user/preferences`, method: 'PUT', body: queryArg.updatePrefsCmd }),
|
|
}),
|
|
}),
|
|
overrideExisting: false,
|
|
});
|
|
export { injectedRtkApi as generatedAPI };
|
|
export type GetUserPreferencesApiResponse = /** status 200 (empty) */ Preferences;
|
|
export type GetUserPreferencesApiArg = void;
|
|
export type PatchUserPreferencesApiResponse =
|
|
/** status 200 An OKResponse is returned if the request was successful. */ SuccessResponseBody;
|
|
export type PatchUserPreferencesApiArg = {
|
|
patchPrefsCmd: PatchPrefsCmd;
|
|
};
|
|
export type UpdateUserPreferencesApiResponse =
|
|
/** status 200 An OKResponse is returned if the request was successful. */ SuccessResponseBody;
|
|
export type UpdateUserPreferencesApiArg = {
|
|
updatePrefsCmd: UpdatePrefsCmd;
|
|
};
|
|
export type CookiePreferences = {
|
|
analytics?: any;
|
|
functional?: any;
|
|
performance?: any;
|
|
};
|
|
export type NavbarPreference = {
|
|
bookmarkUrls?: string[];
|
|
};
|
|
export type QueryHistoryPreference = {
|
|
/** one of: '' | 'query' | 'starred'; */
|
|
homeTab?: string;
|
|
};
|
|
export type Preferences = {
|
|
cookiePreferences?: CookiePreferences;
|
|
/** UID for the home dashboard */
|
|
homeDashboardUID?: string;
|
|
/** Selected language (beta) */
|
|
language?: string;
|
|
/** Selected locale (beta) */
|
|
locale?: string;
|
|
navbar?: NavbarPreference;
|
|
queryHistory?: QueryHistoryPreference;
|
|
/** light, dark, empty is default */
|
|
theme?: string;
|
|
/** The timezone selection
|
|
TODO: this should use the timezone defined in common */
|
|
timezone?: string;
|
|
/** day of the week (sunday, monday, etc) */
|
|
weekStart?: string;
|
|
};
|
|
export type ErrorResponseBody = {
|
|
/** Error An optional detailed description of the actual error. Only included if running in developer mode. */
|
|
error?: string;
|
|
/** a human readable version of the error */
|
|
message: string;
|
|
/** Status An optional status to denote the cause of the error.
|
|
|
|
For example, a 412 Precondition Failed error may include additional information of why that error happened. */
|
|
status?: string;
|
|
};
|
|
export type SuccessResponseBody = {
|
|
message?: string;
|
|
};
|
|
export type CookieType = string;
|
|
export type PatchPrefsCmd = {
|
|
cookies?: CookieType[];
|
|
homeDashboardUID?: string;
|
|
language?: string;
|
|
locale?: string;
|
|
navbar?: NavbarPreference;
|
|
queryHistory?: QueryHistoryPreference;
|
|
theme?: 'light' | 'dark';
|
|
timezone?: 'utc' | 'browser';
|
|
weekStart?: string;
|
|
};
|
|
export type UpdatePrefsCmd = {
|
|
cookies?: CookieType[];
|
|
homeDashboardUID?: string;
|
|
language?: string;
|
|
locale?: string;
|
|
navbar?: NavbarPreference;
|
|
queryHistory?: QueryHistoryPreference;
|
|
theme?: 'light' | 'dark' | 'system';
|
|
timezone?: 'utc' | 'browser';
|
|
weekStart?: string;
|
|
};
|
|
export const { useGetUserPreferencesQuery, usePatchUserPreferencesMutation, useUpdateUserPreferencesMutation } =
|
|
injectedRtkApi;
|