242 lines
8.1 KiB
C#
242 lines
8.1 KiB
C#
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace Tesses.CMS
|
|
{
|
|
public interface IContentProvider
|
|
{
|
|
UserAccount GetFirstUser();
|
|
IEnumerable<UserAccount> GetUsers();
|
|
IEnumerable<Movie> GetMovies(string user);
|
|
|
|
IEnumerable<Movie> GetMovies(long user);
|
|
IEnumerable<Album> GetAlbums(string user);
|
|
IEnumerable<Album> GetAlbums(long user);
|
|
UserAccount GetUserAccount(string user);
|
|
Movie CreateMovie(string user,string movie,string properName,string description);
|
|
|
|
Movie CreateMovie(long user,string movie,string properName,string description);
|
|
Movie GetMovie(string user,string movie);
|
|
|
|
void UpdateMovie(Movie movie);
|
|
|
|
void CreateUser(CMSConfiguration configuration,string user,string properName,string email,string password);
|
|
Album CreateAlbum(string user, string album, string properName,string description);
|
|
|
|
Album CreateAlbum(long user, string album, string properName,string description);
|
|
|
|
void UpdateUser(UserAccount account);
|
|
UserAccount GetUserById(long account);
|
|
|
|
void CreateSession(string session,long account);
|
|
void ChangeSession(string session,long account);
|
|
void DeleteSession(string session);
|
|
|
|
long? GetSession(string session);
|
|
bool ContainsSession(string cookie);
|
|
|
|
|
|
void CreateVerificationCode(string code,long account);
|
|
void DeleteVerificationCode(string code);
|
|
|
|
long? GetVerificationAccount(string code);
|
|
|
|
bool ContainsVerificationCode(string code);
|
|
IEnumerable<Show> GetShows(string user);
|
|
IEnumerable<Show> GetShows(long user);
|
|
void UpdateShow(Show show);
|
|
void UpdateEpisode(Episode episode);
|
|
void UpdateSeason(Season season);
|
|
Show CreateShow(long user, string show,string properName, string description);
|
|
Show CreateShow(string user, string show, string properName, string description);
|
|
Show GetShow(string user, string show);
|
|
Show GetShow(long user, long show);
|
|
int SeasonCount(long user,long show);
|
|
int SeasonCount(string user,string show);
|
|
|
|
Season GetSeason(string user,string show,int season);
|
|
Season GetSeason(long user, long show, int season);
|
|
|
|
Season CreateSeason(string user,string show,int season,string properName,string description);
|
|
Season CreateSeason(long user,long show,int season,string properName,string description);
|
|
|
|
|
|
int EpisodeCount(string user,string show,int season);
|
|
int EpisodeCount(long user,long show,int season);
|
|
|
|
Episode GetEpisode(string user,string show,int season,int episode);
|
|
Episode GetEpisode(long user,long show,int season,int episode);
|
|
|
|
Episode CreateEpisode(string user,string show,int season,int episode,string episodename,string properName,string description);
|
|
|
|
Episode CreateEpisode(long user,long show,int season,int episode,string episodename,string properName,string description);
|
|
|
|
|
|
Album GetAlbum(string user,string album);
|
|
Album GetAlbum(long user,string album);
|
|
void UpdateAlbum(Album album);
|
|
}
|
|
public class SeasonContentMetaData
|
|
{
|
|
[JsonProperty("season_info")]
|
|
public Season Info {get;set;}
|
|
|
|
[JsonProperty("has_poster")]
|
|
public bool HasPoster {get;set;}
|
|
[JsonProperty("poster_url")]
|
|
public string PosterUrl {get;set;}
|
|
|
|
[JsonProperty("has_thumbnail")]
|
|
public bool HasThumbnail {get;set;}
|
|
|
|
[JsonProperty("thumbnail_url")]
|
|
|
|
public string ThumbnailUrl {get;set;}
|
|
}
|
|
public class ShowContentMetaData
|
|
{
|
|
[JsonProperty("show_info")]
|
|
public Show Info {get;set;}
|
|
[JsonProperty("has_show_torrent")]
|
|
public bool HasShowTorrent{get;set;}
|
|
[JsonProperty("show_torrent_url")]
|
|
public string ShowTorrentUrl {get;set;}
|
|
[JsonProperty("has_show_with_extras_torrent")]
|
|
public bool HasShowWithExtrasTorrent{get;set;}
|
|
|
|
[JsonProperty("show_with_extras_torrent_url")]
|
|
public string ShowWithExtrasTorrentUrl {get;set;}
|
|
|
|
|
|
|
|
[JsonProperty("has_poster")]
|
|
public bool HasPoster {get;set;}
|
|
[JsonProperty("poster_url")]
|
|
public string PosterUrl {get;set;}
|
|
|
|
[JsonProperty("has_thumbnail")]
|
|
public bool HasThumbnail {get;set;}
|
|
|
|
[JsonProperty("thumbnail_url")]
|
|
|
|
public string ThumbnailUrl {get;set;}
|
|
[JsonProperty("extra_streams")]
|
|
public List<ExtraDataStream> ExtraStreams {get;set;}=new List<ExtraDataStream>();
|
|
}
|
|
|
|
public class AlbumContentMetaData
|
|
{
|
|
[JsonProperty("album_info")]
|
|
public Album Info {get;set;}
|
|
|
|
[JsonProperty("has_album_torrent")]
|
|
public bool HasAlbumTorrent{get;set;}
|
|
[JsonProperty("album_torrent_url")]
|
|
public string AlbumTorrentUrl {get;set;}
|
|
[JsonProperty("has_album_with_extras_torrent")]
|
|
public bool HasAlbumWithExtrasTorrent{get;set;}
|
|
|
|
[JsonProperty("album_with_extras_torrent_url")]
|
|
public string AlbumWithExtrasTorrentUrl {get;set;}
|
|
[JsonProperty("has_poster")]
|
|
public bool HasPoster {get;set;}
|
|
[JsonProperty("poster_url")]
|
|
public string PosterUrl {get;set;}
|
|
|
|
[JsonProperty("has_thumbnail")]
|
|
public bool HasThumbnail {get;set;}
|
|
|
|
[JsonProperty("thumbnail_url")]
|
|
|
|
public string ThumbnailUrl {get;set;}
|
|
[JsonProperty("extra_streams")]
|
|
public List<ExtraDataStream> ExtraStreams {get;set;}=new List<ExtraDataStream>();
|
|
|
|
[JsonProperty("browser_streams")]
|
|
public List<Track> BrowserStreams {get;set;}=new List<Track>();
|
|
|
|
[JsonProperty("download_streams")]
|
|
public List<Track> DownloadStreams {get;set;}=new List<Track>();
|
|
}
|
|
|
|
public class Track
|
|
{
|
|
[JsonProperty("track_number")]
|
|
public int TrackNumber {get;set;}
|
|
|
|
[JsonProperty("url")]
|
|
public string Url {get;set;}
|
|
|
|
[JsonProperty("name")]
|
|
public string Name {get;set;}
|
|
}
|
|
|
|
public class MovieContentMetaData
|
|
{
|
|
[JsonProperty("movie_info")]
|
|
public Movie Info {get;set;}
|
|
[JsonProperty("has_movie_torrent")]
|
|
public bool HasMovieTorrent{get;set;}
|
|
[JsonProperty("movie_torrent_url")]
|
|
public string MovieTorrentUrl {get;set;}
|
|
[JsonProperty("has_movie_with_extras_torrent")]
|
|
public bool HasMovieWithExtrasTorrent{get;set;}
|
|
|
|
[JsonProperty("movie_with_extras_torrent_url")]
|
|
public string MovieWithExtrasTorrentUrl {get;set;}
|
|
|
|
[JsonProperty("has_browser_stream")]
|
|
public bool HasBrowserStream {get;set;}
|
|
[JsonProperty("has_download_stream")]
|
|
public bool HasDownloadStream {get;set;}
|
|
|
|
[JsonProperty("browser_stream")]
|
|
public string BrowserStream {get;set;}
|
|
|
|
[JsonProperty("download_stream")]
|
|
public string DownloadStream {get;set;}
|
|
[JsonProperty("has_poster")]
|
|
public bool HasPoster {get;set;}
|
|
[JsonProperty("poster_url")]
|
|
public string PosterUrl {get;set;}
|
|
|
|
[JsonProperty("has_thumbnail")]
|
|
public bool HasThumbnail {get;set;}
|
|
|
|
[JsonProperty("thumbnail_url")]
|
|
|
|
public string ThumbnailUrl {get;set;}
|
|
|
|
[JsonProperty("subtitle_streams")]
|
|
public List<SubtitleStream> SubtitlesStreams {get;set;}=new List<SubtitleStream>();
|
|
|
|
[JsonProperty("extra_streams")]
|
|
public List<ExtraDataStream> ExtraStreams {get;set;}=new List<ExtraDataStream>();
|
|
}
|
|
public class ExtraDataStream
|
|
{
|
|
[JsonProperty("is_dir")]
|
|
public bool IsDir {get;set;}
|
|
[JsonProperty("name")]
|
|
public string Name {get;set;}
|
|
|
|
[JsonProperty("items")]
|
|
|
|
public List<ExtraDataStream> Items {get;set;}=new List<ExtraDataStream>();
|
|
[JsonProperty("url")]
|
|
public string Url {get;set;}
|
|
}
|
|
public class SubtitleStream
|
|
{
|
|
[JsonProperty("language_code")]
|
|
public string LanguageCode {get;set;}="";
|
|
|
|
[JsonProperty("srt_url")]
|
|
|
|
public string SrtUrl {get;set;}="";
|
|
|
|
[JsonProperty("vtt_url")]
|
|
public string VttUrl {get;set;}="";
|
|
}
|
|
} |