Skip to content
Snippets Groups Projects
Commit 951c269d authored by Markus Grigull's avatar Markus Grigull
Browse files

Rename model to simulationModel

Rename app.js back to server.js.
parent 9db9b1c3
No related branches found
No related tags found
No related merge requests found
......@@ -7,3 +7,5 @@ node:
mongo:
image: mongo
ports:
- "27017:27017"
/**
* File: model.js
* File: simulationModel.js
* Author: Markus Grigull <mgrigull@eonerc.rwth-aachen.de>
* Date: 19.07.2016
* Copyright: 2016, Institute for Automation of Complex Power Systems, EONERC
......@@ -12,12 +12,12 @@ var mongoose = require('mongoose');
var Schema = mongoose.Schema;
// model model
var modelSchema = new Schema({
name: { type: String, required: true, unique: true },
// simulation model model
var simulationModelSchema = new Schema({
name: { type: String, required: true },
running: { type: Boolean, default: false },
projects: { type: Schema.Types.ObjectId, ref: 'Project' },
projects: [{ type: Schema.Types.ObjectId, ref: 'Project' }],
owner: { type: Schema.Types.ObjectId, ref: 'User' }
});
module.exports = mongoose.model('Model', modelSchema);
module.exports = mongoose.model('SimulationModel', simulationModelSchema);
......@@ -12,7 +12,7 @@ var mongoose = require('mongoose');
var bcrypt = require('bcrypt-nodejs');
var Project = require('./project');
var Model = require('./model');
var SimulationModel = require('./simulationModel');
var Schema = mongoose.Schema;
......@@ -23,7 +23,7 @@ var userSchema = new Schema({
adminLevel: { type: Number, default: 0 },
projects: [{ type: Schema.Types.ObjectId, ref: 'Project', default: [] }],
mail: { type: String, default: "" },
models: [{ type: Schema.Types.ObjectId, ref: 'Model', default: [] }]
simulationModel: [{ type: Schema.Types.ObjectId, ref: 'Model', default: [] }]
});
userSchema.methods.verifyPassword = function(password, callback) {
......@@ -84,8 +84,8 @@ userSchema.pre('remove', function(callback) {
});
// delete all models belonging to this user
this.models.forEach(function(id) {
Model.findOne({ _id: id }, function(err, model) {
this.simulationModels.forEach(function(id) {
SimulationModel.findOne({ _id: id }, function(err, model) {
if (err) {
return console.log(err);
}
......
......@@ -2,7 +2,7 @@
"name": "VILLASweb-backend",
"version": "0.1.0",
"private": true,
"main": "app.js",
"main": "server.js",
"dependencies": {
"bcrypt-nodejs": "^0.0.3",
"body-parser": "^1.15.2",
......
/**
* File: models.js
* File: simulationModels.js
* Author: Markus Grigull <mgrigull@eonerc.rwth-aachen.de>
* Date: 19.07.2016
* Copyright: 2016, Institute for Automation of Complex Power Systems, EONERC
......@@ -13,45 +13,46 @@ var express = require('express');
var auth = require('../auth');
// models
var Model = require('../models/model');
var SimulationModel = require('../models/simulationModel');
var User = require('../models/user');
// create router
var router = express.Router();
// all model routes need authentication
router.use('/models', auth.validateToken);
router.use('/simulationModels', auth.validateToken);
// routes
router.get('/models', function(req, res) {
router.get('/simulationModels', function(req, res) {
// get all models
Model.find(function(err, models) {
SimulationModel.find(function(err, models) {
if (err) {
return res.send(err);
}
res.send({ models: models });
res.send({ simulationModel: models });
});
});
router.post('/models', function(req, res) {
router.post('/simulationModels', function(req, res) {
// create new model
var model = new Model(req.body.model);
var model = new SimulationModel(req.body.simulationModel);
model.save(function(err) {
if (err) {
return res.send(err);
}
res.send({ model: model });
res.send({ simulationModel: model });
});
// add model to user
Model.findOne({ _id: model.owner }, function(err, user) {
User.findOne({ _id: model.owner }, function(err, user) {
if (err) {
return console.log(err);
}
user.models.push(model._id);
user.simulationModels.push(model._id);
user.save(function(err) {
if (err) {
......@@ -61,16 +62,16 @@ router.post('/models', function(req, res) {
});
});
router.put('/models/:id', function(req, res) {
router.put('/simulationModels/:id', function(req, res) {
// get model
Model.findOne({ _id: req.params.id }, function(err, model) {
SimulationModel.findOne({ _id: req.params.id }, function(err, model) {
if (err) {
return res.send(err);
}
// update all properties
for (property in req.body.model) {
model[property] = req.body.model[property];
for (property in req.body.simulationModel) {
model[property] = req.body.simulationModel[property];
}
// save the changes
......@@ -79,23 +80,23 @@ router.put('/models/:id', function(req, res) {
return res.send(err);
}
res.send({ model: model });
res.send({ simulationModel: model });
});
});
});
router.get('/models/:id', function(req, res) {
Model.findOne({ _id: req.params.id }, function(err, model) {
router.get('/simulationModels/:id', function(req, res) {
SimulationModel.findOne({ _id: req.params.id }, function(err, model) {
if (err) {
return res.send(err);
}
res.send({ model: model });
res.send({ simulationModel: model });
});
});
router.delete('/models/:id', function(req, res) {
Model.findOne({ _id: req.params.id }, function(err, model) {
router.delete('/simulationModels/:id', function(req, res) {
SimulationModel.findOne({ _id: req.params.id }, function(err, model) {
if (err) {
return res.send(err);
}
......@@ -106,10 +107,10 @@ router.delete('/models/:id', function(req, res) {
return console.log(err);
}
for (var i = 0; user.models.length; i++) {
var id = String(user.models[i]);
for (var i = 0; user.simulationModels.length; i++) {
var id = String(user.simulationModels[i]);
if (id == model._id) {
user.models.splice(i, 1);
user.simulationModels.splice(i, 1);
}
}
......
/**
* File: app.js
* File: server.js
* Author: Markus Grigull <mgrigull@eonerc.rwth-aachen.de>
* Date: 04.07.2016
* Copyright: 2016, Institute for Automation of Complex Power Systems, EONERC
......@@ -21,7 +21,7 @@ var users = require('./routes/users');
var projects = require('./routes/projects');
var visualizations = require('./routes/visualizations');
var plots = require('./routes/plots');
var models = require('./routes/models');
var simulationModels = require('./routes/simulationModels');
var User = require('./models/user');
......@@ -42,7 +42,7 @@ app.use('/api/v1', users);
app.use('/api/v1', projects);
app.use('/api/v1', visualizations);
app.use('/api/v1', plots);
app.use('/api/v1', models);
app.use('/api/v1', simulationModels);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment