tesses-cms/Tesses.CMS/MockContentProvier.cs

149 lines
5.5 KiB
C#

using System;
using System.Collections.Generic;
namespace Tesses.CMS
{
public class MockProvider : IContentProvider
{
List<Movie> movies=new List<Movie>();
UserAccount account2=new UserAccount();
public MockProvider()
{
Movie movie=new Movie(){Id=1,ProperName="Big Buck Bunny",Name="BigBuckBunny",UserId=1,CreationTime=new System.DateTime(2018,7,24,14,0,0), Description="Blenders Big Buck Bunny" };
movie.LastUpdated = movie.CreationTime;
movies.Add(movie);
account2.IsAdmin=true;
account2.Email = "johndoe@example.com";
account2.ProperName = "John Doe";
account2.Salt = "Jieaifnaienaifeniaienaif";
account2.PasswordHash = "0v4LGsBWyB6LMEuFDzU+H9Iy4Z5T4nyt96FBJ+YXHz0=";
account2.Username = "johndoe";
account2.Id = 2;
UserAccount account1=new UserAccount();
account1.Email="blender@example.com";
account1.PasswordHash="";
account1.ProperName = "Blender Studios";
account1.Username = "Blender";
account1.Salt ="";
account1.Id = 1;
Users.Add(account1);
Users.Add(account2);
}
List<UserAccount> Users =new List<UserAccount>();
public Movie CreateMovie(string user, string movie,string properName, string description)
{
Movie _movie = new Movie();
_movie.ProperName = properName;
_movie.Name = movie;
_movie.Id = movies.Count + 1;
_movie.UserId = 2;
_movie.Description = description;
_movie.CreationTime = DateTime.Now;
_movie.LastUpdated = _movie.CreationTime;
movies.Add(_movie);
return _movie;
}
public Movie GetMovie(string user, string movie)
{
if(user == "Blender" && movie=="BigBuckBunny")
{
return movies[0];
}
foreach(var item in movies)
{
if(item.Name == movie)
{
if(Users[(int)(item.UserId-1)].Username == user)
{
return item;
}
}
}
return null;
}
public UserAccount GetUserAccount(string user)
{
foreach(var _user in Users)
{
if(_user.Username == user) return _user;
}
return null;
}
public IEnumerable<Movie> GetMovies(string user)
{
foreach(var movie in movies)
{
if(Users[(int)(movie.UserId-1)].Username == user)
{
yield return movie;
}
}
}
public IEnumerable<UserAccount> GetUsers()
{
return Users;
}
public void UpdateMovie(Movie movie)
{
throw new NotImplementedException();
}
public UserAccount GetFirstUser()
{
return Users[0];
}
public IEnumerable<Movie> GetMovies(long user)
{
foreach(var movie in movies)
{
if(movie.UserId == user)
{
yield return movie;
}
}
}
public MovieContentMetaData GetMovieContentMetaData(CMSConfiguration configuration, string user, string movie)
{
MovieContentMetaData metaData=new MovieContentMetaData();
metaData.DownloadStream = $"{configuration.Root.TrimEnd('/')}/content/{user}/movie/{movie}/{movie}.mp4";
metaData.ThumbnailUrl = $"{configuration.Root.TrimEnd('/')}/content/{user}/movie/{movie}/thumbnail.jpg";;
metaData.PosterUrl = $"{configuration.Root.TrimEnd('/')}/content/{user}/movie/{movie}/poster.jpg";
metaData.BrowserStream = $"{configuration.Root.TrimEnd('/')}/content/{user}/movie/{movie}/browser.mp4";
metaData.MovieTorrentUrl = $"{configuration.Root.TrimEnd('/')}/content/{user}/movie/{movie}/{movie}.torrent";
metaData.MovieWithExtrasTorrentUrl = $"{configuration.Root.TrimEnd('/')}/content/{user}/movie/{movie}/{movie}_withextras.torrent";
if(user == "Blender" && movie == "BigBuckBunny")
{
metaData.ThumbnailUrl = "https://imgs.search.brave.com/3euIrrvtlxdwORlondpP-QTiWhC1_ARU5VlvgmkEnao/rs:fit:500:0:0/g:ce/aHR0cHM6Ly9tLm1l/ZGlhLWFtYXpvbi5j/b20vaW1hZ2VzL00v/TVY1Qk5qUmpZalJo/Tm1RdE5XRTBZUzAw/TldJd0xXRmhZalV0/TVRrelpUVXdZVEU0/TVRCaVhrRXlYa0Zx/Y0dkZVFYVnlOakEz/T1RJNU1qQUAuanBn";
metaData.BrowserStream= "https://download.blender.org/peach/bigbuckbunny_movies/BigBuckBunny_320x180.mp4";
metaData.DownloadStream = "https://download.blender.org/peach/bigbuckbunny_movies/BigBuckBunny_320x180.mp4";
metaData.PosterUrl = "https://imgs.search.brave.com/3euIrrvtlxdwORlondpP-QTiWhC1_ARU5VlvgmkEnao/rs:fit:500:0:0/g:ce/aHR0cHM6Ly9tLm1l/ZGlhLWFtYXpvbi5j/b20vaW1hZ2VzL00v/TVY1Qk5qUmpZalJo/Tm1RdE5XRTBZUzAw/TldJd0xXRmhZalV0/TVRrelpUVXdZVEU0/TVRCaVhrRXlYa0Zx/Y0dkZVFYVnlOakEz/T1RJNU1qQUAuanBn";
}
return metaData;
}
public void CreateUser(CMSConfiguration configuration, string user,string properName, string email, string password)
{
throw new NotImplementedException();
}
}
}