Large set of changes - building the GUI for the data tracking app.
This commit is contained in:
443
app/routes.js
443
app/routes.js
@@ -182,7 +182,7 @@ module.exports = function(app, rootPath, passport, smtpTransport, sequelize) {
|
||||
});
|
||||
});
|
||||
|
||||
app.get('/admin/user-data', isLoggedIn, function(req, res) {
|
||||
app.get('/admin/user/list', isLoggedIn, function(req, res) {
|
||||
try {
|
||||
if(req.user.admin) {
|
||||
sequelize.models.User.findAll().then(function(values) {
|
||||
@@ -190,15 +190,450 @@ module.exports = function(app, rootPath, passport, smtpTransport, sequelize) {
|
||||
});
|
||||
}
|
||||
else {
|
||||
|
||||
//TODO: Return some kind of error.
|
||||
res.status(400).end();
|
||||
}
|
||||
}
|
||||
catch(e) {console.log(e);}
|
||||
});
|
||||
|
||||
app.post('/admin/createUser', isLoggedIn, function(req, res) {
|
||||
app.post('/admin/user/create', isLoggedIn, function(req, res) {
|
||||
try {
|
||||
res.json({status: 'success'});
|
||||
if(req.user.admin) {
|
||||
var login = req.body.login;
|
||||
var password = req.body.password;
|
||||
|
||||
sequelize.models.User.create({
|
||||
login: login,
|
||||
password: sequelize.models.User.generateHash(password),
|
||||
admin: true
|
||||
}).then(function(user) {
|
||||
res.json({result: 'success'});
|
||||
}).catch(function(err) {
|
||||
console.log(err);
|
||||
res.json({result: 'duplicate'});
|
||||
});
|
||||
}
|
||||
} catch(e) {console.log(e);}
|
||||
});
|
||||
|
||||
app.post('/admin/user/delete', isLoggedIn, function(req, res) {
|
||||
try {
|
||||
if(req.user.admin) {
|
||||
var userId = req.body.id;
|
||||
|
||||
/* This isn't quite right.. the return of user.destroy() causes problems if the user is not found. Regardless, it is cleaner code to user the class method to destroy the instance rather than load it just to destroy it.
|
||||
sequelize.models.User.findById(userId, {}).then(function(user) {
|
||||
if(user) {
|
||||
return user.destroy();
|
||||
}
|
||||
else {
|
||||
res.json({result: 'failure'});
|
||||
}
|
||||
}).then(function() {
|
||||
res.json({result: 'success'});
|
||||
}).catch(function(err) {
|
||||
console.log(err);
|
||||
res.json({result: 'failure'});
|
||||
});
|
||||
*/
|
||||
sequelize.models.User.destroy({where: {id: userId}}).then(function(count) {
|
||||
if(count == 1) {
|
||||
res.json({result: 'success'});
|
||||
}
|
||||
else {
|
||||
res.json({result: 'failure'});
|
||||
}
|
||||
}).catch(function(err) {
|
||||
console.log(err);
|
||||
res.json({result: 'failure'});
|
||||
});
|
||||
}
|
||||
} catch(e) {console.log(e);}
|
||||
});
|
||||
|
||||
app.post('/admin/user/changeLogin', isLoggedIn, function(req, res) {
|
||||
try {
|
||||
if(req.user.admin) {
|
||||
var userId = req.body.id;
|
||||
var login = req.body.login;
|
||||
|
||||
sequelize.models.User.findById(userId, {}).then(function(user) {
|
||||
user.login = login;
|
||||
return user.save();
|
||||
}).then(function() {
|
||||
res.json({result: 'success'});
|
||||
}).catch(function(err) {
|
||||
console.log(err);
|
||||
res.json({result: 'failure'});
|
||||
});
|
||||
}
|
||||
} catch(e) {console.log(e);}
|
||||
});
|
||||
|
||||
app.post('/admin/user/resetPassword', isLoggedIn, function(req, res) {
|
||||
try {
|
||||
if(req.user.admin) {
|
||||
var userId = req.body.id;
|
||||
var password = req.body.password;
|
||||
|
||||
sequelize.models.User.findById(userId, {}).then(function(user) {
|
||||
user.password = sequelize.models.User.generateHash(password);
|
||||
return user.save();
|
||||
}).then(function() {
|
||||
res.json({result: 'success'});
|
||||
}).catch(function(err) {
|
||||
console.log(err);
|
||||
res.json({result: 'failure'});
|
||||
});
|
||||
}
|
||||
} catch(e) {console.log(e);}
|
||||
});
|
||||
|
||||
app.get('/admin/venues/list', isLoggedIn, function(req, res) {
|
||||
try {
|
||||
var showDeleted = req.query.showDeleted == 'true';
|
||||
|
||||
sequelize.models.Venue.findAll({paranoid: !showDeleted}).then(function(values) {
|
||||
res.json(values);
|
||||
});
|
||||
}
|
||||
catch(e) {console.log(e);}
|
||||
});
|
||||
|
||||
app.post('/admin/venues/create', isLoggedIn, function(req, res) {
|
||||
try {
|
||||
if(req.user.admin) {
|
||||
var name = req.body.name;
|
||||
|
||||
sequelize.models.Venue.create({
|
||||
name: name
|
||||
}).then(function(user) {
|
||||
res.json({result: 'success'});
|
||||
}).catch(function(err) {
|
||||
console.log(err);
|
||||
res.json({result: 'duplicate'});
|
||||
});
|
||||
}
|
||||
} catch(e) {console.log(e);}
|
||||
});
|
||||
|
||||
app.post('/admin/venues/delete', isLoggedIn, function(req, res) {
|
||||
try {
|
||||
if(req.user.admin) {
|
||||
var id = req.body.id;
|
||||
|
||||
sequelize.models.Venue.destroy({where: {id: id}}).then(function(count) {
|
||||
if(count == 1) {
|
||||
res.json({result: 'success'});
|
||||
}
|
||||
else {
|
||||
res.json({result: 'failure'});
|
||||
}
|
||||
}).catch(function(err) {
|
||||
console.log(err);
|
||||
res.json({result: 'failure'});
|
||||
});
|
||||
}
|
||||
} catch(e) {console.log(e);}
|
||||
});
|
||||
|
||||
app.post('/admin/venues/edit', isLoggedIn, function(req, res) {
|
||||
try {
|
||||
if(req.user.admin) {
|
||||
var id = req.body.id;
|
||||
var name = req.body.name;
|
||||
|
||||
sequelize.models.Venue.findById(id, {}).then(function(venue) {
|
||||
venue.name = name;
|
||||
return venue.save();
|
||||
}).then(function() {
|
||||
res.json({result: 'success'});
|
||||
}).catch(function(err) {
|
||||
console.log(err);
|
||||
res.json({result: 'failure'});
|
||||
});
|
||||
}
|
||||
} catch(e) {console.log(e);}
|
||||
});
|
||||
|
||||
app.get('/admin/measures/list', isLoggedIn, function(req, res) {
|
||||
try {
|
||||
var showDeleted = req.query.showDeleted == 'true';
|
||||
|
||||
sequelize.models.Measure.findAll({paranoid: !showDeleted}).then(function(values) {
|
||||
res.json(values);
|
||||
});
|
||||
}
|
||||
catch(e) {console.log(e);}
|
||||
});
|
||||
|
||||
app.post('/admin/measures/create', isLoggedIn, function(req, res) {
|
||||
try {
|
||||
if(req.user.admin) {
|
||||
var name = req.body.name;
|
||||
var postfix = req.body.postfix;
|
||||
|
||||
sequelize.models.Measure.create({
|
||||
name: name,
|
||||
postfix: postfix
|
||||
}).then(function(user) {
|
||||
res.json({result: 'success'});
|
||||
}).catch(function(err) {
|
||||
console.log(err);
|
||||
res.json({result: 'duplicate'});
|
||||
});
|
||||
}
|
||||
} catch(e) {console.log(e);}
|
||||
});
|
||||
|
||||
app.post('/admin/measures/delete', isLoggedIn, function(req, res) {
|
||||
try {
|
||||
if(req.user.admin) {
|
||||
var id = req.body.id;
|
||||
|
||||
sequelize.models.Measure.destroy({where: {id: id}}).then(function(count) {
|
||||
if(count == 1) {
|
||||
res.json({result: 'success'});
|
||||
}
|
||||
else {
|
||||
res.json({result: 'failure'});
|
||||
}
|
||||
}).catch(function(err) {
|
||||
console.log(err);
|
||||
res.json({result: 'failure'});
|
||||
});
|
||||
}
|
||||
} catch(e) {console.log(e);}
|
||||
});
|
||||
|
||||
app.post('/admin/measures/edit', isLoggedIn, function(req, res) {
|
||||
try {
|
||||
if(req.user.admin) {
|
||||
var id = req.body.id;
|
||||
var name = req.body.name;
|
||||
var postfix = req.body.postfix;
|
||||
|
||||
sequelize.models.Measure.findById(id, {}).then(function(measure) {
|
||||
measure.name = name;
|
||||
measure.postfix = postfix;
|
||||
return measure.save();
|
||||
}).then(function() {
|
||||
res.json({result: 'success'});
|
||||
}).catch(function(err) {
|
||||
console.log(err);
|
||||
res.json({result: 'failure'});
|
||||
});
|
||||
}
|
||||
} catch(e) {console.log(e);}
|
||||
});
|
||||
|
||||
app.get('/admin/categories/list', isLoggedIn, function(req, res) {
|
||||
try {
|
||||
var showDeleted = req.query.showDeleted == 'true';
|
||||
|
||||
sequelize.models.Category.findAll({paranoid: !showDeleted}).then(function(values) {
|
||||
res.json(values);
|
||||
});
|
||||
}
|
||||
catch(e) {console.log(e);}
|
||||
});
|
||||
|
||||
app.post('/admin/categories/create', isLoggedIn, function(req, res) {
|
||||
try {
|
||||
if(req.user.admin) {
|
||||
var name = req.body.name;
|
||||
|
||||
sequelize.models.Category.create({
|
||||
name: name
|
||||
}).then(function(user) {
|
||||
res.json({result: 'success'});
|
||||
}).catch(function(err) {
|
||||
console.log(err);
|
||||
res.json({result: 'duplicate'});
|
||||
});
|
||||
}
|
||||
} catch(e) {console.log(e);}
|
||||
});
|
||||
|
||||
app.post('/admin/categories/delete', isLoggedIn, function(req, res) {
|
||||
try {
|
||||
if(req.user.admin) {
|
||||
var id = req.body.id;
|
||||
|
||||
sequelize.models.Category.destroy({where: {id: id}}).then(function(count) {
|
||||
if(count == 1) {
|
||||
res.json({result: 'success'});
|
||||
}
|
||||
else {
|
||||
res.json({result: 'failure'});
|
||||
}
|
||||
}).catch(function(err) {
|
||||
console.log(err);
|
||||
res.json({result: 'failure'});
|
||||
});
|
||||
}
|
||||
} catch(e) {console.log(e);}
|
||||
});
|
||||
|
||||
app.post('/admin/categories/edit', isLoggedIn, function(req, res) {
|
||||
try {
|
||||
if(req.user.admin) {
|
||||
var id = req.body.id;
|
||||
var name = req.body.name;
|
||||
|
||||
sequelize.models.Category.findById(id, {}).then(function(category) {
|
||||
category.name = name;
|
||||
return category.save();
|
||||
}).then(function() {
|
||||
res.json({result: 'success'});
|
||||
}).catch(function(err) {
|
||||
console.log(err);
|
||||
res.json({result: 'failure'});
|
||||
});
|
||||
}
|
||||
} catch(e) {console.log(e);}
|
||||
});
|
||||
|
||||
app.get('/admin/subcategories/list', isLoggedIn, function(req, res) {
|
||||
try {
|
||||
var showDeleted = req.query.showDeleted == 'true';
|
||||
|
||||
sequelize.models.Subcategory.findAll({paranoid: !showDeleted}).then(function(values) {
|
||||
res.json(values);
|
||||
});
|
||||
}
|
||||
catch(e) {console.log(e);}
|
||||
});
|
||||
|
||||
app.post('/admin/subcategories/create', isLoggedIn, function(req, res) {
|
||||
try {
|
||||
if(req.user.admin) {
|
||||
var name = req.body.name;
|
||||
|
||||
sequelize.models.Subcategory.create({
|
||||
name: name
|
||||
}).then(function(user) {
|
||||
res.json({result: 'success'});
|
||||
}).catch(function(err) {
|
||||
console.log(err);
|
||||
res.json({result: 'duplicate'});
|
||||
});
|
||||
}
|
||||
} catch(e) {console.log(e);}
|
||||
});
|
||||
|
||||
app.post('/admin/subcategories/delete', isLoggedIn, function(req, res) {
|
||||
try {
|
||||
if(req.user.admin) {
|
||||
var id = req.body.id;
|
||||
|
||||
sequelize.models.Subcategory.destroy({where: {id: id}}).then(function(count) {
|
||||
if(count == 1) {
|
||||
res.json({result: 'success'});
|
||||
}
|
||||
else {
|
||||
res.json({result: 'failure'});
|
||||
}
|
||||
}).catch(function(err) {
|
||||
console.log(err);
|
||||
res.json({result: 'failure'});
|
||||
});
|
||||
}
|
||||
} catch(e) {console.log(e);}
|
||||
});
|
||||
|
||||
app.post('/admin/subcategories/edit', isLoggedIn, function(req, res) {
|
||||
try {
|
||||
if(req.user.admin) {
|
||||
var id = req.body.id;
|
||||
var name = req.body.name;
|
||||
|
||||
sequelize.models.Subcategory.findById(id, {}).then(function(subcategory) {
|
||||
subcategory.name = name;
|
||||
return subcategory.save();
|
||||
}).then(function() {
|
||||
res.json({result: 'success'});
|
||||
}).catch(function(err) {
|
||||
console.log(err);
|
||||
res.json({result: 'failure'});
|
||||
});
|
||||
}
|
||||
} catch(e) {console.log(e);}
|
||||
});
|
||||
|
||||
app.get('/admin/items/list', isLoggedIn, function(req, res) {
|
||||
try {
|
||||
var showDeleted = req.query.showDeleted == 'true';
|
||||
|
||||
sequelize.models.Item.findAll({paranoid: !showDeleted}).then(function(values) {
|
||||
res.json(values);
|
||||
});
|
||||
}
|
||||
catch(e) {console.log(e);}
|
||||
});
|
||||
|
||||
app.post('/admin/items/create', isLoggedIn, function(req, res) {
|
||||
try {
|
||||
if(req.user.admin) {
|
||||
var name = req.body.name;
|
||||
var defaultPrice = req.body.defaultPrice;
|
||||
var measures = req.body.measures;
|
||||
|
||||
sequelize.models.Item.create({
|
||||
name: name,
|
||||
defaultPrice: defaultPrice,
|
||||
measures: measures
|
||||
}).then(function(user) {
|
||||
res.json({result: 'success'});
|
||||
}).catch(function(err) {
|
||||
console.log(err);
|
||||
res.json({result: 'duplicate'});
|
||||
});
|
||||
}
|
||||
} catch(e) {console.log(e);}
|
||||
});
|
||||
|
||||
app.post('/admin/items/delete', isLoggedIn, function(req, res) {
|
||||
try {
|
||||
if(req.user.admin) {
|
||||
var id = req.body.id;
|
||||
|
||||
sequelize.models.Item.destroy({where: {id: id}}).then(function(count) {
|
||||
if(count == 1) {
|
||||
res.json({result: 'success'});
|
||||
}
|
||||
else {
|
||||
res.json({result: 'failure'});
|
||||
}
|
||||
}).catch(function(err) {
|
||||
console.log(err);
|
||||
res.json({result: 'failure'});
|
||||
});
|
||||
}
|
||||
} catch(e) {console.log(e);}
|
||||
});
|
||||
|
||||
app.post('/admin/items/edit', isLoggedIn, function(req, res) {
|
||||
try {
|
||||
if(req.user.admin) {
|
||||
var id = req.body.id;
|
||||
var name = req.body.name;
|
||||
var defaultPrice = req.body.defaultPrice;
|
||||
var measures = req.body.measures;
|
||||
|
||||
sequelize.models.Item.findById(id, {}).then(function(item) {
|
||||
item.name = name;
|
||||
item.defaultPrice = defaultPrice;
|
||||
item.measures = measures;
|
||||
return item.save();
|
||||
}).then(function() {
|
||||
res.json({result: 'success'});
|
||||
}).catch(function(err) {
|
||||
console.log(err);
|
||||
res.json({result: 'failure'});
|
||||
});
|
||||
}
|
||||
} catch(e) {console.log(e);}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user