usr.ts 756 Bytes
import http, { call } from './request'
import type { ApiResponse, LoginRequest, LoginResponse, UserCreate, UserListItem, UserListPage, UserQuery, UserUpdate } from './types'

export function login(req: LoginRequest) {
  return call<LoginResponse>(() => http.post<ApiResponse<LoginResponse>>('/auth/login', req))
}

export function listUsers(q: UserQuery) {
  return call<UserListPage>(() =>
    http.get<ApiResponse<UserListPage>>('/users', { params: q }),
  )
}

export function createUser(body: UserCreate) {
  return call<UserListItem>(() => http.post<ApiResponse<UserListItem>>('/users', body))
}

export function updateUser(id: number, body: UserUpdate) {
  return call<UserListItem>(() => http.put<ApiResponse<UserListItem>>(`/users/${id}`, body))
}