import { APIClient } from "./ApiClient"; export interface Family {} export enum JoinFamilyResult { TooManyRequests, InvalidCode, AlreadyMember, Error, Success, } export class FamilyApi { /** * Create a new family */ static async CreateFamily(name: string): Promise { await APIClient.exec({ method: "POST", uri: "/family/create", jsonData: { name: name }, }); } /** * Join an existing family */ static async JoinFamily(code: string): Promise { const res = await APIClient.exec({ method: "POST", uri: "/family/join", allowFail: true, jsonData: { code: code }, }); if (res.status >= 200 && res.status < 300) return JoinFamilyResult.Success; switch (res.status) { case 429: return JoinFamilyResult.TooManyRequests; case 404: return JoinFamilyResult.InvalidCode; case 409: return JoinFamilyResult.AlreadyMember; default: return JoinFamilyResult.Error; } } }