OutputController.js 560 B

12345678910111213141516171819202122
  1. const OutputFileArchiveManager = require('./OutputFileArchiveManager')
  2. const { expressify } = require('@overleaf/promise-utils')
  3. async function createOutputZip(req, res) {
  4. const {
  5. project_id: projectId,
  6. user_id: userId,
  7. build_id: buildId,
  8. } = req.params
  9. const archive = await OutputFileArchiveManager.archiveFilesForBuild(
  10. projectId,
  11. userId,
  12. buildId
  13. )
  14. res.attachment('output.zip')
  15. res.setHeader('X-Content-Type-Options', 'nosniff')
  16. archive.pipe(res)
  17. }
  18. module.exports = { createOutputZip: expressify(createOutputZip) }