Files
autoglue/ui/src/api/me.ts
allanice001 d163a050d8 feat: load balancers ui
Signed-off-by: allanice001 <allanice001@gmail.com>
2025-11-17 15:16:20 +00:00

41 lines
1.1 KiB
TypeScript

import { withRefresh } from "@/api/with-refresh.ts"
import type {
HandlersCreateUserKeyRequest,
HandlersMeResponse,
HandlersUpdateMeRequest,
HandlersUserAPIKeyOut,
ModelsUser,
} from "@/sdk"
import { makeMeApi, makeMeKeysApi } from "@/sdkClient.ts"
const me = makeMeApi()
const keys = makeMeKeysApi()
export const meApi = {
getMe: () =>
withRefresh(async (): Promise<HandlersMeResponse> => {
return await me.getMe()
}),
updateMe: (body: HandlersUpdateMeRequest) =>
withRefresh(async (): Promise<ModelsUser> => {
return await me.updateMe({ handlersUpdateMeRequest: body })
}),
listKeys: () =>
withRefresh(async (): Promise<HandlersUserAPIKeyOut[]> => {
return await keys.listUserAPIKeys()
}),
createKey: (body: HandlersCreateUserKeyRequest) =>
withRefresh(async (): Promise<HandlersUserAPIKeyOut> => {
return await keys.createUserAPIKey({ handlersCreateUserKeyRequest: body })
}),
deleteKey: (id: string) =>
withRefresh(async (): Promise<boolean> => {
await keys.deleteUserAPIKey({ id })
return true
}),
}