n8n
Version:
n8n Workflow Automation Tool
27 lines • 1.5 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.handleEmailLogin = void 0;
const password_utility_1 = require("../../services/password.utility");
const typedi_1 = require("typedi");
const helpers_ee_1 = require("../../Ldap/helpers.ee");
const user_repository_1 = require("../../databases/repositories/user.repository");
const auth_error_1 = require("../../errors/response-errors/auth.error");
const event_service_1 = require("../../events/event.service");
const handleEmailLogin = async (email, password) => {
var _a;
const user = await typedi_1.Container.get(user_repository_1.UserRepository).findOne({
where: { email },
relations: ['authIdentities'],
});
if ((user === null || user === void 0 ? void 0 : user.password) && (await typedi_1.Container.get(password_utility_1.PasswordUtility).compare(password, user.password))) {
return user;
}
const ldapIdentity = (_a = user === null || user === void 0 ? void 0 : user.authIdentities) === null || _a === void 0 ? void 0 : _a.find((i) => i.providerType === 'ldap');
if (user && ldapIdentity && !(0, helpers_ee_1.isLdapLoginEnabled)()) {
typedi_1.Container.get(event_service_1.EventService).emit('login-failed-due-to-ldap-disabled', { userId: user.id });
throw new auth_error_1.AuthError('Reset your password to gain access to the instance.');
}
return undefined;
};
exports.handleEmailLogin = handleEmailLogin;
//# sourceMappingURL=email.js.map
;