pstream is dead; long live pstream taciturnaxolotl.github.io/pstream-ng/
at main 202 lines 4.2 kB view raw
1export interface TraktUser { 2 username: string; 3 name?: string; 4 private: boolean; 5 vip: boolean; 6 joined_at: string; 7 ids: { slug: string }; 8 images?: { 9 avatar: { 10 full: string; 11 }; 12 }; 13} 14 15export interface TraktImages { 16 poster?: { 17 full: string; 18 medium: string; 19 thumb: string; 20 }; 21 fanart?: { 22 full: string; 23 medium: string; 24 thumb: string; 25 }; 26} 27 28export interface TraktHistoryItem { 29 id: number; 30 watched_at: string; 31 action: string; 32 type: "movie" | "episode"; 33 movie?: { 34 title: string; 35 year: number; 36 ids: { trakt: number; tmdb: number }; 37 }; 38 episode?: { 39 season: number; 40 number: number; 41 title: string; 42 ids: { trakt: number; tmdb?: number }; 43 }; 44 show?: { 45 title: string; 46 year: number; 47 ids: { trakt: number; tmdb: number }; 48 }; 49} 50 51export interface TraktWatchedItem { 52 movie?: { 53 title: string; 54 year: number; 55 ids: { trakt: number; slug: string; imdb: string; tmdb: number }; 56 runtime?: number; 57 images?: TraktImages; 58 }; 59 show?: { 60 title: string; 61 year: number; 62 ids: { trakt: number; slug: string; imdb: string; tmdb: number }; 63 runtime?: number; 64 images?: TraktImages; 65 }; 66 plays: number; 67 last_watched_at: string; 68 last_updated_at?: string; 69 seasons?: { 70 number: number; 71 episodes: { 72 number: number; 73 plays: number; 74 last_watched_at: string; 75 }[]; 76 }[]; 77} 78 79export interface TraktWatchlistItem { 80 movie?: { 81 title: string; 82 year: number; 83 ids: { trakt: number; slug: string; imdb: string; tmdb: number }; 84 images?: TraktImages; 85 }; 86 show?: { 87 title: string; 88 year: number; 89 ids: { trakt: number; slug: string; imdb: string; tmdb: number }; 90 images?: TraktImages; 91 }; 92 listed_at: string; 93 id: number; 94} 95 96export interface TraktPlaybackItem { 97 progress: number; 98 paused_at: string; 99 id: number; 100 type: "movie" | "episode"; 101 movie?: { 102 title: string; 103 year: number; 104 ids: { trakt: number; slug: string; imdb: string; tmdb: number }; 105 runtime?: number; 106 images?: TraktImages; 107 }; 108 episode?: { 109 season: number; 110 number: number; 111 title: string; 112 ids: { trakt: number; tvdb?: number; imdb?: string; tmdb?: number }; 113 runtime?: number; 114 images?: TraktImages; 115 }; 116 show?: { 117 title: string; 118 year: number; 119 ids: { 120 trakt: number; 121 slug: string; 122 tvdb?: number; 123 imdb: string; 124 tmdb: number; 125 }; 126 images?: TraktImages; 127 }; 128} 129 130export interface TraktScrobbleResponse { 131 id: number; 132 action: "start" | "pause" | "scrobble" | "conflict"; 133 progress: number; 134 movie?: { 135 title: string; 136 year: number; 137 ids: { trakt: number; slug: string; imdb: string; tmdb: number }; 138 }; 139 episode?: { 140 season: number; 141 number: number; 142 title: string; 143 ids: { trakt: number; tvdb?: number; imdb?: string; tmdb?: number }; 144 }; 145 show?: { 146 title: string; 147 year: number; 148 ids: { 149 trakt: number; 150 slug: string; 151 tvdb?: number; 152 imdb: string; 153 tmdb: number; 154 }; 155 }; 156} 157 158export interface TraktContentData { 159 type: "movie" | "episode" | "show"; 160 imdbId?: string; 161 tmdbId?: string; 162 title: string; 163 year?: number; 164 season?: number; 165 episode?: number; 166 showTitle?: string; 167 showYear?: number; 168 showImdbId?: string; 169 showTmdbId?: string; 170} 171 172export interface TraktList { 173 name: string; 174 ids: { trakt: number; slug: string | null }; 175 item_count: number; 176} 177 178export interface TraktListItem { 179 type: "movie" | "show" | "season" | "episode"; 180 movie?: { title: string; year: number; ids: { tmdb: number } }; 181 show?: { title: string; year: number; ids: { tmdb: number } }; 182} 183 184export interface TraktHistoryRemovePayload { 185 movies?: Array<{ 186 ids: { trakt?: number; slug?: string; imdb?: string; tmdb?: number }; 187 }>; 188 shows?: Array<{ 189 ids: { 190 trakt?: number; 191 slug?: string; 192 tvdb?: number; 193 imdb?: string; 194 tmdb?: number; 195 }; 196 seasons?: Array<{ number: number; episodes?: Array<{ number: number }> }>; 197 }>; 198 episodes?: Array<{ 199 ids: { trakt?: number; tvdb?: number; imdb?: string; tmdb?: number }; 200 }>; 201 ids?: number[]; 202}