clean up database model setting

This commit is contained in:
Eric Hulburd
2016-01-31 17:49:02 -06:00
parent c0efde030d
commit 51a0e40f55
7 changed files with 114 additions and 76 deletions

View File

@@ -38,25 +38,32 @@ var User = DB.sequelize.define(NAME, {
},
classMethods: {
set: ()=>{
User.associate();
User.defineGraqhQLType()
},
associate: ()=>{
User.belongsTo(DB.House);
},
defineGraqhQLType: ()=>{
User.graphql_type = new GraphQLObjectType({
name: NAME,
description: 'A house',
fields: () => ({
id: globalIdField(NAME),
username: {
type: new GraphQLNonNull(GraphQLString)
},
house: {
type: connectionDefinitions({name: DB.House.name, nodeType: DB.House.graphql_type}).connectionType,
description: "Returns user's house.",
args: connectionArgs,
ref: DB.PowerDatum.name,
resolve: (user, args) => {
return user.getHouse();
fields: () => {
var {connectionType: house_connection} = connectionDefinitions({name: DB.House.name, nodeType: DB.House.graphql_type});
return {
id: globalIdField(NAME),
username: {
type: new GraphQLNonNull(GraphQLString)
},
house: {
type: house_connection,
description: "Returns user's house.",
resolve: (user, args) => {
return user.getHouse();
}
}
}
}),
};
},
interfaces: [nodeInterface]
});
}