-import { body, param, query, ValidationChain } from 'express-validator/check'
-import { UserRight } from '../../../../shared'
-import { logger } from '../../../helpers/logger'
-import { UserModel } from '../../../models/account/user'
-import { areValidationErrors } from '../utils'
-import { isVideoExist, isVideoImage } from '../../../helpers/custom-validators/videos'
-import { CONSTRAINTS_FIELDS } from '../../../initializers'
-import { isIdOrUUIDValid, isUUIDValid, toValueOrNull } from '../../../helpers/custom-validators/misc'
+import { body, param, query, ValidationChain } from 'express-validator'
+import { ExpressPromiseHandler } from '@server/types/express'
+import { MUserAccountId } from '@server/types/models'
+import { UserRight, VideoPlaylistCreate, VideoPlaylistUpdate } from '../../../../shared'
+import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes'
+import { VideoPlaylistPrivacy } from '../../../../shared/models/videos/playlist/video-playlist-privacy.model'
+import { VideoPlaylistType } from '../../../../shared/models/videos/playlist/video-playlist-type.model'
+import {
+ isArrayOf,
+ isIdOrUUIDValid,
+ isIdValid,
+ isUUIDValid,
+ toIntArray,
+ toIntOrNull,
+ toValueOrNull
+} from '../../../helpers/custom-validators/misc'