Can request account creation from web app

This commit is contained in:
2023-06-13 10:06:04 +02:00
parent 37015807bb
commit ae84ae8822
5 changed files with 208 additions and 14 deletions

View File

@ -1,6 +1,14 @@
import { atom } from "jotai";
import { APIClient } from "./ApiClient";
export enum CreateAccountResult {
TooManyRequests,
BadInputData,
MailAlreadyExists,
Success,
Error,
}
export interface CheckResetTokenResponse {
name: string;
}
@ -25,6 +33,38 @@ export class AuthApi {
return sessionStorage.getItem(TokenStateKey)!;
}
/**
* Create a new account
*/
static async CreateAccount(
name: string,
mail: string
): Promise<CreateAccountResult> {
const res = await APIClient.exec({
uri: "/auth/create_account",
method: "POST",
allowFail: true,
jsonData: {
name: name,
email: mail,
},
});
switch (res.status) {
case 429:
return CreateAccountResult.TooManyRequests;
case 400:
return CreateAccountResult.BadInputData;
case 409:
return CreateAccountResult.MailAlreadyExists;
case 200:
case 201:
return CreateAccountResult.Success;
default:
return CreateAccountResult.Error;
}
}
/**
* Start OpenID login
*