Initial commit

This commit is contained in:
Jason Dove
2021-02-08 21:13:53 -06:00
commit 4d52e115b5
493 changed files with 31399 additions and 0 deletions
@@ -0,0 +1,17 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using ErsatzTV.Core.Plex;
using LanguageExt;
namespace ErsatzTV.Core.Interfaces.Plex
{
public interface IPlexSecretStore
{
public Task<string> GetClientIdentifier();
public Task<List<PlexUserAuthToken>> GetUserAuthTokens();
public Task<Unit> UpsertUserAuthToken(PlexUserAuthToken userAuthToken);
public Task<List<PlexServerAuthToken>> GetServerAuthTokens();
public Task<Option<PlexServerAuthToken>> GetServerAuthToken(string clientIdentifier);
public Task<Unit> UpsertServerAuthToken(PlexServerAuthToken serverAuthToken);
}
}
@@ -0,0 +1,15 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using ErsatzTV.Core.Domain;
using ErsatzTV.Core.Plex;
using LanguageExt;
namespace ErsatzTV.Core.Interfaces.Plex
{
public interface IPlexServerApiClient
{
Task<Either<BaseError, List<PlexMediaSourceLibrary>>> GetLibraries(
PlexMediaSourceConnection connection,
PlexServerAuthToken token);
}
}
@@ -0,0 +1,15 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using ErsatzTV.Core.Domain;
using ErsatzTV.Core.Plex;
using LanguageExt;
namespace ErsatzTV.Core.Interfaces.Plex
{
public interface IPlexTvApiClient
{
Task<Either<BaseError, PlexAuthPin>> StartPinFlow();
Task<bool> TryCompletePinFlow(PlexAuthPin authPin);
Task<Either<BaseError, List<PlexMediaSource>>> GetServers();
}
}