Can request account creation from web app
This commit is contained in:
@ -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
|
||||
*
|
||||
|
Reference in New Issue
Block a user