import * as parseTorrent from 'parse-torrent'
import { join } from 'path'
import * as request from 'supertest'
-import { v4 as uuidv4 } from 'uuid'
import validator from 'validator'
import { getLowercaseExtension } from '@server/helpers/core-utils'
+import { buildUUID } from '@server/helpers/uuid'
import { HttpStatusCode } from '@shared/core-utils'
-import { VideosCommonQuery } from '@shared/models'
+import { BooleanBothQuery, VideosCommonQuery } from '@shared/models'
import { loadLanguages, VIDEO_CATEGORIES, VIDEO_LANGUAGES, VIDEO_LICENCES, VIDEO_PRIVACIES } from '../../../server/initializers/constants'
import { VideoDetails, VideoPrivacy } from '../../models/videos'
import {
.expect('Content-Type', /json/)
}
-function getVideosListWithToken (url: string, token: string, query: { nsfw?: boolean } = {}) {
+function getVideosListWithToken (url: string, token: string, query: { nsfw?: BooleanBothQuery } = {}) {
const path = '/api/v1/videos'
return request(url)
count: number,
sort?: string,
query: {
- nsfw?: boolean
+ nsfw?: BooleanBothQuery
search?: string
} = {}
) {
start: number,
count: number,
sort?: string,
- query: { nsfw?: boolean } = {}
+ query: { nsfw?: BooleanBothQuery } = {}
) {
const path = '/api/v1/video-channels/' + videoChannelName + '/videos'
})
}
-function getPlaylistVideos (
- url: string,
- accessToken: string,
- playlistId: number | string,
- start: number,
- count: number,
- query: { nsfw?: boolean } = {}
-) {
- const path = '/api/v1/video-playlists/' + playlistId + '/videos'
-
- return makeGetRequest({
- url,
- path,
- query: immutableAssign(query, {
- start,
- count
- }),
- token: accessToken,
- statusCodeExpected: HttpStatusCode.OK_200
- })
-}
-
function getVideosListPagination (url: string, start: number, count: number, sort?: string, skipCount?: boolean) {
const path = '/api/v1/videos'
const res = await uploadVideo(options.server.url, options.token || options.server.accessToken, videoAttrs)
- return { id: res.body.video.id, uuid: res.body.video.uuid }
+ return res.body.video as { id: number, uuid: string, shortUUID: string }
}
async function getLocalIdByUUID (url: string, uuid: string) {
async function uploadRandomVideo (server: ServerInfo, wait = true, additionalParams: any = {}) {
const prefixName = additionalParams.prefixName || ''
- const name = prefixName + uuidv4()
+ const name = prefixName + buildUUID()
const data = Object.assign({ name }, additionalParams)
const res = await uploadVideo(server.url, server.accessToken, data)
getLocalVideos,
completeVideoCheck,
checkVideoFilesWereRemoved,
- getPlaylistVideos,
getMyVideosWithFilter,
uploadVideoAndGetId,
getLocalIdByUUID,