refactor docMiddleware to support operationId-only form
This commit is contained in:
parent
b96d21b744
commit
1c627fd8d2
|
@ -2,7 +2,7 @@ import * as express from 'express'
|
|||
import toInt from 'validator/lib/toInt'
|
||||
import { doJSONRequest } from '@server/helpers/requests'
|
||||
import { LiveManager } from '@server/lib/live-manager'
|
||||
import { docMiddleware } from '@server/middlewares/doc'
|
||||
import { openapiOperationDoc } from '@server/middlewares/doc'
|
||||
import { getServerActor } from '@server/models/application/application'
|
||||
import { MVideoAccountLight } from '@server/types/models'
|
||||
import { VideosCommonQuery } from '../../../../shared'
|
||||
|
@ -84,7 +84,7 @@ videosRouter.get('/:id/metadata/:videoFileId',
|
|||
asyncMiddleware(getVideoFileMetadata)
|
||||
)
|
||||
videosRouter.get('/:id',
|
||||
docMiddleware('https://docs.joinpeertube.org/api-rest-reference.html#operation/getVideo'),
|
||||
openapiOperationDoc({ operationId: 'getVideo' }),
|
||||
optionalAuthenticate,
|
||||
asyncMiddleware(videosCustomGetValidator('only-video-with-rights')),
|
||||
asyncMiddleware(checkVideoFollowConstraints),
|
||||
|
@ -96,7 +96,7 @@ videosRouter.post('/:id/views',
|
|||
)
|
||||
|
||||
videosRouter.delete('/:id',
|
||||
docMiddleware('https://docs.joinpeertube.org/api-rest-reference.html#operation/delVideo'),
|
||||
openapiOperationDoc({ operationId: 'delVideo' }),
|
||||
authenticate,
|
||||
asyncMiddleware(videosRemoveValidator),
|
||||
asyncRetryTransactionMiddleware(removeVideo)
|
||||
|
|
|
@ -20,7 +20,7 @@ import { autoBlacklistVideoIfNeeded } from '../../../lib/video-blacklist'
|
|||
import { asyncMiddleware, asyncRetryTransactionMiddleware, authenticate, videosUpdateValidator } from '../../../middlewares'
|
||||
import { ScheduleVideoUpdateModel } from '../../../models/video/schedule-video-update'
|
||||
import { VideoModel } from '../../../models/video/video'
|
||||
import { docMiddleware } from '@server/middlewares/doc'
|
||||
import { openapiOperationDoc } from '@server/middlewares/doc'
|
||||
|
||||
const lTags = loggerTagsFactory('api', 'video')
|
||||
const auditLogger = auditLoggerFactory('videos')
|
||||
|
@ -36,7 +36,7 @@ const reqVideoFileUpdate = createReqFiles(
|
|||
)
|
||||
|
||||
updateRouter.put('/:id',
|
||||
docMiddleware('https://docs.joinpeertube.org/api-rest-reference.html#operation/putVideo'),
|
||||
openapiOperationDoc({ operationId: 'putVideo' }),
|
||||
authenticate,
|
||||
reqVideoFileUpdate,
|
||||
asyncMiddleware(videosUpdateValidator),
|
||||
|
|
|
@ -6,7 +6,7 @@ import { createTorrentAndSetInfoHash } from '@server/helpers/webtorrent'
|
|||
import { getLocalVideoActivityPubUrl } from '@server/lib/activitypub/url'
|
||||
import { addOptimizeOrMergeAudioJob, buildLocalVideoFromReq, buildVideoThumbnailsFromReq, setVideoTags } from '@server/lib/video'
|
||||
import { generateVideoFilename, getVideoFilePath } from '@server/lib/video-paths'
|
||||
import { docMiddleware } from '@server/middlewares/doc'
|
||||
import { openapiOperationDoc } from '@server/middlewares/doc'
|
||||
import { MVideo, MVideoFile, MVideoFullLight } from '@server/types/models'
|
||||
import { uploadx } from '@uploadx/core'
|
||||
import { VideoCreate, VideoState } from '../../../../shared'
|
||||
|
@ -61,7 +61,7 @@ const reqVideoFileAddResumable = createReqFiles(
|
|||
)
|
||||
|
||||
uploadRouter.post('/upload',
|
||||
docMiddleware('https://docs.joinpeertube.org/api-rest-reference.html#operation/uploadLegacy'),
|
||||
openapiOperationDoc({ operationId: 'uploadLegacy' }),
|
||||
authenticate,
|
||||
reqVideoFileAdd,
|
||||
asyncMiddleware(videosAddLegacyValidator),
|
||||
|
@ -69,7 +69,7 @@ uploadRouter.post('/upload',
|
|||
)
|
||||
|
||||
uploadRouter.post('/upload-resumable',
|
||||
docMiddleware('https://docs.joinpeertube.org/api-rest-reference.html#operation/uploadResumableInit'),
|
||||
openapiOperationDoc({ operationId: 'uploadResumableInit' }),
|
||||
authenticate,
|
||||
reqVideoFileAddResumable,
|
||||
asyncMiddleware(videosAddResumableInitValidator),
|
||||
|
@ -82,7 +82,7 @@ uploadRouter.delete('/upload-resumable',
|
|||
)
|
||||
|
||||
uploadRouter.put('/upload-resumable',
|
||||
docMiddleware('https://docs.joinpeertube.org/api-rest-reference.html#operation/uploadResumable'),
|
||||
openapiOperationDoc({ operationId: 'uploadResumable' }),
|
||||
authenticate,
|
||||
uploadxMiddleware, // uploadx doesn't use call next() before the file upload completes
|
||||
asyncMiddleware(videosAddResumableValidator),
|
||||
|
|
|
@ -1,13 +1,16 @@
|
|||
import * as express from 'express'
|
||||
|
||||
function docMiddleware (docUrl: string) {
|
||||
function openapiOperationDoc (options: {
|
||||
url?: string
|
||||
operationId?: string
|
||||
}) {
|
||||
return (req: express.Request, res: express.Response, next: express.NextFunction) => {
|
||||
res.locals.docUrl = docUrl
|
||||
res.locals.docUrl = options.url || 'https://docs.joinpeertube.org/api-rest-reference.html#operation/' + options.operationId
|
||||
|
||||
if (next) return next()
|
||||
}
|
||||
}
|
||||
|
||||
export {
|
||||
docMiddleware
|
||||
openapiOperationDoc
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue