+ support:
+ type: string
+ channel:
+ $ref: '#/components/schemas/VideoChannel'
+ account:
+ $ref: '#/components/schemas/Account'
+ tags:
+ type: array
+ items:
+ type: string
+ files:
+ type: array
+ items:
+ $ref: '#/components/schemas/VideoFile'
+ commentsEnabled:
+ type: boolean
+ downloadEnabled:
+ type: boolean
+ trackerUrls:
+ type: array
+ items:
+ type: string
+ streamingPlaylists:
+ type: array
+ items:
+ $ref: '#/components/schemas/VideoStreamingPlaylists'
+ VideoImportStateConstant:
+ properties:
+ id:
+ type: integer
+ enum:
+ - 1
+ - 2
+ - 3
+ description: 'The video import state (Pending = 1, Success = 2, Failed = 3)'
+ label:
+ type: string
+ VideoImport:
+ properties:
+ id:
+ type: number
+ targetUrl:
+ type: string
+ magnetUri:
+ type: string
+ torrentName:
+ type: string
+ state:
+ type: object
+ properties:
+ id:
+ $ref: '#/components/schemas/VideoImportStateConstant'
+ label:
+ type: string
+ error:
+ type: string
+ createdAt:
+ type: string
+ updatedAt:
+ type: string
+ video:
+ $ref: '#/components/schemas/Video'
+ VideoAbuse:
+ properties:
+ id:
+ type: number
+ reason:
+ type: string
+ reporterAccount:
+ $ref: '#/components/schemas/Account'
+ video:
+ type: object
+ properties:
+ id:
+ type: number
+ name:
+ type: string
+ uuid:
+ type: string
+ url:
+ type: string
+ createdAt:
+ type: string
+ VideoBlacklist:
+ properties:
+ id:
+ type: number
+ videoId:
+ type: number
+ createdAt:
+ type: string
+ updatedAt:
+ type: string
+ name:
+ type: string
+ uuid:
+ type: string
+ description:
+ type: string
+ duration:
+ type: number
+ views:
+ type: number
+ likes:
+ type: number
+ dislikes:
+ type: number
+ nsfw:
+ type: boolean
+ VideoChannel:
+ properties:
+ displayName:
+ type: string
+ description:
+ type: string
+ isLocal:
+ type: boolean
+ ownerAccount:
+ type: object
+ properties:
+ id:
+ type: number
+ uuid:
+ type: string
+ VideoComment:
+ properties:
+ id:
+ type: number
+ url:
+ type: string
+ text:
+ type: string
+ threadId:
+ type: number
+ inReplyToCommentId:
+ type: number
+ videoId:
+ type: number
+ createdAt:
+ type: string
+ updatedAt:
+ type: string
+ totalReplies:
+ type: number
+ account:
+ $ref: '#/components/schemas/Account'
+ VideoCommentThreadTree:
+ properties:
+ comment:
+ $ref: '#/components/schemas/VideoComment'
+ children:
+ type: array
+ items:
+ $ref: '#/components/schemas/VideoCommentThreadTree'
+ VideoCaption:
+ properties:
+ language:
+ $ref: '#/components/schemas/VideoConstantString'
+ captionPath:
+ type: string
+ Avatar:
+ properties:
+ path:
+ type: string
+ createdAt:
+ type: string
+ updatedAt:
+ type: string
+ Actor:
+ properties:
+ id:
+ type: number
+ uuid:
+ type: string
+ url:
+ type: string
+ name:
+ type: string
+ host:
+ type: string
+ followingCount:
+ type: number
+ followersCount:
+ type: number
+ createdAt:
+ type: string
+ updatedAt:
+ type: string
+ avatar:
+ $ref: '#/components/schemas/Avatar'
+ Account:
+ allOf:
+ - $ref: '#/components/schemas/Actor'
+ - properties:
+ displayName:
+ type: string
+ User:
+ properties:
+ id:
+ type: number
+ username:
+ type: string
+ email:
+ type: string
+ displayNSFW:
+ type: boolean
+ autoPlayVideo:
+ type: boolean
+ role:
+ type: integer
+ enum:
+ - 0
+ - 1
+ - 2
+ description: 'The user role (Admin = 0, Moderator = 1, User = 2)'
+ roleLabel:
+ type: string
+ enum:
+ - User
+ - Moderator
+ - Administrator
+ videoQuota:
+ type: number
+ videoQuotaDaily:
+ type: number
+ createdAt:
+ type: string
+ account:
+ $ref: '#/components/schemas/Account'
+ videoChannels:
+ type: array
+ items:
+ $ref: '#/components/schemas/VideoChannel'
+ UserWatchingVideo:
+ properties:
+ currentTime:
+ type: number
+ ServerConfig:
+ properties:
+ signup:
+ type: object
+ properties:
+ allowed:
+ type: boolean
+ transcoding:
+ type: object
+ properties:
+ enabledResolutions:
+ type: array
+ items:
+ type: number
+ avatar:
+ type: object
+ properties:
+ file:
+ type: object
+ properties:
+ size:
+ type: object
+ properties:
+ max:
+ type: number
+ extensions:
+ type: array
+ items:
+ type: string
+ video:
+ type: object
+ properties:
+ file:
+ type: object
+ properties:
+ extensions:
+ type: array
+ items:
+ type: string
+ Follow:
+ properties:
+ id:
+ type: number
+ follower:
+ $ref: '#/components/schemas/Actor'
+ following:
+ $ref: '#/components/schemas/Actor'
+ score:
+ type: number
+ state:
+ type: string
+ enum:
+ - pending
+ - accepted
+ createdAt:
+ type: string
+ updatedAt:
+ type: string
+ Job:
+ properties:
+ id:
+ type: number
+ state:
+ type: string
+ enum:
+ - pending
+ - processing
+ - error
+ - success
+ category:
+ type: string
+ enum:
+ - transcoding
+ - activitypub-http
+ handlerName:
+ type: string
+ handlerInputData:
+ type: string
+ createdAt:
+ type: string
+ updatedAt:
+ type: string
+ AddUserResponse:
+ properties:
+ id:
+ type: number
+ uuid:
+ type: string
+ VideoUploadResponse:
+ properties:
+ video:
+ type: object
+ properties:
+ id:
+ type: number
+ uuid:
+ type: string
+ CommentThreadResponse:
+ properties:
+ total:
+ type: number
+ data:
+ type: array
+ items:
+ $ref: '#/components/schemas/VideoComment'
+ CommentThreadPostResponse:
+ properties:
+ comment:
+ $ref: '#/components/schemas/VideoComment'
+ VideoListResponse:
+ properties:
+ total:
+ type: number
+ data:
+ type: array
+ items:
+ $ref: '#/components/schemas/Video'
+ AddUser:
+ properties:
+ username:
+ type: string
+ description: 'The user username '
+ password:
+ type: string
+ description: 'The user password '
+ email:
+ type: string
+ description: 'The user email '
+ videoQuota:
+ type: string
+ description: 'The user videoQuota '
+ videoQuotaDaily:
+ type: string
+ description: 'The user daily video quota '
+ role:
+ type: integer
+ enum:
+ - 0
+ - 1
+ - 2
+ description: 'The user role (Admin = 0, Moderator = 1, User = 2)'
+ required:
+ - username
+ - password
+ - email
+ - videoQuota
+ - videoQuotaDaily
+ - role
+ UpdateUser:
+ properties:
+ id:
+ type: string
+ description: 'The user id '
+ email:
+ type: string
+ description: 'The updated email of the user '
+ videoQuota:
+ type: string
+ description: 'The updated videoQuota of the user '
+ videoQuotaDaily:
+ type: string
+ description: 'The updated daily video quota of the user '
+ role:
+ type: integer
+ enum:
+ - 0
+ - 1
+ - 2
+ description: 'The user role (Admin = 0, Moderator = 1, User = 2)'
+ required:
+ - id
+ - email
+ - videoQuota
+ - videoQuotaDaily
+ - role
+ UpdateMe:
+ properties:
+ password:
+ type: string
+ description: 'Your new password '
+ email:
+ type: string
+ description: 'Your new email '
+ displayNSFW:
+ type: string
+ description: 'Your new displayNSFW '
+ autoPlayVideo:
+ type: string
+ description: 'Your new autoPlayVideo '
+ required:
+ - password
+ - email
+ - displayNSFW
+ - autoPlayVideo
+ GetMeVideoRating:
+ properties:
+ id:
+ type: string
+ description: 'Id of the video '
+ rating:
+ type: number
+ description: 'Rating of the video '
+ required:
+ - id
+ - rating
+ VideoRating:
+ properties:
+ video:
+ $ref: '#/components/schemas/Video'
+ rating:
+ type: number
+ description: 'Rating of the video'
+ required:
+ - video
+ - rating
+ RegisterUser:
+ properties:
+ username:
+ type: string
+ description: 'The username of the user '
+ password:
+ type: string
+ description: 'The password of the user '
+ email:
+ type: string
+ description: 'The email of the user '
+ displayName:
+ type: string
+ description: 'The user display name'
+ channel:
+ type: object
+ properties:
+ name:
+ type: string
+ description: 'The default channel name'
+ displayName:
+ type: string
+ description: 'The default channel display name'