mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-23 09:09:36 +02:00
* [web] add consistent aria-label to editing/reviewing toggle * [docstore] add endpoint for getting all docs with ranges * [history-v1] fix schema of chunkId when deleting old history chunk * [web] skip duplicate project lookup for resolving rootDocPath * [web] ignore new limits for root doc path when making debug copy * [web] allow admins to clone projects with ranges and entire history * [web] fix tests * [history-v1] re-order params for cloning project * [web] fix duplicate import of logger after merge * [project-history] re-order params for cloning project history metadata GitOrigin-RevId: 7fa35b4f90885dd453150a348d491ba0ec8de412
126 lines
2.4 KiB
JavaScript
126 lines
2.4 KiB
JavaScript
'use strict'
|
|
|
|
const express = require('express')
|
|
const router = express.Router()
|
|
const { getAuthHandlers } = require('../middleware/security')
|
|
const projectsController = require('../controllers/projects')
|
|
|
|
const {
|
|
basic: handleBasicAuth,
|
|
jwt: handleJWTAuth,
|
|
token: handleTokenAuth,
|
|
either: handleJWTOrTokenAuth,
|
|
} = getAuthHandlers()
|
|
|
|
router.post('/projects', handleBasicAuth, projectsController.initializeProject)
|
|
|
|
router.post(
|
|
'/projects/:project_id/clone',
|
|
handleBasicAuth,
|
|
projectsController.cloneProject
|
|
)
|
|
|
|
router.post(
|
|
'/projects/blob-stats',
|
|
handleBasicAuth,
|
|
projectsController.getProjectBlobsStats
|
|
)
|
|
|
|
router.post(
|
|
'/projects/:project_id/blob-stats',
|
|
handleBasicAuth,
|
|
projectsController.getBlobStats
|
|
)
|
|
|
|
router.delete(
|
|
'/projects/:project_id',
|
|
handleBasicAuth,
|
|
projectsController.deleteProject
|
|
)
|
|
|
|
router.get(
|
|
'/projects/:project_id/blobs/:hash',
|
|
handleJWTOrTokenAuth,
|
|
projectsController.getProjectBlob
|
|
)
|
|
|
|
router.put(
|
|
'/projects/:project_id/blobs/:hash',
|
|
handleJWTAuth,
|
|
projectsController.createProjectBlob
|
|
)
|
|
|
|
router.post(
|
|
'/projects/:project_id/blobs/:hash',
|
|
handleJWTAuth,
|
|
projectsController.copyProjectBlob
|
|
)
|
|
|
|
router.get(
|
|
'/projects/:project_id/latest/content',
|
|
handleJWTAuth,
|
|
projectsController.getLatestContent
|
|
)
|
|
|
|
router.get(
|
|
'/projects/:project_id/latest/hashed_content',
|
|
handleBasicAuth,
|
|
projectsController.getLatestHashedContent
|
|
)
|
|
|
|
router.get(
|
|
'/projects/:project_id/latest/history',
|
|
handleJWTAuth,
|
|
projectsController.getLatestHistory
|
|
)
|
|
|
|
router.get(
|
|
'/projects/:project_id/latest/history/raw',
|
|
handleJWTAuth,
|
|
projectsController.getLatestHistoryRaw
|
|
)
|
|
|
|
router.get(
|
|
'/projects/:project_id/latest/persistedHistory',
|
|
handleJWTAuth,
|
|
projectsController.getLatestPersistedHistory
|
|
)
|
|
|
|
router.get(
|
|
'/projects/:project_id/versions/:version/history',
|
|
handleJWTAuth,
|
|
projectsController.getHistory
|
|
)
|
|
|
|
router.get(
|
|
'/projects/:project_id/versions/:version/content',
|
|
handleJWTAuth,
|
|
projectsController.getContentAtVersion
|
|
)
|
|
|
|
router.get(
|
|
'/projects/:project_id/timestamp/:timestamp/history',
|
|
handleJWTAuth,
|
|
projectsController.getHistoryBefore
|
|
)
|
|
|
|
router.get(
|
|
'/projects/:project_id/version/:version/zip',
|
|
handleTokenAuth,
|
|
projectsController.getZip
|
|
)
|
|
|
|
router.post(
|
|
'/projects/:project_id/version/:version/zip',
|
|
handleBasicAuth,
|
|
projectsController.createZip
|
|
)
|
|
|
|
router.get(
|
|
'/projects/:project_id/changes',
|
|
handleBasicAuth,
|
|
projectsController.getChanges
|
|
)
|
|
|
|
module.exports = router
|