Files
old-spike/models/power_datum.js

62 lines
1.3 KiB
JavaScript
Raw Normal View History

2016-01-26 19:42:30 -06:00
import {
GraphQLFloat,
GraphQLInt,
GraphQLObjectType
} from 'graphql';
import {
2016-01-27 20:15:09 -06:00
globalIdField
2016-01-26 19:42:30 -06:00
} from 'graphql-relay';
2016-01-27 20:15:09 -06:00
import DB from "./../config/database";
2016-01-31 17:18:27 -06:00
import {nodeInterface} from './../config/graphql/node';
const NAME = 'PowerDatum'
2016-01-26 19:42:30 -06:00
/**
* Define your own types here
*/
2016-01-31 17:18:27 -06:00
var PowerDatum = DB.sequelize.define(NAME, {
2016-01-26 19:42:30 -06:00
id: {
2016-01-27 20:15:09 -06:00
type: DB.Sequelize.INTEGER,
2016-01-26 19:42:30 -06:00
primaryKey: true,
autoIncrement: true // Automatically gets converted to SERIAL for postgres
},
2016-01-31 11:35:22 -06:00
time: DB.Sequelize.DATE,
2016-01-27 20:15:09 -06:00
power: DB.Sequelize.FLOAT
2016-01-26 19:42:30 -06:00
}, {
2016-01-31 17:18:27 -06:00
paranoid: true,
underscored: true,
2016-01-31 11:35:22 -06:00
tableName: "power_data",
2016-01-26 19:42:30 -06:00
instanceMethods: {
},
classMethods: {
2016-01-31 17:18:27 -06:00
set: ()=>{
2016-01-27 20:15:09 -06:00
PowerDatum.belongsTo(DB.House);
2016-01-31 17:18:27 -06:00
PowerDatum.graphql_type = new GraphQLObjectType({
name: NAME,
description: 'A person who uses our app',
fields: () => ({
id: globalIdField(NAME),
power: {
type: GraphQLFloat,
},
time: {
type: GraphQLInt,
description: "Time the power was recorded.",
resolve: (power_datum, _) => {
return power_datum.time.getTime();
}
},
}),
interfaces: [nodeInterface]
});
2016-01-26 19:42:30 -06:00
}
}
});
2016-01-31 17:18:27 -06:00
PowerDatum.name = NAME;
2016-01-27 20:15:09 -06:00
module.exports = PowerDatum;