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