add support for public files

This commit is contained in:
Brian Gough 2015-05-08 15:15:48 +01:00
parent d5f98c9800
commit 7e9f8b885b
3 changed files with 18 additions and 0 deletions

View file

@ -77,6 +77,14 @@ app.get "/template/:template_id/v/:version/:format", keyBuilder.templateFileKey
app.get "/template/:template_id/v/:version/:format/:sub_type", keyBuilder.templateFileKey, fileController.getFile
app.post "/template/:template_id/v/:version/:format", keyBuilder.templateFileKey, fileController.insertFile
app.get "/project/:project_id/public/:public_file_id", keyBuilder.publicFileKey, fileController.getFile
app.post "/project/:project_id/public/:public_file_id", keyBuilder.publicFileKey, fileController.insertFile
app.put "/project/:project_id/public/:public_file_id", keyBuilder.publicFileKey, fileController.copyFile
app.del "/project/:project_id/public/:public_file_id", keyBuilder.publicFileKey, fileController.deleteFile
app.get "/heapdump", (req, res)->
require('heapdump').writeSnapshot '/tmp/' + Date.now() + '.filestore.heapsnapshot', (err, filename)->
res.send filename

View file

@ -23,6 +23,15 @@ module.exports =
req.bucket = settings.filestore.stores.user_files
next()
publicFileKey: (req, res, next)->
{project_id, public_file_id} = req.params
if not settings.filestore.stores.public_files?
res.status(501).send("public files not available")
else
req.key = "#{project_id}/#{public_file_id}"
req.bucket = settings.filestore.stores.public_files
next()
templateFileKey: (req, res, next)->
{template_id, format, version, sub_type} = req.params
req.key = "#{template_id}/v/#{version}/#{format}"

View file

@ -21,6 +21,7 @@ module.exports =
# Must contain full path, e.g. "/var/lib/sharelatex/data".
# This path must exist, not be tmpfs and be writable to by the user sharelatex is run as.
user_files: Path.resolve(__dirname + "/../user_files")
public_files: Path.resolve(__dirname + "/../public_files")
template_files: Path.resolve(__dirname + "/../template_files")
# if you are using S3, then fill in your S3 details below
# s3: