34 lines
643 B
TypeScript
34 lines
643 B
TypeScript
import axios from "../http-client"
|
|
import type { FullUser } from "../types"
|
|
|
|
interface RegisterRequest {
|
|
email: string
|
|
username: string
|
|
displayName?: string
|
|
password: string
|
|
}
|
|
|
|
interface LoginRequest {
|
|
username: string
|
|
password: string
|
|
}
|
|
|
|
interface LoginResponse {
|
|
user: FullUser
|
|
token: string
|
|
}
|
|
|
|
export async function register(request: RegisterRequest) {
|
|
await axios.post("/auth/register", request)
|
|
}
|
|
|
|
export async function login(request: LoginRequest) {
|
|
const response = await axios.post("/auth/login", request)
|
|
|
|
return response.data as LoginResponse
|
|
}
|
|
|
|
export default {
|
|
register,
|
|
login,
|
|
} |