mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-04 02:09:37 +02:00
Support short uuid for GET video/playlist
This commit is contained in:
parent
62ddc31a9e
commit
d4a8e7a65f
94 changed files with 1029 additions and 673 deletions
|
@ -2,6 +2,7 @@ import 'multer'
|
|||
import { UploadFilesForCheck } from 'express'
|
||||
import { sep } from 'path'
|
||||
import validator from 'validator'
|
||||
import { isShortUUID, shortToUUID } from '../uuid'
|
||||
|
||||
function exists (value: any) {
|
||||
return value !== undefined && value !== null
|
||||
|
@ -50,42 +51,7 @@ function isIntOrNull (value: any) {
|
|||
return value === null || validator.isInt('' + value)
|
||||
}
|
||||
|
||||
function toIntOrNull (value: string) {
|
||||
const v = toValueOrNull(value)
|
||||
|
||||
if (v === null || v === undefined) return v
|
||||
if (typeof v === 'number') return v
|
||||
|
||||
return validator.toInt('' + v)
|
||||
}
|
||||
|
||||
function toBooleanOrNull (value: any) {
|
||||
const v = toValueOrNull(value)
|
||||
|
||||
if (v === null || v === undefined) return v
|
||||
if (typeof v === 'boolean') return v
|
||||
|
||||
return validator.toBoolean('' + v)
|
||||
}
|
||||
|
||||
function toValueOrNull (value: string) {
|
||||
if (value === 'null') return null
|
||||
|
||||
return value
|
||||
}
|
||||
|
||||
function toArray (value: any) {
|
||||
if (value && isArray(value) === false) return [ value ]
|
||||
|
||||
return value
|
||||
}
|
||||
|
||||
function toIntArray (value: any) {
|
||||
if (!value) return []
|
||||
if (isArray(value) === false) return [ validator.toInt(value) ]
|
||||
|
||||
return value.map(v => validator.toInt(v))
|
||||
}
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
function isFileFieldValid (
|
||||
files: { [ fieldname: string ]: Express.Multer.File[] } | Express.Multer.File[],
|
||||
|
@ -160,6 +126,51 @@ function isFileValid (
|
|||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
function toCompleteUUID (value: string) {
|
||||
if (isShortUUID(value)) return shortToUUID(value)
|
||||
|
||||
return value
|
||||
}
|
||||
|
||||
function toIntOrNull (value: string) {
|
||||
const v = toValueOrNull(value)
|
||||
|
||||
if (v === null || v === undefined) return v
|
||||
if (typeof v === 'number') return v
|
||||
|
||||
return validator.toInt('' + v)
|
||||
}
|
||||
|
||||
function toBooleanOrNull (value: any) {
|
||||
const v = toValueOrNull(value)
|
||||
|
||||
if (v === null || v === undefined) return v
|
||||
if (typeof v === 'boolean') return v
|
||||
|
||||
return validator.toBoolean('' + v)
|
||||
}
|
||||
|
||||
function toValueOrNull (value: string) {
|
||||
if (value === 'null') return null
|
||||
|
||||
return value
|
||||
}
|
||||
|
||||
function toArray (value: any) {
|
||||
if (value && isArray(value) === false) return [ value ]
|
||||
|
||||
return value
|
||||
}
|
||||
|
||||
function toIntArray (value: any) {
|
||||
if (!value) return []
|
||||
if (isArray(value) === false) return [ validator.toInt(value) ]
|
||||
|
||||
return value.map(v => validator.toInt(v))
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
export {
|
||||
exists,
|
||||
isArrayOf,
|
||||
|
@ -169,6 +180,7 @@ export {
|
|||
isIdValid,
|
||||
isSafePath,
|
||||
isUUIDValid,
|
||||
toCompleteUUID,
|
||||
isIdOrUUIDValid,
|
||||
isDateValid,
|
||||
toValueOrNull,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue