+function guessAdditionalAttributesFromQuery (query: VideosCommonQueryAfterSanitize): VideoFormattingJSONOptions {
+ if (!query || !query.include) return {}
+
+ return {
+ additionalAttributes: {
+ state: !!(query.include & VideoInclude.NOT_PUBLISHED_STATE),
+ waitTranscoding: !!(query.include & VideoInclude.NOT_PUBLISHED_STATE),
+ scheduledUpdate: !!(query.include & VideoInclude.NOT_PUBLISHED_STATE),
+ blacklistInfo: !!(query.include & VideoInclude.BLACKLISTED),
+ files: !!(query.include & VideoInclude.FILES),
+ blockedOwner: !!(query.include & VideoInclude.BLOCKED_OWNER)
+ }
+ }
+}
+
+function videoModelToFormattedJSON (video: MVideoFormattable, options: VideoFormattingJSONOptions = {}): Video {