import type { Generated, Insertable, Selectable, Updateable, } from 'kysely' export interface Database { videos: VideosTable reports: ReportsTable files: FilesTable } export interface VideosTable { uuid: Generated id: string title: string description: string thumbnail: string source: string published: string archived: string channel: string channelId: string channelVerified: boolean channelAvatar: string playlist?: string | null disabled: boolean hasBeenReported: boolean, deletion_stage: 'pending_delete' | 'soft_delete' | 'cold_storage' | 'deleted' | null } export type Video = Selectable export type NewVideo = Insertable export type UpdateVideo = Updateable export interface ReportsTable { uuid: Generated target: string title: string details: string date: Date } export type Report = Selectable export type NewReport = Insertable export type UpdateReport = Updateable export interface FilesTable { uuid: Generated videoId: string filename: string hash: string hash_algorithm: string size_bytes: number duration_seconds: number video_codec: string audio_codec: string resolution: string fps: number } export type File = Selectable export type NewFile = Insertable