summaryrefslogtreecommitdiff
path: root/server/lib/api.js
diff options
context:
space:
mode:
Diffstat (limited to 'server/lib/api.js')
-rw-r--r--server/lib/api.js54
1 files changed, 49 insertions, 5 deletions
diff --git a/server/lib/api.js b/server/lib/api.js
index cf2a911..9a8a1fc 100644
--- a/server/lib/api.js
+++ b/server/lib/api.js
@@ -8,8 +8,8 @@ var passport = require('passport'),
util = require('./util'),
upload = require('./upload'),
config = require('../../config.json'),
- User = require('./schemas/User');
-
+ User = require('./schemas/User'),
+ Documentation = require('./schemas/Documentation');
var api = {
@@ -35,11 +35,10 @@ var api = {
}
delete data.old_password
delete data.new_password
- delete data.isAdmin
+ delete data.isStaff
+ data.updated_at = new Date ()
if (req.files.avatar) {
- // handle the upload here
- console.log("GOT SOME FILES")
upload.put("avatars", req.files.avatar, {
acceptable: function(){
console.log("acceptable")
@@ -66,6 +65,51 @@ var api = {
})
}
}
+ },
+
+
+ docs: {
+ show: function(req, res){
+ Documentation.findOne({ name: req.query.name }, function(err, doc){
+ if (doc) {
+ res.json(doc)
+ }
+ else {
+ var name = util.sanitize(req.query.name)
+ if (name == "new") {
+ name = ""
+ }
+ res.json({ name: name, isNew: true })
+ }
+ })
+ },
+
+ create: function(req, res){
+ var data = util.cleanQuery(req.body)
+ data.name = data.new_name
+ delete data.new_name
+ new Documentation(data).save(function(err, doc){
+ if (err || ! doc) { return res.json({ error: err }) }
+ res.json(doc)
+ })
+ },
+
+ update: function(req, res){
+ var data = util.cleanQuery(req.body)
+ if (data.name == "new") {
+ return api.docs.create(req, res)
+ }
+ Documentation.findOne({ name: data.name }, function(err, doc){
+ if (err || ! doc) { return res.json({ error: err }) }
+ data.name = data.new_name
+ delete data.new_name
+ _.extend(doc, data)
+ doc.save(function(err, doc){
+ if (err || ! doc) { return res.json({ error: err }) }
+ res.json(doc)
+ })
+ })
+ },
}
}