2014-06-30 22:16:26 -04:00
|
|
|
mongoose = require 'mongoose'
|
2014-01-22 17:57:41 -05:00
|
|
|
errors = require '../commons/errors'
|
2014-01-03 13:32:13 -05:00
|
|
|
|
2014-02-04 16:29:13 -05:00
|
|
|
module.exports.setup = (app) ->
|
2014-01-03 13:32:13 -05:00
|
|
|
app.all '/folder*', (req, res) ->
|
|
|
|
return folderGet(req, res) if req.route.method is 'get'
|
2014-06-09 12:01:43 -04:00
|
|
|
return errors.badMethod(res, ['GET'])
|
2014-01-03 13:32:13 -05:00
|
|
|
|
|
|
|
folderGet = (req, res) ->
|
|
|
|
folder = req.path[7..]
|
|
|
|
userfolder = "/user-#{req.user.id}/"
|
|
|
|
folder = userfolder if folder is '/me/'
|
2014-01-14 17:13:47 -05:00
|
|
|
return errors.forbidden(res) unless (folder is userfolder) or (req.user.isAdmin())
|
2014-06-30 22:16:26 -04:00
|
|
|
|
2014-01-03 13:32:13 -05:00
|
|
|
mongoose.connection.db.collection 'media.files', (errors, collection) ->
|
|
|
|
collection.find({'metadata.path': folder}).toArray (err, results) ->
|
|
|
|
res.send(results)
|
2014-06-09 12:01:43 -04:00
|
|
|
res.end()
|