import { BaseAPI, route } from "./base"; import { ApiSummary, TokenResponse, UserRegistration } from "./types/data-contracts"; export type LoginPayload = { username: string; password: string; }; export type StatusResult = { health: boolean; versions: string[]; title: string; message: string; }; export class PublicApi extends BaseAPI { public status() { return this.http.get<ApiSummary>({ url: route("/status") }); } public login(username: string, password: string) { return this.http.post<LoginPayload, TokenResponse>({ url: route("/users/login"), body: { username, password, }, }); } public register(body: UserRegistration) { return this.http.post<UserRegistration, TokenResponse>({ url: route("/users/register"), body }); } }