mirror of
https://gitlab.com/comunic/comunicapiv2
synced 2024-11-26 07:19:23 +00:00
Can check out wheter user has setup security questions or not
This commit is contained in:
parent
5b6ad59486
commit
4297cabd7e
@ -1,5 +1,6 @@
|
|||||||
import { RequestHandler } from "../entities/RequestHandler";
|
import { RequestHandler } from "../entities/RequestHandler";
|
||||||
import { AccountHelper } from "../helpers/AccountHelper";
|
import { AccountHelper } from "../helpers/AccountHelper";
|
||||||
|
import { UserHelper } from "../helpers/UserHelper";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Account controller
|
* Account controller
|
||||||
@ -78,4 +79,19 @@ export class AccountController {
|
|||||||
exists: await AccountHelper.ExistsEmail(email)
|
exists: await AccountHelper.ExistsEmail(email)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if an account associated with an email address has
|
||||||
|
* setup security questions or not
|
||||||
|
*
|
||||||
|
* @param h Request handler
|
||||||
|
*/
|
||||||
|
public static async HasSecurityQuestions(h: RequestHandler) {
|
||||||
|
const userID = await h.postUserIdFromEmail("email");
|
||||||
|
const settings = await UserHelper.GetUserInfo(userID);
|
||||||
|
|
||||||
|
h.send({
|
||||||
|
defined: settings.hasSecurityQuestions
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
@ -45,6 +45,8 @@ export const Routes : Route[] = [
|
|||||||
|
|
||||||
{path: "/account/exists_email", cb: (h) => AccountController.ExistsMail(h), needLogin: false},
|
{path: "/account/exists_email", cb: (h) => AccountController.ExistsMail(h), needLogin: false},
|
||||||
|
|
||||||
|
{path: "/account/has_security_questions", cb: (h) => AccountController.HasSecurityQuestions(h), needLogin: false},
|
||||||
|
|
||||||
|
|
||||||
// User controller
|
// User controller
|
||||||
{path: "/user/getInfo", cb: (h) => UserController.GetSingle(h), needLogin: false},
|
{path: "/user/getInfo", cb: (h) => UserController.GetSingle(h), needLogin: false},
|
||||||
|
@ -12,7 +12,9 @@ export enum UserPageStatus {
|
|||||||
OPEN
|
OPEN
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface UserBuilder {
|
|
||||||
|
|
||||||
|
export interface UserInfo {
|
||||||
id: number,
|
id: number,
|
||||||
firstName: string,
|
firstName: string,
|
||||||
lastName: string,
|
lastName: string,
|
||||||
@ -27,12 +29,20 @@ export interface UserBuilder {
|
|||||||
allowPostsFromFriends: boolean,
|
allowPostsFromFriends: boolean,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface SecuritySettings {
|
||||||
|
id: number,
|
||||||
|
security_question_1 ?: string,
|
||||||
|
security_answer_1 ?: string,
|
||||||
|
security_question_2 ?: string,
|
||||||
|
security_answer_2 ?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export interface UserBuilder extends UserInfo, SecuritySettings {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
export class User implements UserBuilder {
|
export class User implements UserBuilder {
|
||||||
friendsListPublic: boolean;
|
|
||||||
personnalWebsite?: string;
|
|
||||||
publicNote?: string;
|
|
||||||
blockComments: boolean;
|
|
||||||
allowPostsFromFriends: boolean;
|
|
||||||
id: number;
|
id: number;
|
||||||
firstName: string;
|
firstName: string;
|
||||||
lastName: string;
|
lastName: string;
|
||||||
@ -40,6 +50,16 @@ export class User implements UserBuilder {
|
|||||||
virtualDirectory: string;
|
virtualDirectory: string;
|
||||||
pageStatus: UserPageStatus;
|
pageStatus: UserPageStatus;
|
||||||
accountImage: AccountImage;
|
accountImage: AccountImage;
|
||||||
|
friendsListPublic: boolean;
|
||||||
|
personnalWebsite?: string;
|
||||||
|
publicNote?: string;
|
||||||
|
blockComments: boolean;
|
||||||
|
allowPostsFromFriends: boolean;
|
||||||
|
security_question_1?: string;
|
||||||
|
security_answer_1?: string;
|
||||||
|
security_question_2?: string;
|
||||||
|
security_answer_2?: string;
|
||||||
|
|
||||||
|
|
||||||
public constructor(info : UserBuilder) {
|
public constructor(info : UserBuilder) {
|
||||||
for (const key in info) {
|
for (const key in info) {
|
||||||
@ -62,4 +82,27 @@ export class User implements UserBuilder {
|
|||||||
&& this.publicNote.length > 0
|
&& this.publicNote.length > 0
|
||||||
&& this.publicNote != "null"
|
&& this.publicNote != "null"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get hasSecurityQuestion1() : boolean {
|
||||||
|
return this.security_question_1 != null && this.security_question_1 && this.security_question_1.length > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
get hasSecurityAnswer1() : boolean {
|
||||||
|
return this.security_answer_1 != null && this.security_answer_1 && this.security_answer_1.length > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
get hasSecurityQuestion2() : boolean {
|
||||||
|
return this.security_question_2 != null && this.security_question_2 != null && this.security_question_2 && this.security_question_2.length > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
get hasSecurityAnswer2() : boolean {
|
||||||
|
return this.security_answer_2 != null && this.security_answer_2 && this.security_answer_2.length > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
get hasSecurityQuestions() : boolean {
|
||||||
|
return (this.hasSecurityQuestion1 && this.hasSecurityAnswer1
|
||||||
|
&& this.hasSecurityQuestion2 && this.hasSecurityAnswer2) == true;
|
||||||
|
}
|
||||||
}
|
}
|
@ -184,6 +184,10 @@ export class UserHelper {
|
|||||||
publicNote: row.public_note,
|
publicNote: row.public_note,
|
||||||
blockComments: row.bloquecommentaire == 1,
|
blockComments: row.bloquecommentaire == 1,
|
||||||
allowPostsFromFriends: row.autoriser_post_amis == 1,
|
allowPostsFromFriends: row.autoriser_post_amis == 1,
|
||||||
|
security_question_1: row.question1,
|
||||||
|
security_answer_1: row.reponse1,
|
||||||
|
security_question_2: row.question2,
|
||||||
|
security_answer_2: row.reponse2
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user