summaryrefslogtreecommitdiff
path: root/server/lib/api/media.js
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2014-06-12 18:01:20 -0400
committerJules Laplace <jules@okfoc.us>2014-06-12 18:01:20 -0400
commitf9a05332e51b586b42cffcf144dae6f4b3abe436 (patch)
treeed9f30f241bbdca6c6c3717afd76d1356179f257 /server/lib/api/media.js
parente37702d371b459847a43f7c6f953dff31684d823 (diff)
client side of uploading process
Diffstat (limited to 'server/lib/api/media.js')
-rw-r--r--server/lib/api/media.js46
1 files changed, 46 insertions, 0 deletions
diff --git a/server/lib/api/media.js b/server/lib/api/media.js
new file mode 100644
index 0000000..089e327
--- /dev/null
+++ b/server/lib/api/media.js
@@ -0,0 +1,46 @@
+/* jshint node: true */
+
+var _ = require('lodash'),
+ crypto = require('crypto'),
+ util = require('../util'),
+ upload = require('../upload'),
+ config = require('../../../config.json'),
+ Media = require('../schemas/Media');
+
+var media = {
+ user: function(req, res){
+ Media.find({ user_id: req.user._id }, function(err, media){
+ res.json(media || [])
+ })
+ },
+
+ upload: function(req, res){
+ var data = util.cleanQuery(req.body)
+ data.updated_at = new Date ()
+
+ if (req.files.avatar) {
+ upload.put("avatars", req.files.avatar, {
+ unacceptable: function(err){
+ res.json({ error: { errors: { avatar: { message: "Problem saving avatar: " + err } } } })
+ },
+ success: function(url){
+ data.photo = url
+ done()
+ }
+ })
+ }
+ else {
+ done()
+ }
+
+ function done () {
+ _.extend( req.user, data )
+ req.user.save(function(err, msg) {
+ err ? res.json({ status: "FAIL", error: err })
+ : res.json({ status: "OK", payload: req.user })
+ })
+ }
+ }
+}
+
+module.exports = media