diff --git a/services/web/app/coffee/Features/Exports/ExportsController.coffee b/services/web/app/coffee/Features/Exports/ExportsController.coffee index 40cb7bb507..7c74d14aed 100644 --- a/services/web/app/coffee/Features/Exports/ExportsController.coffee +++ b/services/web/app/coffee/Features/Exports/ExportsController.coffee @@ -27,3 +27,13 @@ module.exports = "exported project" res.send export_v1_id: export_data.v1_id + exportStatus: (req, res) -> + {export_id} = req.params + ExportsHandler.fetchExport export_id, (err, export_json) -> + return next(err) if err? + parsed_export = JSON.parse(export_json) + json = { + status_summary: parsed_export.status_summary, + status_detail: parsed_export.status_detail + } + res.send export_json: json diff --git a/services/web/app/coffee/Features/Exports/ExportsHandler.coffee b/services/web/app/coffee/Features/Exports/ExportsHandler.coffee index 38357c129d..167dc8bba0 100644 --- a/services/web/app/coffee/Features/Exports/ExportsHandler.coffee +++ b/services/web/app/coffee/Features/Exports/ExportsHandler.coffee @@ -98,3 +98,19 @@ module.exports = ExportsHandler = self = err = new Error("project history version returned a failure status code: #{res.statusCode}") logger.err err:err, project_id:project_id, "project history version returned failure status code: #{res.statusCode}" callback err + + fetchExport: (export_id, callback=(err, export_json) ->) -> + request.get { + url: "#{settings.apis.v1.url}/api/v1/sharelatex/exports/#{export_id}" + auth: {user: settings.apis.v1.user, pass: settings.apis.v1.pass } + }, (err, res, body) -> + console.log(body) + if err? + logger.err err:err, export:export_id, "error making request to v1 export" + callback err + else if 200 <= res.statusCode < 300 + callback null, body + else + err = new Error("v1 export returned a failure status code: #{res.statusCode}") + logger.err err:err, export:export_id, "v1 export returned failure status code: #{res.statusCode}" + callback err diff --git a/services/web/app/coffee/router.coffee b/services/web/app/coffee/router.coffee index 22c4abe925..7c4db9c568 100644 --- a/services/web/app/coffee/router.coffee +++ b/services/web/app/coffee/router.coffee @@ -214,6 +214,7 @@ module.exports = class Router privateApiRouter.post "/project/:Project_id/history/resync", AuthenticationController.httpAuth, HistoryController.resyncProjectHistory webRouter.post '/project/:project_id/export/:brand_variation_id', AuthorizationMiddlewear.ensureUserCanAdminProject, ExportsController.exportProject + webRouter.get '/project/:project_id/export/:export_id', AuthorizationMiddlewear.ensureUserCanAdminProject, ExportsController.exportStatus webRouter.get '/Project/:Project_id/download/zip', AuthorizationMiddlewear.ensureUserCanReadProject, ProjectDownloadsController.downloadProject webRouter.get '/project/download/zip', AuthorizationMiddlewear.ensureUserCanReadMultipleProjects, ProjectDownloadsController.downloadMultipleProjects