Can join a family
This commit is contained in:
@ -2,6 +2,14 @@ import { APIClient } from "./ApiClient";
|
||||
|
||||
export interface Family {}
|
||||
|
||||
export enum JoinFamilyResult {
|
||||
TooManyRequests,
|
||||
InvalidCode,
|
||||
AlreadyMember,
|
||||
Error,
|
||||
Success,
|
||||
}
|
||||
|
||||
export class FamilyApi {
|
||||
/**
|
||||
* Create a new family
|
||||
@ -13,4 +21,29 @@ export class FamilyApi {
|
||||
jsonData: { name: name },
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Join an existing family
|
||||
*/
|
||||
static async JoinFamily(code: string): Promise<JoinFamilyResult> {
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -10,6 +10,7 @@ interface Constraints {
|
||||
user_name_len: LenConstraint;
|
||||
password_len: LenConstraint;
|
||||
family_name_len: LenConstraint;
|
||||
invitation_code_len: LenConstraint;
|
||||
}
|
||||
|
||||
interface OIDCProvider {
|
||||
|
Reference in New Issue
Block a user