forked from GitHub/dbot
fix profiles. also the fact it was getting all the users onLoad is probably a badthing
This commit is contained in:
parent
bea3283b05
commit
64cdd374bc
@ -14,11 +14,7 @@ var api = function(dbot) {
|
|||||||
'id': user.id,
|
'id': user.id,
|
||||||
'profile': this.config.schema.profile,
|
'profile': this.config.schema.profile,
|
||||||
'preferences': this.config.schema.preferences
|
'preferences': this.config.schema.preferences
|
||||||
}, function(err, result){
|
}, callback);
|
||||||
if(err){
|
|
||||||
console.log(err);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -32,11 +28,17 @@ var api = function(dbot) {
|
|||||||
if(user){
|
if(user){
|
||||||
this.db.read('profiles', user.id, function(err, profile){
|
this.db.read('profiles', user.id, function(err, profile){
|
||||||
if(!err){
|
if(!err){
|
||||||
|
if(profile) {
|
||||||
callback(false, user, profile);
|
callback(false, user, profile);
|
||||||
|
} else {
|
||||||
|
this.api.createProfile(user, function(err, profile) {
|
||||||
|
callback(null, user, profile);
|
||||||
|
});
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
callback(true, user, null);
|
callback(true, user, null);
|
||||||
}
|
}
|
||||||
});
|
}.bind(this));
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
callback(true, null, null);
|
callback(true, null, null);
|
||||||
@ -44,10 +46,16 @@ var api = function(dbot) {
|
|||||||
}.bind(this));
|
}.bind(this));
|
||||||
},
|
},
|
||||||
|
|
||||||
'getProfileByUUID': function(uuid, callback){
|
'getProfileByUser': function(user, callback){
|
||||||
this.db.read('profiles', uuid, function(err, profile){
|
this.db.read('profiles', user.id, function(err, profile){
|
||||||
|
if(profile) {
|
||||||
|
callback(profile);
|
||||||
|
} else {
|
||||||
|
this.api.createProfile(user, function(err, profile) {
|
||||||
callback(profile);
|
callback(profile);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
}.bind(this));
|
||||||
},
|
},
|
||||||
|
|
||||||
'getAllProfiles': function(callback){
|
'getAllProfiles': function(callback){
|
||||||
|
@ -5,30 +5,16 @@ var profile = function(dbot) {
|
|||||||
this.onLoad = function(){
|
this.onLoad = function(){
|
||||||
var schema = this.config.schema;
|
var schema = this.config.schema;
|
||||||
|
|
||||||
// Ensure all users have a profile
|
|
||||||
dbot.api.users.getAllUsers(function(users){
|
|
||||||
if(users){
|
|
||||||
_.each(users, function(user){
|
|
||||||
this.api.getProfileByUUID(user.id, function(err, uuid, profile){
|
|
||||||
// If function returns an error and uuid, create a new profile
|
|
||||||
if(err && uuid){
|
|
||||||
this.api.createProfile(user);
|
|
||||||
}
|
|
||||||
}.bind(this));
|
|
||||||
}.bind(this));
|
|
||||||
}
|
|
||||||
}.bind(this));
|
|
||||||
|
|
||||||
// Add API Hooks
|
// Add API Hooks
|
||||||
dbot.api.event.addHook('new_user', this.api.createProfile);
|
dbot.api.event.addHook('new_user', this.api.createProfile);
|
||||||
|
|
||||||
dbot.instance.addPreEmitHook(function(event, callback) {
|
dbot.instance.addPreEmitHook(function(event, callback) {
|
||||||
if(!event.rUser) return callback();
|
if(!event.rUser) return callback();
|
||||||
this.api.getProfileByUUID(event.rUser.id, function(uProfile) {
|
this.api.getProfileByUser(event.rUser, function(uProfile) {
|
||||||
if(uProfile) {
|
if(uProfile) {
|
||||||
event.rProfile = uProfile.profile;
|
event.rProfile = uProfile.profile;
|
||||||
callback();
|
|
||||||
}
|
}
|
||||||
|
callback();
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user