Compare commits

...

1 Commits

Author SHA1 Message Date
Ahmed Bouhuolia
d1caa5c5ce fix: Disable email confirmation does not work with invited users 2024-06-10 15:59:33 +02:00
3 changed files with 21 additions and 2 deletions

View File

@@ -1,6 +1,6 @@
import { Container, Inject } from 'typedi';
import { cloneDeep } from 'lodash';
import { Tenant } from '@/system/models';
import { SystemUser, Tenant } from '@/system/models';
import {
IAuthSignedInEventPayload,
IAuthSigningInEventPayload,
@@ -64,7 +64,9 @@ export class AuthSigninService {
const { systemUserRepository } = this.sysRepositories;
// Finds the user of the given email address.
const user = await systemUserRepository.findOneByEmail(email);
const user = await SystemUser.query()
.findOne('email', email)
.modify('inviteAccepted');
// Validate the given email and password.
await this.validateSignIn(user, email, password);

View File

@@ -46,6 +46,9 @@ export default class SyncSystemSendInvite {
email: user.email,
active: user.active,
tenantId,
// Email should be verified since the user got the invite token through email.
verified: true,
});
// Creates a invite user token.
const invite = await Invite.query().insert({

View File

@@ -90,6 +90,20 @@ export default class SystemUser extends SystemModel {
};
}
/**
* Model modifiers.
*/
static get modifiers() {
return {
/**
* Filters the invite accepted users.
*/
inviteAccepted(query) {
query.whereNotNull('invite_accepted_at');
},
};
}
/**
* Verify the password of the user.
* @param {String} password - The given password.