finnow/web-app/src/api/auth.ts

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
}
}