Support uniqueness for realm users
This commit is contained in:
parent
c3ba632aa3
commit
d544ae1bf8
|
@ -789,8 +789,18 @@ module.exports = function(User) {
|
|||
message: g.f('Must provide a valid email'),
|
||||
});
|
||||
|
||||
// FIXME: We need to add support for uniqueness of composite keys in juggler
|
||||
if (!(UserModel.settings.realmRequired || UserModel.settings.realmDelimiter)) {
|
||||
// Realm users validation
|
||||
if (UserModel.settings.realmRequired && UserModel.settings.realmDelimiter) {
|
||||
UserModel.validatesUniquenessOf('email', {
|
||||
message: 'Email already exists',
|
||||
scopedTo: ['realm'],
|
||||
});
|
||||
UserModel.validatesUniquenessOf('username', {
|
||||
message: 'User already exists',
|
||||
scopedTo: ['realm'],
|
||||
});
|
||||
} else {
|
||||
// Regular(Non-realm) users validation
|
||||
UserModel.validatesUniquenessOf('email', { message: 'Email already exists' });
|
||||
UserModel.validatesUniquenessOf('username', { message: 'User already exists' });
|
||||
}
|
||||
|
|
|
@ -998,6 +998,15 @@ describe('User', function() {
|
|||
});
|
||||
});
|
||||
|
||||
it('honors unique email for realm', function(done) {
|
||||
User.create(realm1User, function(err, u) {
|
||||
assert(err);
|
||||
assert(err.message.match(/User already exists/) &&
|
||||
err.message.match(/Email already exists/));
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('rejects a user by without realm', function(done) {
|
||||
User.login(credentialWithoutRealm, function(err, accessToken) {
|
||||
assert(err);
|
||||
|
|
Loading…
Reference in New Issue