Skip to content

Instantly share code, notes, and snippets.

@Kuirak
Created May 12, 2014 13:17
Show Gist options
  • Save Kuirak/efeeca24716942247b11 to your computer and use it in GitHub Desktop.
Save Kuirak/efeeca24716942247b11 to your computer and use it in GitHub Desktop.
/**
* Event.js
*
* @description :: TODO: You might write a short summary of how this model works and what it represents here.
* @docs :: http://sailsjs.org/#!documentation/models
*/
module.exports = {
attributes: {
eventType:{type:'string',required:true,notNull:true},
params:{type:'json'},
timestamp:{type:'integer'},
game:{model:'game'}
},beforeCreate:function(values,done){
//TODO move to policy
Type.findOne({name:values.eventType}).then(function(type){
if(!type.params){
done();
return;
}else if(!values.params){
done(new Error("Event params missing "+ value.eventType));
return;
}
if(_.difference(_.map(type.params,function(param){return param.name;}), _.keys(values.params)).length >0){
done(new Error("Event type params not matching: " + values.eventType +" | " + type.name));
}else{
//TODO validate types
done();
}
})
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment