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

Remove version keys and fix null IDs

parent 13d2641b
No related branches found
No related tags found
No related merge requests found
......@@ -33,6 +33,6 @@ var fileSchema = new Schema({
dimensions: { type: Schema.Types.Mixed },
user: { type: Schema.Types.ObjectId, ref: 'User', required: true },
date: { type: Date, default: Date.now }
});
}, { versionKey: false });
module.exports = mongoose.model('File', fileSchema);
......@@ -33,7 +33,7 @@ var nodeSchema = new Schema({
endpoint: { type: String, required: true, unique: true },
config: { type: Schema.Types.Mixed, default: {} },
simulators: [{ type: Schema.Types.Mixed, default: [] }]
});
}, { versionKey: false });
nodeSchema.post('save', function() {
// remove old file
......
......@@ -33,7 +33,7 @@ var projectSchema = new Schema({
user: { type: Schema.Types.ObjectId, ref: 'User', required: true },
visualizations: [{ type: Schema.Types.ObjectId, ref: 'Visualization', default: [] }],
simulation: { type: Schema.Types.ObjectId, ref: 'Simulation', required: true }
});
}, { versionKey: false });
projectSchema.pre('remove', function(callback) {
// delete all visualizations belonging to this project
......
......@@ -33,6 +33,6 @@ var simulationSchema = new Schema({
models: { type: Array, default: [] },
projects: [{ type: Schema.Types.ObjectId, ref: 'Project', default: [] }],
user: { type: Schema.Types.ObjectId, ref: 'User', required: true },
});
}, { versionKey: false });
module.exports = mongoose.model('Simulation', simulationSchema);
......@@ -38,7 +38,7 @@ var userSchema = new Schema({
mail: { type: String, default: "" },
simulations: [{ type: Schema.Types.ObjectId, ref: 'Simulation', default: [] }],
files: [{type: Schema.Types.ObjectId, ref: 'File', default: [] }]
});
}, { versionKey: false });
userSchema.methods.verifyPassword = function(password, callback) {
bcrypt.compare(password, this.password, function(err, isMatch) {
......
......@@ -31,6 +31,6 @@ var visualizationSchema = new Schema({
widgets: { type: Array, default: [] },
grid: { type: Number, default: 1 },
user: { type: Schema.Types.ObjectId, ref: 'User', required: true }
});
}, { versionKey: false });
module.exports = mongoose.model('Visualization', visualizationSchema);
......@@ -48,6 +48,11 @@ router.get('/nodes', function(req, res) {
});
router.post('/nodes', function(req, res) {
// delete id if equals 'null'
if (req.body.node._id === null) {
delete req.body.node._id;
}
// create new node
const node = new Node(req.body.node);
......
......@@ -50,6 +50,11 @@ router.get('/projects', /*auth.validateRole('project', 'read'),*/ function(req,
});
router.post('/projects', /*auth.validateRole('project', 'create'),*/ function(req, res) {
// delete id if equals 'null'
if (req.body.project._id === null) {
delete req.body.project._id;
}
// create new project
req.body.project.user = req.decoded._id;
const project = new Project(req.body.project);
......
......@@ -48,6 +48,11 @@ router.get('/simulations', /*auth.validateRole('simulation', 'read'),*/ function
});
router.post('/simulations', /*auth.validateRole('simulation', 'create'),*/ function(req, res) {
// delete id if equals 'null'
if (req.body.simulation._id === null) {
delete req.body.simulation._id;
}
// create new simulation
req.body.simulation.user = req.decoded._id;
const simulation = new Simulation(req.body.simulation);
......
......@@ -57,6 +57,10 @@ router.post('/visualizations', /*auth.validateRole('visualization', 'create'),*/
}
// create new visualization
if (req.body.visualization._id === null) {
delete req.body.visualization._id;
}
req.body.visualization.user = req.decoded._id;
const visualization = new Visualization(req.body.visualization);
......
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