19 lines
687 B
TypeScript
19 lines
687 B
TypeScript
import { ApiClient, ApiError, type ApiResponse } from './base'
|
|
|
|
export class AuthApiClient extends ApiClient {
|
|
async login(username: string, password: string): ApiResponse<string> {
|
|
return await super.postText('/login', { username, password })
|
|
}
|
|
|
|
async register(username: string, password: string): ApiResponse<void> {
|
|
const r = await super.post('/register', { username, password })
|
|
if (r instanceof ApiError) return r
|
|
}
|
|
|
|
async getUsernameAvailability(username: string): ApiResponse<boolean> {
|
|
const r = await super.post('/register/username-availability?username=' + username)
|
|
if (r instanceof ApiError) return r
|
|
return (await r.json()).available
|
|
}
|
|
}
|