import { VideoImportModel } from '@server/models/video/video-import' import { PickWith, PickWithOpt } from '@server/typings/utils' import { MUser, MVideo, MVideoAccountLight, MVideoFormattable, MVideoTag, MVideoThumbnail, MVideoWithFile } from '@server/typings/models' type Use = PickWith // ############################################################################ export type MVideoImport = Omit export type MVideoImportVideo = MVideoImport & Use<'Video', MVideo> // ############################################################################ type VideoAssociation = MVideoTag & MVideoAccountLight & MVideoThumbnail export type MVideoImportDefault = MVideoImport & Use<'User', MUser> & Use<'Video', VideoAssociation> export type MVideoImportDefaultFiles = MVideoImport & Use<'User', MUser> & Use<'Video', VideoAssociation & MVideoWithFile> // ############################################################################ // Format for API or AP object export type MVideoImportFormattable = MVideoImport & PickWithOpt