|
|
|
@@ -6,7 +6,7 @@ ProjectApiController = require("./Features/Project/ProjectApiController")
|
|
|
|
|
InfoController = require('./controllers/InfoController')
|
|
|
|
|
SpellingController = require('./Features/Spelling/SpellingController')
|
|
|
|
|
CollaberationManager = require('./managers/CollaberationManager')
|
|
|
|
|
SecutiryManager = require('./managers/SecurityManager')
|
|
|
|
|
SecurityManager = require('./managers/SecurityManager')
|
|
|
|
|
AuthorizationManager = require('./Features/Security/AuthorizationManager')
|
|
|
|
|
versioningController = require("./Features/Versioning/VersioningApiController")
|
|
|
|
|
EditorController = require("./Features/Editor/EditorController")
|
|
|
|
@@ -56,7 +56,7 @@ module.exports = class Router
|
|
|
|
|
app.get '/login', UserController.loginForm
|
|
|
|
|
app.post '/login', AuthenticationController.login
|
|
|
|
|
app.get '/logout', UserController.logout
|
|
|
|
|
app.get '/restricted', SecutiryManager.restricted
|
|
|
|
|
app.get '/restricted', SecurityManager.restricted
|
|
|
|
|
|
|
|
|
|
app.get '/resources', HomeController.resources
|
|
|
|
|
app.get '/comments', HomeController.comments
|
|
|
|
@@ -99,13 +99,10 @@ module.exports = class Router
|
|
|
|
|
app.post '/project/new', AuthenticationController.requireLogin(), Project.apiNewProject
|
|
|
|
|
app.get '/project/new/template', TemplatesMiddlewear.saveTemplateDataInSession, AuthenticationController.requireLogin(), TemplatesController.createProjectFromZipTemplate
|
|
|
|
|
|
|
|
|
|
app.get '/Project/:Project_id', SecutiryManager.requestCanAccessProject, Project.loadEditor
|
|
|
|
|
app.get '/Project/:Project_id/file/:File_id', SecutiryManager.requestCanAccessProject, FileStoreController.getFile
|
|
|
|
|
app.get '/Project/:Project_id', SecurityManager.requestCanAccessProject, Project.loadEditor
|
|
|
|
|
app.get '/Project/:Project_id/file/:File_id', SecurityManager.requestCanAccessProject, FileStoreController.getFile
|
|
|
|
|
|
|
|
|
|
# This is left for legacy reasons and can be removed once all editors have had a chance to refresh:
|
|
|
|
|
app.get '/Project/:Project_id/download/pdf', SecutiryManager.requestCanAccessProject, CompileController.downloadPdf
|
|
|
|
|
|
|
|
|
|
app.get '/Project/:Project_id/output/output.pdf', SecutiryManager.requestCanAccessProject, CompileController.downloadPdf
|
|
|
|
|
app.get '/Project/:Project_id/output/output.pdf', SecurityManager.requestCanAccessProject, CompileController.downloadPdf
|
|
|
|
|
app.get /^\/project\/([^\/]*)\/output\/(.*)$/,
|
|
|
|
|
((req, res, next) ->
|
|
|
|
|
params =
|
|
|
|
@@ -113,25 +110,26 @@ module.exports = class Router
|
|
|
|
|
"file": req.params[1]
|
|
|
|
|
req.params = params
|
|
|
|
|
next()
|
|
|
|
|
), SecutiryManager.requestCanAccessProject, CompileController.getFileFromClsi
|
|
|
|
|
), SecurityManager.requestCanAccessProject, CompileController.getFileFromClsi
|
|
|
|
|
app.del "/project/:Project_id/output", SecurityManager.requestCanAccessProject, CompileController.deleteAuxFiles
|
|
|
|
|
|
|
|
|
|
app.del '/Project/:Project_id', SecutiryManager.requestIsOwner, Project.deleteProject
|
|
|
|
|
app.post '/Project/:Project_id/clone', SecutiryManager.requestCanAccessProject, Project.cloneProject
|
|
|
|
|
app.del '/Project/:Project_id', SecurityManager.requestIsOwner, Project.deleteProject
|
|
|
|
|
app.post '/Project/:Project_id/clone', SecurityManager.requestCanAccessProject, Project.cloneProject
|
|
|
|
|
|
|
|
|
|
app.post '/Project/:Project_id/snapshot', SecutiryManager.requestCanModifyProject, versioningController.takeSnapshot
|
|
|
|
|
app.get '/Project/:Project_id/version', SecutiryManager.requestCanAccessProject, versioningController.listVersions
|
|
|
|
|
app.get '/Project/:Project_id/version/:Version_id', SecutiryManager.requestCanAccessProject, versioningController.getVersion
|
|
|
|
|
app.get '/Project/:Project_id/version', SecutiryManager.requestCanAccessProject, versioningController.listVersions
|
|
|
|
|
app.get '/Project/:Project_id/version/:Version_id', SecutiryManager.requestCanAccessProject, versioningController.getVersion
|
|
|
|
|
app.post '/Project/:Project_id/snapshot', SecurityManager.requestCanModifyProject, versioningController.takeSnapshot
|
|
|
|
|
app.get '/Project/:Project_id/version', SecurityManager.requestCanAccessProject, versioningController.listVersions
|
|
|
|
|
app.get '/Project/:Project_id/version/:Version_id', SecurityManager.requestCanAccessProject, versioningController.getVersion
|
|
|
|
|
app.get '/Project/:Project_id/version', SecurityManager.requestCanAccessProject, versioningController.listVersions
|
|
|
|
|
app.get '/Project/:Project_id/version/:Version_id', SecurityManager.requestCanAccessProject, versioningController.getVersion
|
|
|
|
|
|
|
|
|
|
app.get "/project/:Project_id/updates", SecutiryManager.requestCanAccessProject, TrackChangesController.proxyToTrackChangesApi
|
|
|
|
|
app.get "/project/:Project_id/doc/:doc_id/diff", SecutiryManager.requestCanAccessProject, TrackChangesController.proxyToTrackChangesApi
|
|
|
|
|
app.post "/project/:Project_id/doc/:doc_id/version/:version_id/restore", SecutiryManager.requestCanAccessProject, TrackChangesController.proxyToTrackChangesApi
|
|
|
|
|
app.get "/project/:Project_id/updates", SecurityManager.requestCanAccessProject, TrackChangesController.proxyToTrackChangesApi
|
|
|
|
|
app.get "/project/:Project_id/doc/:doc_id/diff", SecurityManager.requestCanAccessProject, TrackChangesController.proxyToTrackChangesApi
|
|
|
|
|
app.post "/project/:Project_id/doc/:doc_id/version/:version_id/restore", SecurityManager.requestCanAccessProject, TrackChangesController.proxyToTrackChangesApi
|
|
|
|
|
|
|
|
|
|
app.post '/project/:project_id/leave', AuthenticationController.requireLogin(), CollaboratorsController.removeSelfFromProject
|
|
|
|
|
app.get '/project/:Project_id/collaborators', SecutiryManager.requestCanAccessProject(allow_auth_token: true), CollaboratorsController.getCollaborators
|
|
|
|
|
app.get '/project/:Project_id/collaborators', SecurityManager.requestCanAccessProject(allow_auth_token: true), CollaboratorsController.getCollaborators
|
|
|
|
|
|
|
|
|
|
app.get '/Project/:Project_id/download/zip', SecutiryManager.requestCanAccessProject, ProjectDownloadsController.downloadProject
|
|
|
|
|
app.get '/Project/:Project_id/download/zip', SecurityManager.requestCanAccessProject, ProjectDownloadsController.downloadProject
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app.get '/tag', AuthenticationController.requireLogin(), TagsController.getAllTags
|
|
|
|
@@ -164,21 +162,21 @@ module.exports = class Router
|
|
|
|
|
req.params = params
|
|
|
|
|
next()
|
|
|
|
|
),
|
|
|
|
|
SecutiryManager.requestCanAccessProject, versioningController.getVersionFile
|
|
|
|
|
SecurityManager.requestCanAccessProject, versioningController.getVersionFile
|
|
|
|
|
|
|
|
|
|
app.post "/spelling/check", AuthenticationController.requireLogin(), SpellingController.proxyRequestToSpellingApi
|
|
|
|
|
app.post "/spelling/learn", AuthenticationController.requireLogin(), SpellingController.proxyRequestToSpellingApi
|
|
|
|
|
|
|
|
|
|
#Admin Stuff
|
|
|
|
|
app.get '/admin', SecutiryManager.requestIsAdmin, AdminController.index
|
|
|
|
|
app.post '/admin/closeEditor', SecutiryManager.requestIsAdmin, AdminController.closeEditor
|
|
|
|
|
app.post '/admin/dissconectAllUsers', SecutiryManager.requestIsAdmin, AdminController.dissconectAllUsers
|
|
|
|
|
app.post '/admin/writeAllDocsToMongo', SecutiryManager.requestIsAdmin, AdminController.writeAllToMongo
|
|
|
|
|
app.post '/admin/addquote', SecutiryManager.requestIsAdmin, AdminController.addQuote
|
|
|
|
|
app.post '/admin/syncUserToSubscription', SecutiryManager.requestIsAdmin, AdminController.syncUserToSubscription
|
|
|
|
|
app.post '/admin/flushProjectToTpds', SecutiryManager.requestIsAdmin, AdminController.flushProjectToTpds
|
|
|
|
|
app.post '/admin/pollUsersWithDropbox', SecutiryManager.requestIsAdmin, AdminController.pollUsersWithDropbox
|
|
|
|
|
app.post '/admin/updateProjectCompiler', SecutiryManager.requestIsAdmin, AdminController.updateProjectCompiler
|
|
|
|
|
app.get '/admin', SecurityManager.requestIsAdmin, AdminController.index
|
|
|
|
|
app.post '/admin/closeEditor', SecurityManager.requestIsAdmin, AdminController.closeEditor
|
|
|
|
|
app.post '/admin/dissconectAllUsers', SecurityManager.requestIsAdmin, AdminController.dissconectAllUsers
|
|
|
|
|
app.post '/admin/writeAllDocsToMongo', SecurityManager.requestIsAdmin, AdminController.writeAllToMongo
|
|
|
|
|
app.post '/admin/addquote', SecurityManager.requestIsAdmin, AdminController.addQuote
|
|
|
|
|
app.post '/admin/syncUserToSubscription', SecurityManager.requestIsAdmin, AdminController.syncUserToSubscription
|
|
|
|
|
app.post '/admin/flushProjectToTpds', SecurityManager.requestIsAdmin, AdminController.flushProjectToTpds
|
|
|
|
|
app.post '/admin/pollUsersWithDropbox', SecurityManager.requestIsAdmin, AdminController.pollUsersWithDropbox
|
|
|
|
|
app.post '/admin/updateProjectCompiler', SecurityManager.requestIsAdmin, AdminController.updateProjectCompiler
|
|
|
|
|
|
|
|
|
|
app.get '/perfTest', (req,res)->
|
|
|
|
|
res.send("hello")
|
|
|
|
@@ -190,7 +188,7 @@ module.exports = class Router
|
|
|
|
|
|
|
|
|
|
app.get '/health_check', HealthCheckController.check
|
|
|
|
|
|
|
|
|
|
app.get "/status/compiler/:Project_id", SecutiryManager.requestCanAccessProject, (req, res) ->
|
|
|
|
|
app.get "/status/compiler/:Project_id", SecurityManager.requestCanAccessProject, (req, res) ->
|
|
|
|
|
sendRes = _.once (statusCode, message)->
|
|
|
|
|
res.writeHead statusCode
|
|
|
|
|
res.end message
|
|
|
|
|