Merge branch 'staging' into preprod
This commit is contained in:
commit
fadc3b3595
@ -25,6 +25,7 @@ export default class UserController extends ApiController {
|
||||
protected async getUserInfosFromIdnot(req: Request, response: Response) {
|
||||
try {
|
||||
const code = req.params["code"];
|
||||
|
||||
if (!code) throw new Error("code is required");
|
||||
|
||||
const idNotToken = await this.idNotService.getIdNotToken(code);
|
||||
@ -34,16 +35,19 @@ export default class UserController extends ApiController {
|
||||
return;
|
||||
}
|
||||
|
||||
const user = await this.idNotService.getOrCreateUser(idNotToken);
|
||||
const user = await this.idNotService.getOrCreateUser(idNotToken);
|
||||
|
||||
if(!user) {
|
||||
this.httpUnauthorized(response, "Email not found");
|
||||
return;
|
||||
}
|
||||
|
||||
await this.idNotService.updateUser(user.uid);
|
||||
|
||||
//Whitelist feature
|
||||
//Get user with contact
|
||||
const prismaUser = await this.userService.getByUid(user.uid, {contact: true });
|
||||
|
||||
if (!prismaUser) {
|
||||
this.httpNotFoundRequest(response, "user not found");
|
||||
return;
|
||||
@ -58,15 +62,16 @@ export default class UserController extends ApiController {
|
||||
}
|
||||
|
||||
//Check if user is whitelisted
|
||||
const isWhitelisted = await this.whitelistService.getByEmail(userHydrated.contact!.email);
|
||||
|
||||
const isWhitelisted = await this.whitelistService.getByEmail(userHydrated.contact!.email);
|
||||
|
||||
//If not whitelisted, return 409 Not whitelisted
|
||||
if (!isWhitelisted) {
|
||||
if (!isWhitelisted || isWhitelisted.length === 0) {
|
||||
this.httpNotWhitelisted(response);
|
||||
return;
|
||||
}
|
||||
|
||||
await this.idNotService.updateUser(user.uid);
|
||||
|
||||
await this.idNotService.updateOffice(user.office_uid);
|
||||
|
||||
const payload = await this.authService.getUserJwtPayload(user.idNot);
|
||||
|
@ -21,7 +21,10 @@ export default class ContactRepository extends BaseRepository {
|
||||
public async findSomeByEmail(email: string): Promise<(Contacts & {customers: Customers | null})[] | null> {
|
||||
return this.model.findMany({
|
||||
where: {
|
||||
email: email,
|
||||
email: {
|
||||
equals: email,
|
||||
mode: "insensitive"
|
||||
}
|
||||
},
|
||||
include: { customers: true }
|
||||
});
|
||||
|
@ -27,9 +27,12 @@ export default class WhitelistRepository extends BaseRepository {
|
||||
* @description : find unique by email
|
||||
*/
|
||||
public async findOneByEmail(email: string) {
|
||||
return this.model.findUnique({
|
||||
return this.model.findMany({
|
||||
where: {
|
||||
email: email,
|
||||
email: {
|
||||
equals: email,
|
||||
mode: "insensitive"
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
|
@ -91,7 +91,7 @@ export default class CustomersService extends BaseService {
|
||||
public async verifyEmail2FASms(email: string): Promise<{ customer: Customer; totpCode: TotpCodesResource } | null> {
|
||||
// 1: Check if the customer exists
|
||||
const customer = await this.getByEmail(email);
|
||||
if (!customer) return null;
|
||||
if (!customer) return null;
|
||||
const now = new Date().getTime();
|
||||
|
||||
const customerHydrated = Customer.hydrate<Customer>(customer);
|
||||
@ -316,7 +316,10 @@ export default class CustomersService extends BaseService {
|
||||
return this.customerRepository.findOne({
|
||||
where: {
|
||||
contact: {
|
||||
email,
|
||||
email:{
|
||||
equals: email,
|
||||
mode: 'insensitive'
|
||||
}
|
||||
},
|
||||
},
|
||||
include: {
|
||||
|
Loading…
x
Reference in New Issue
Block a user