public async Task <List <IPlexMovieMetadata> > GetMovieLibraryMetadataAsync(IPlexClient client, string libraryId) { // TODO - Supplying an invalid subset (all, on deck, newest, ...) results in HTTP 200 and an empty list. // TODO - Similar with sections => e.g. sectionsssss // TODO - Maybe this should be handled here with a warning or something. var mediaContainer = await GetResponseData <MediaContainer>(client, $"/library/sections/{libraryId}/all"); return(mediaContainer.Videos .Select(x => new PlexMovieMetadata { Title = x.Title, TitleSort = x.TitleSort, ViewCount = x.ViewCount, LastViewedAt = x.LastViewedAt, ThumbUri = CreateAbsoluteUri(client.BaseUrl, x.Thumb), ArtUri = CreateAbsoluteUri(client.BaseUrl, x.Art), Collections = x.Collections .Select(c => c.Name).ToList(), Filenames = x.Medias .SelectMany(m => m.Parts) .Select(p => Path.GetFileName(p.FileName)) .ToList() } as IPlexMovieMetadata) .ToList()); }
public async Task <string> GetLibraryIdAsync(IPlexClient client, string libraryName) { var mediaContainer = await GetResponseData <MediaContainer>(client, "/library/sections/all"); return(mediaContainer.Directories .Where(x => Equals(x.Title, libraryName)) .Select(x => x.Key) .FirstOrDefault()); }
public LoginController(ILogger <LoginController> logger, IPlexClient plexClient, IAuthValidator authValidator) { _logger = logger; _plexClient = plexClient; _authValidator = authValidator; _serverIdentifier = plexClient.GetPlexServerIdentifier(); }
private void SignIn() { plexApi = ServiceProvider.GetService <IPlexClient>(); var login = ConfigurationManager.AppSettings["PlexLogin"]; var password = ConfigurationManager.AppSettings["PlexPassword"]; plexUser = plexApi.SignIn(login, password).Result; }
public PlexService( IPlexClient plexClient, ILogger <PlexService> logger, ILocalStorageService localStorageService, IApiService apiService) { _plexClient = plexClient; _logger = logger; _localStorageService = localStorageService; _apiService = apiService; }
public LoginController(ILogger <LoginController> logger, IPlexClient plexClient, IAuthValidator authValidator, IConfigurationService configuration) { this._logger = logger; this._plexClient = plexClient; this._authValidator = authValidator; var id = configuration.GetConfig().ServerIdentifier; if (id == null) { var pref = configuration.GetConfig().PlexPreferencesFile; serverIdentifier = plexClient.GetLocalServerIdentifier(pref ?? "Preferences.xml"); } else { serverIdentifier = new ServerIdentifier(id); } }
public AccountController(IPlexClient plexClient) { _plexClient = plexClient; }
public PlexInfoController(IPlexClient plexClient) { _plexClient = plexClient; }
public PlexService(IAppLogger logger, IPlexClient client, IPlexRepository repository) { _logger = logger; _client = client; _repository = repository; }
public PlexService(IPlexClient plexClient, IMapper mapper) { _plexClient = plexClient; _mapper = mapper; }
public ServerController(IPlexService plexService, IPlexClient plexClient) { _plexService = plexService; _plexClient = plexClient; }