Browse Source

code cleanup (#743)

* update tools

* run code cleanup

* update dependencies
pull/744/head
Jason Dove 3 years ago committed by GitHub
parent
commit
c02b83d0d6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      .config/dotnet-tools.json
  2. 2
      ErsatzTV.Application/Artists/ArtistViewModel.cs
  3. 2
      ErsatzTV.Application/Artists/Mapper.cs
  4. 2
      ErsatzTV.Application/Artists/Queries/GetAllArtists.cs
  5. 2
      ErsatzTV.Application/Artists/Queries/GetAllArtistsHandler.cs
  6. 2
      ErsatzTV.Application/Artists/Queries/GetArtistById.cs
  7. 2
      ErsatzTV.Application/Artists/Queries/GetArtistByIdHandler.cs
  8. 2
      ErsatzTV.Application/Channels/ChannelViewModel.cs
  9. 2
      ErsatzTV.Application/Channels/Commands/CreateChannel.cs
  10. 8
      ErsatzTV.Application/Channels/Commands/CreateChannelHandler.cs
  11. 2
      ErsatzTV.Application/Channels/Commands/CreateChannelResult.cs
  12. 2
      ErsatzTV.Application/Channels/Commands/DeleteChannel.cs
  13. 2
      ErsatzTV.Application/Channels/Commands/DeleteChannelHandler.cs
  14. 2
      ErsatzTV.Application/Channels/Commands/UpdateChannel.cs
  15. 6
      ErsatzTV.Application/Channels/Commands/UpdateChannelHandler.cs
  16. 2
      ErsatzTV.Application/Channels/Mapper.cs
  17. 2
      ErsatzTV.Application/Channels/Queries/GetAllChannels.cs
  18. 2
      ErsatzTV.Application/Channels/Queries/GetAllChannelsForApiHandler.cs
  19. 2
      ErsatzTV.Application/Channels/Queries/GetAllChannelsHandler.cs
  20. 2
      ErsatzTV.Application/Channels/Queries/GetChannelById.cs
  21. 2
      ErsatzTV.Application/Channels/Queries/GetChannelByIdHandler.cs
  22. 2
      ErsatzTV.Application/Channels/Queries/GetChannelByNumberHandler.cs
  23. 2
      ErsatzTV.Application/Channels/Queries/GetChannelGuide.cs
  24. 2
      ErsatzTV.Application/Channels/Queries/GetChannelGuideHandler.cs
  25. 2
      ErsatzTV.Application/Channels/Queries/GetChannelLineup.cs
  26. 2
      ErsatzTV.Application/Channels/Queries/GetChannelLineupHandler.cs
  27. 2
      ErsatzTV.Application/Channels/Queries/GetChannelPlaylist.cs
  28. 2
      ErsatzTV.Application/Channels/Queries/GetChannelPlaylistHandler.cs
  29. 2
      ErsatzTV.Application/Configuration/Commands/SaveConfigElementByKey.cs
  30. 4
      ErsatzTV.Application/Configuration/Commands/SaveConfigElementByKeyHandler.cs
  31. 2
      ErsatzTV.Application/Configuration/Commands/UpdateLibraryRefreshInterval.cs
  32. 9
      ErsatzTV.Application/Configuration/Commands/UpdateLibraryRefreshIntervalHandler.cs
  33. 2
      ErsatzTV.Application/Configuration/Commands/UpdatePlayoutDaysToBuild.cs
  34. 2
      ErsatzTV.Application/Configuration/Commands/UpdatePlayoutDaysToBuildHandler.cs
  35. 2
      ErsatzTV.Application/Configuration/ConfigElementViewModel.cs
  36. 2
      ErsatzTV.Application/Configuration/Mapper.cs
  37. 2
      ErsatzTV.Application/Configuration/Queries/GetConfigElementByKey.cs
  38. 2
      ErsatzTV.Application/Configuration/Queries/GetConfigElementByKeyHandler.cs
  39. 2
      ErsatzTV.Application/Configuration/Queries/GetLibraryRefreshInterval.cs
  40. 2
      ErsatzTV.Application/Configuration/Queries/GetLibraryRefreshIntervalHandler.cs
  41. 2
      ErsatzTV.Application/Configuration/Queries/GetPlayoutDaysToBuild.cs
  42. 2
      ErsatzTV.Application/Configuration/Queries/GetPlayoutDaysToBuildHandler.cs
  43. 2
      ErsatzTV.Application/Emby/Commands/DisconnectEmby.cs
  44. 4
      ErsatzTV.Application/Emby/Commands/DisconnectEmbyHandler.cs
  45. 2
      ErsatzTV.Application/Emby/Commands/SaveEmbySecrets.cs
  46. 4
      ErsatzTV.Application/Emby/Commands/SaveEmbySecretsHandler.cs
  47. 4
      ErsatzTV.Application/Emby/Commands/SynchronizeEmbyLibraries.cs
  48. 4
      ErsatzTV.Application/Emby/Commands/SynchronizeEmbyLibrariesHandler.cs
  49. 2
      ErsatzTV.Application/Emby/Commands/SynchronizeEmbyLibraryById.cs
  50. 2
      ErsatzTV.Application/Emby/Commands/SynchronizeEmbyLibraryByIdHandler.cs
  51. 2
      ErsatzTV.Application/Emby/Commands/SynchronizeEmbyMediaSources.cs
  52. 2
      ErsatzTV.Application/Emby/Commands/SynchronizeEmbyMediaSourcesHandler.cs
  53. 4
      ErsatzTV.Application/Emby/Commands/UpdateEmbyLibraryPreferences.cs
  54. 4
      ErsatzTV.Application/Emby/Commands/UpdateEmbyLibraryPreferencesHandler.cs
  55. 4
      ErsatzTV.Application/Emby/Commands/UpdateEmbyPathReplacements.cs
  56. 4
      ErsatzTV.Application/Emby/Commands/UpdateEmbyPathReplacementsHandler.cs
  57. 2
      ErsatzTV.Application/Emby/EmbyConnectionParametersViewModel.cs
  58. 2
      ErsatzTV.Application/Emby/EmbyLibraryViewModel.cs
  59. 2
      ErsatzTV.Application/Emby/EmbyMediaSourceViewModel.cs
  60. 2
      ErsatzTV.Application/Emby/EmbyPathReplacementViewModel.cs
  61. 2
      ErsatzTV.Application/Emby/Mapper.cs
  62. 2
      ErsatzTV.Application/Emby/Queries/GetAllEmbyMediaSources.cs
  63. 2
      ErsatzTV.Application/Emby/Queries/GetAllEmbyMediaSourcesHandler.cs
  64. 2
      ErsatzTV.Application/Emby/Queries/GetEmbyConnectionParameters.cs
  65. 2
      ErsatzTV.Application/Emby/Queries/GetEmbyConnectionParametersHandler.cs
  66. 2
      ErsatzTV.Application/Emby/Queries/GetEmbyLibrariesBySourceId.cs
  67. 2
      ErsatzTV.Application/Emby/Queries/GetEmbyLibrariesBySourceIdHandler.cs
  68. 2
      ErsatzTV.Application/Emby/Queries/GetEmbyMediaSourceById.cs
  69. 2
      ErsatzTV.Application/Emby/Queries/GetEmbyMediaSourceByIdHandler.cs
  70. 2
      ErsatzTV.Application/Emby/Queries/GetEmbyPathReplacementsBySourceId.cs
  71. 2
      ErsatzTV.Application/Emby/Queries/GetEmbyPathReplacementsBySourceIdHandler.cs
  72. 2
      ErsatzTV.Application/Emby/Queries/GetEmbySecrets.cs
  73. 2
      ErsatzTV.Application/Emby/Queries/GetEmbySecretsHandler.cs
  74. 2
      ErsatzTV.Application/EntityIdResult.cs
  75. 2
      ErsatzTV.Application/ErsatzTV.Application.csproj
  76. 2
      ErsatzTV.Application/FFmpegProfiles/Commands/CopyFFmpegProfile.cs
  77. 2
      ErsatzTV.Application/FFmpegProfiles/Commands/CopyFFmpegProfileHandler.cs
  78. 2
      ErsatzTV.Application/FFmpegProfiles/Commands/CreateFFmpegProfile.cs
  79. 8
      ErsatzTV.Application/FFmpegProfiles/Commands/CreateFFmpegProfileHandler.cs
  80. 2
      ErsatzTV.Application/FFmpegProfiles/Commands/CreateFFmpegProfileResult.cs
  81. 2
      ErsatzTV.Application/FFmpegProfiles/Commands/DeleteFFmpegProfile.cs
  82. 10
      ErsatzTV.Application/FFmpegProfiles/Commands/DeleteFFmpegProfileHandler.cs
  83. 2
      ErsatzTV.Application/FFmpegProfiles/Commands/NewFFmpegProfile.cs
  84. 2
      ErsatzTV.Application/FFmpegProfiles/Commands/NewFFmpegProfileHandler.cs
  85. 2
      ErsatzTV.Application/FFmpegProfiles/Commands/UpdateFFmpegProfile.cs
  86. 4
      ErsatzTV.Application/FFmpegProfiles/Commands/UpdateFFmpegProfileHandler.cs
  87. 2
      ErsatzTV.Application/FFmpegProfiles/Commands/UpdateFFmpegProfileResult.cs
  88. 2
      ErsatzTV.Application/FFmpegProfiles/Commands/UpdateFFmpegSettings.cs
  89. 2
      ErsatzTV.Application/FFmpegProfiles/Commands/UpdateFFmpegSettingsHandler.cs
  90. 2
      ErsatzTV.Application/FFmpegProfiles/FFmpegProfileViewModel.cs
  91. 2
      ErsatzTV.Application/FFmpegProfiles/FFmpegSettingsViewModel.cs
  92. 2
      ErsatzTV.Application/FFmpegProfiles/Mapper.cs
  93. 2
      ErsatzTV.Application/FFmpegProfiles/Queries/GetAllFFmpegProfiles.cs
  94. 2
      ErsatzTV.Application/FFmpegProfiles/Queries/GetAllFFmpegProfilesHandler.cs
  95. 2
      ErsatzTV.Application/FFmpegProfiles/Queries/GetFFmpegProfileById.cs
  96. 2
      ErsatzTV.Application/FFmpegProfiles/Queries/GetFFmpegProfileByIdHandler.cs
  97. 2
      ErsatzTV.Application/FFmpegProfiles/Queries/GetFFmpegSettings.cs
  98. 4
      ErsatzTV.Application/FFmpegProfiles/Queries/GetFFmpegSettingsHandler.cs
  99. 2
      ErsatzTV.Application/Filler/Commands/CreateFillerPreset.cs
  100. 2
      ErsatzTV.Application/Filler/Commands/CreateFillerPresetHandler.cs
  101. Some files were not shown because too many files have changed in this diff Show More

2
.config/dotnet-tools.json

@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"jetbrains.resharper.globaltools": {
"version": "2021.2.2",
"version": "2022.1.0",
"commands": [
"jb"
]

2
ErsatzTV.Application/Artists/ArtistViewModel.cs

@ -11,4 +11,4 @@ public record ArtistViewModel( @@ -11,4 +11,4 @@ public record ArtistViewModel(
List<string> Genres,
List<string> Styles,
List<string> Moods,
List<CultureInfo> Languages);
List<CultureInfo> Languages);

2
ErsatzTV.Application/Artists/Mapper.cs

@ -37,4 +37,4 @@ internal static class Mapper @@ -37,4 +37,4 @@ internal static class Mapper
.Flatten()
.ToList();
}
}
}

2
ErsatzTV.Application/Artists/Queries/GetAllArtists.cs

@ -2,4 +2,4 @@ @@ -2,4 +2,4 @@
namespace ErsatzTV.Application.Artists;
public record GetAllArtists : IRequest<List<NamedMediaItemViewModel>>;
public record GetAllArtists : IRequest<List<NamedMediaItemViewModel>>;

2
ErsatzTV.Application/Artists/Queries/GetAllArtistsHandler.cs

@ -19,4 +19,4 @@ public class GetAllArtistsHandler : IRequestHandler<GetAllArtists, List<NamedMed @@ -19,4 +19,4 @@ public class GetAllArtistsHandler : IRequestHandler<GetAllArtists, List<NamedMed
a => !string.IsNullOrWhiteSpace(
a.ArtistMetadata.HeadOrNone().Match(am => am.Title, () => string.Empty))))
.Map(list => list.Map(ProjectToViewModel).ToList());
}
}

2
ErsatzTV.Application/Artists/Queries/GetArtistById.cs

@ -1,3 +1,3 @@ @@ -1,3 +1,3 @@
namespace ErsatzTV.Application.Artists;
public record GetArtistById(int ArtistId) : IRequest<Option<ArtistViewModel>>;
public record GetArtistById(int ArtistId) : IRequest<Option<ArtistViewModel>>;

2
ErsatzTV.Application/Artists/Queries/GetArtistByIdHandler.cs

@ -29,4 +29,4 @@ public class GetArtistByIdHandler : IRequestHandler<GetArtistById, Option<Artist @@ -29,4 +29,4 @@ public class GetArtistByIdHandler : IRequestHandler<GetArtistById, Option<Artist
},
() => Task.FromResult(Option<ArtistViewModel>.None));
}
}
}

2
ErsatzTV.Application/Channels/ChannelViewModel.cs

@ -16,4 +16,4 @@ public record ChannelViewModel( @@ -16,4 +16,4 @@ public record ChannelViewModel(
int? FallbackFillerId,
int PlayoutCount,
string PreferredSubtitleLanguageCode,
ChannelSubtitleMode SubtitleMode);
ChannelSubtitleMode SubtitleMode);

2
ErsatzTV.Application/Channels/Commands/CreateChannel.cs

@ -16,4 +16,4 @@ public record CreateChannel @@ -16,4 +16,4 @@ public record CreateChannel
int? WatermarkId,
int? FallbackFillerId,
string PreferredSubtitleLanguageCode,
ChannelSubtitleMode SubtitleMode) : IRequest<Either<BaseError, CreateChannelResult>>;
ChannelSubtitleMode SubtitleMode) : IRequest<Either<BaseError, CreateChannelResult>>;

8
ErsatzTV.Application/Channels/Commands/CreateChannelHandler.cs

@ -21,7 +21,7 @@ public class CreateChannelHandler : IRequestHandler<CreateChannel, Either<BaseEr @@ -21,7 +21,7 @@ public class CreateChannelHandler : IRequestHandler<CreateChannel, Either<BaseEr
{
await using TvContext dbContext = await _dbContextFactory.CreateDbContextAsync(cancellationToken);
Validation<BaseError, Channel> validation = await Validate(dbContext, request);
return await validation.Apply(c => PersistChannel(dbContext, c));
return await LanguageExtensions.Apply(validation, c => PersistChannel(dbContext, c));
}
private static async Task<CreateChannelResult> PersistChannel(TvContext dbContext, Channel channel)
@ -106,7 +106,9 @@ public class CreateChannelHandler : IRequestHandler<CreateChannel, Either<BaseEr @@ -106,7 +106,9 @@ public class CreateChannelHandler : IRequestHandler<CreateChannel, Either<BaseEr
ci => string.Equals(ci.ThreeLetterISOLanguageName, lc, StringComparison.OrdinalIgnoreCase)))
.ToValidation<BaseError>("Preferred subtitle language code is invalid");
private static async Task<Validation<BaseError, string>> ValidateNumber(TvContext dbContext, CreateChannel createChannel)
private static async Task<Validation<BaseError, string>> ValidateNumber(
TvContext dbContext,
CreateChannel createChannel)
{
Option<Channel> maybeExistingChannel = await dbContext.Channels
.SelectOneAsync(c => c.Number, c => c.Number == createChannel.Number);
@ -169,4 +171,4 @@ public class CreateChannelHandler : IRequestHandler<CreateChannel, Either<BaseEr @@ -169,4 +171,4 @@ public class CreateChannelHandler : IRequestHandler<CreateChannel, Either<BaseEr
o => o.ToValidation<BaseError>(
$"Fallback filler {createChannel.FallbackFillerId} does not exist."));
}
}
}

2
ErsatzTV.Application/Channels/Commands/CreateChannelResult.cs

@ -1,3 +1,3 @@ @@ -1,3 +1,3 @@
namespace ErsatzTV.Application.Channels;
public record CreateChannelResult(int ChannelId) : EntityIdResult(ChannelId);
public record CreateChannelResult(int ChannelId) : EntityIdResult(ChannelId);

2
ErsatzTV.Application/Channels/Commands/DeleteChannel.cs

@ -2,4 +2,4 @@ @@ -2,4 +2,4 @@
namespace ErsatzTV.Application.Channels;
public record DeleteChannel(int ChannelId) : IRequest<Either<BaseError, Task>>;
public record DeleteChannel(int ChannelId) : IRequest<Either<BaseError, Task>>;

2
ErsatzTV.Application/Channels/Commands/DeleteChannelHandler.cs

@ -20,4 +20,4 @@ public class DeleteChannelHandler : IRequestHandler<DeleteChannel, Either<BaseEr @@ -20,4 +20,4 @@ public class DeleteChannelHandler : IRequestHandler<DeleteChannel, Either<BaseEr
(await _channelRepository.Get(deleteChannel.ChannelId))
.ToValidation<BaseError>($"Channel {deleteChannel.ChannelId} does not exist.")
.Map(c => c.Id);
}
}

2
ErsatzTV.Application/Channels/Commands/UpdateChannel.cs

@ -17,4 +17,4 @@ public record UpdateChannel @@ -17,4 +17,4 @@ public record UpdateChannel
int? WatermarkId,
int? FallbackFillerId,
string PreferredSubtitleLanguageCode,
ChannelSubtitleMode SubtitleMode) : IRequest<Either<BaseError, ChannelViewModel>>;
ChannelSubtitleMode SubtitleMode) : IRequest<Either<BaseError, ChannelViewModel>>;

6
ErsatzTV.Application/Channels/Commands/UpdateChannelHandler.cs

@ -14,8 +14,8 @@ namespace ErsatzTV.Application.Channels; @@ -14,8 +14,8 @@ namespace ErsatzTV.Application.Channels;
public class UpdateChannelHandler : IRequestHandler<UpdateChannel, Either<BaseError, ChannelViewModel>>
{
private readonly ChannelWriter<ISubtitleWorkerRequest> _ffmpegWorkerChannel;
private readonly IDbContextFactory<TvContext> _dbContextFactory;
private readonly ChannelWriter<ISubtitleWorkerRequest> _ffmpegWorkerChannel;
public UpdateChannelHandler(
ChannelWriter<ISubtitleWorkerRequest> ffmpegWorkerChannel,
@ -69,7 +69,7 @@ public class UpdateChannelHandler : IRequestHandler<UpdateChannel, Either<BaseEr @@ -69,7 +69,7 @@ public class UpdateChannelHandler : IRequestHandler<UpdateChannel, Either<BaseEr
c.Artwork.Add(artwork);
});
}
c.StreamingMode = update.StreamingMode;
c.WatermarkId = update.WatermarkId;
c.FallbackFillerId = update.FallbackFillerId;
@ -135,4 +135,4 @@ public class UpdateChannelHandler : IRequestHandler<UpdateChannel, Either<BaseEr @@ -135,4 +135,4 @@ public class UpdateChannelHandler : IRequestHandler<UpdateChannel, Either<BaseEr
lc => string.IsNullOrWhiteSpace(lc) || CultureInfo.GetCultures(CultureTypes.NeutralCultures).Any(
ci => string.Equals(ci.ThreeLetterISOLanguageName, lc, StringComparison.OrdinalIgnoreCase)))
.ToValidation<BaseError>("Preferred audio language code is invalid");
}
}

2
ErsatzTV.Application/Channels/Mapper.cs

@ -44,4 +44,4 @@ internal static class Mapper @@ -44,4 +44,4 @@ internal static class Mapper
StreamingMode.HttpLiveStreamingSegmenter => "HLS Segmenter",
_ => throw new ArgumentOutOfRangeException()
};
}
}

2
ErsatzTV.Application/Channels/Queries/GetAllChannels.cs

@ -1,3 +1,3 @@ @@ -1,3 +1,3 @@
namespace ErsatzTV.Application.Channels;
public record GetAllChannels : IRequest<List<ChannelViewModel>>;
public record GetAllChannels : IRequest<List<ChannelViewModel>>;

2
ErsatzTV.Application/Channels/Queries/GetAllChannelsForApiHandler.cs

@ -18,4 +18,4 @@ public class GetAllChannelsForApiHandler : IRequestHandler<GetAllChannelsForApi, @@ -18,4 +18,4 @@ public class GetAllChannelsForApiHandler : IRequestHandler<GetAllChannelsForApi,
IEnumerable<Channel> channels = Optional(await _channelRepository.GetAll()).Flatten();
return channels.Map(ProjectToResponseModel).ToList();
}
}
}

2
ErsatzTV.Application/Channels/Queries/GetAllChannelsHandler.cs

@ -11,4 +11,4 @@ public class GetAllChannelsHandler : IRequestHandler<GetAllChannels, List<Channe @@ -11,4 +11,4 @@ public class GetAllChannelsHandler : IRequestHandler<GetAllChannels, List<Channe
public async Task<List<ChannelViewModel>> Handle(GetAllChannels request, CancellationToken cancellationToken) =>
Optional(await _channelRepository.GetAll()).Flatten().Map(ProjectToViewModel).ToList();
}
}

2
ErsatzTV.Application/Channels/Queries/GetChannelById.cs

@ -1,3 +1,3 @@ @@ -1,3 +1,3 @@
namespace ErsatzTV.Application.Channels;
public record GetChannelById(int Id) : IRequest<Option<ChannelViewModel>>;
public record GetChannelById(int Id) : IRequest<Option<ChannelViewModel>>;

2
ErsatzTV.Application/Channels/Queries/GetChannelByIdHandler.cs

@ -12,4 +12,4 @@ public class GetChannelByIdHandler : IRequestHandler<GetChannelById, Option<Chan @@ -12,4 +12,4 @@ public class GetChannelByIdHandler : IRequestHandler<GetChannelById, Option<Chan
public Task<Option<ChannelViewModel>> Handle(GetChannelById request, CancellationToken cancellationToken) =>
_channelRepository.Get(request.Id)
.MapT(ProjectToViewModel);
}
}

2
ErsatzTV.Application/Channels/Queries/GetChannelByNumberHandler.cs

@ -11,4 +11,4 @@ public class GetChannelByNumberHandler : IRequestHandler<GetChannelByNumber, Opt @@ -11,4 +11,4 @@ public class GetChannelByNumberHandler : IRequestHandler<GetChannelByNumber, Opt
public Task<Option<ChannelViewModel>> Handle(GetChannelByNumber request, CancellationToken cancellationToken) =>
_channelRepository.GetByNumber(request.ChannelNumber).MapT(ProjectToViewModel);
}
}

2
ErsatzTV.Application/Channels/Queries/GetChannelGuide.cs

@ -2,4 +2,4 @@ @@ -2,4 +2,4 @@
namespace ErsatzTV.Application.Channels;
public record GetChannelGuide(string Scheme, string Host) : IRequest<ChannelGuide>;
public record GetChannelGuide(string Scheme, string Host) : IRequest<ChannelGuide>;

2
ErsatzTV.Application/Channels/Queries/GetChannelGuideHandler.cs

@ -12,4 +12,4 @@ public class GetChannelGuideHandler : IRequestHandler<GetChannelGuide, ChannelGu @@ -12,4 +12,4 @@ public class GetChannelGuideHandler : IRequestHandler<GetChannelGuide, ChannelGu
public Task<ChannelGuide> Handle(GetChannelGuide request, CancellationToken cancellationToken) =>
_channelRepository.GetAllForGuide()
.Map(channels => new ChannelGuide(request.Scheme, request.Host, channels));
}
}

2
ErsatzTV.Application/Channels/Queries/GetChannelLineup.cs

@ -2,4 +2,4 @@ @@ -2,4 +2,4 @@
namespace ErsatzTV.Application.Channels;
public record GetChannelLineup(string Scheme, string Host) : IRequest<List<LineupItem>>;
public record GetChannelLineup(string Scheme, string Host) : IRequest<List<LineupItem>>;

2
ErsatzTV.Application/Channels/Queries/GetChannelLineupHandler.cs

@ -12,4 +12,4 @@ public class GetChannelLineupHandler : IRequestHandler<GetChannelLineup, List<Li @@ -12,4 +12,4 @@ public class GetChannelLineupHandler : IRequestHandler<GetChannelLineup, List<Li
public Task<List<LineupItem>> Handle(GetChannelLineup request, CancellationToken cancellationToken) =>
_channelRepository.GetAll()
.Map(channels => channels.Map(c => new LineupItem(request.Scheme, request.Host, c)).ToList());
}
}

2
ErsatzTV.Application/Channels/Queries/GetChannelPlaylist.cs

@ -2,4 +2,4 @@ @@ -2,4 +2,4 @@
namespace ErsatzTV.Application.Channels;
public record GetChannelPlaylist(string Scheme, string Host, string Mode) : IRequest<ChannelPlaylist>;
public record GetChannelPlaylist(string Scheme, string Host, string Mode) : IRequest<ChannelPlaylist>;

2
ErsatzTV.Application/Channels/Queries/GetChannelPlaylistHandler.cs

@ -47,4 +47,4 @@ public class GetChannelPlaylistHandler : IRequestHandler<GetChannelPlaylist, Cha @@ -47,4 +47,4 @@ public class GetChannelPlaylistHandler : IRequestHandler<GetChannelPlaylist, Cha
return result;
}
}
}

2
ErsatzTV.Application/Configuration/Commands/SaveConfigElementByKey.cs

@ -2,4 +2,4 @@ @@ -2,4 +2,4 @@
namespace ErsatzTV.Application.Configuration;
public record SaveConfigElementByKey(ConfigElementKey Key, string Value) : MediatR.IRequest<Unit>;
public record SaveConfigElementByKey(ConfigElementKey Key, string Value) : IRequest<Unit>;

4
ErsatzTV.Application/Configuration/Commands/SaveConfigElementByKeyHandler.cs

@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
namespace ErsatzTV.Application.Configuration;
public class SaveConfigElementByKeyHandler : MediatR.IRequestHandler<SaveConfigElementByKey, Unit>
public class SaveConfigElementByKeyHandler : IRequestHandler<SaveConfigElementByKey, Unit>
{
private readonly IConfigElementRepository _configElementRepository;
@ -14,4 +14,4 @@ public class SaveConfigElementByKeyHandler : MediatR.IRequestHandler<SaveConfigE @@ -14,4 +14,4 @@ public class SaveConfigElementByKeyHandler : MediatR.IRequestHandler<SaveConfigE
await _configElementRepository.Upsert(request.Key, request.Value);
return Unit.Default;
}
}
}

2
ErsatzTV.Application/Configuration/Commands/UpdateLibraryRefreshInterval.cs

@ -2,4 +2,4 @@ @@ -2,4 +2,4 @@
namespace ErsatzTV.Application.Configuration;
public record UpdateLibraryRefreshInterval(int LibraryRefreshInterval) : MediatR.IRequest<Either<BaseError, Unit>>;
public record UpdateLibraryRefreshInterval(int LibraryRefreshInterval) : IRequest<Either<BaseError, Unit>>;

9
ErsatzTV.Application/Configuration/Commands/UpdateLibraryRefreshIntervalHandler.cs

@ -5,7 +5,7 @@ using ErsatzTV.Core.Interfaces.Repositories; @@ -5,7 +5,7 @@ using ErsatzTV.Core.Interfaces.Repositories;
namespace ErsatzTV.Application.Configuration;
public class UpdateLibraryRefreshIntervalHandler :
MediatR.IRequestHandler<UpdateLibraryRefreshInterval, Either<BaseError, Unit>>
IRequestHandler<UpdateLibraryRefreshInterval, Either<BaseError, Unit>>
{
private readonly IConfigElementRepository _configElementRepository;
@ -16,7 +16,10 @@ public class UpdateLibraryRefreshIntervalHandler : @@ -16,7 +16,10 @@ public class UpdateLibraryRefreshIntervalHandler :
UpdateLibraryRefreshInterval request,
CancellationToken cancellationToken) =>
Validate(request)
.MapT(_ => _configElementRepository.Upsert(ConfigElementKey.LibraryRefreshInterval, request.LibraryRefreshInterval))
.MapT(
_ => _configElementRepository.Upsert(
ConfigElementKey.LibraryRefreshInterval,
request.LibraryRefreshInterval))
.Bind(v => v.ToEitherAsync());
private static Task<Validation<BaseError, Unit>> Validate(UpdateLibraryRefreshInterval request) =>
@ -25,4 +28,4 @@ public class UpdateLibraryRefreshIntervalHandler : @@ -25,4 +28,4 @@ public class UpdateLibraryRefreshIntervalHandler :
.Map(_ => Unit.Default)
.ToValidation<BaseError>("Tuner count must be greater than zero")
.AsTask();
}
}

2
ErsatzTV.Application/Configuration/Commands/UpdatePlayoutDaysToBuild.cs

@ -2,4 +2,4 @@ @@ -2,4 +2,4 @@
namespace ErsatzTV.Application.Configuration;
public record UpdatePlayoutDaysToBuild(int DaysToBuild) : MediatR.IRequest<Either<BaseError, Unit>>;
public record UpdatePlayoutDaysToBuild(int DaysToBuild) : IRequest<Either<BaseError, Unit>>;

2
ErsatzTV.Application/Configuration/Commands/UpdatePlayoutDaysToBuildHandler.cs

@ -56,4 +56,4 @@ public class UpdatePlayoutDaysToBuildHandler : IRequestHandler<UpdatePlayoutDays @@ -56,4 +56,4 @@ public class UpdatePlayoutDaysToBuildHandler : IRequestHandler<UpdatePlayoutDays
.Map(_ => Unit.Default)
.ToValidation<BaseError>("Days to build must be greater than zero")
.AsTask();
}
}

2
ErsatzTV.Application/Configuration/ConfigElementViewModel.cs

@ -1,3 +1,3 @@ @@ -1,3 +1,3 @@
namespace ErsatzTV.Application.Configuration;
public record ConfigElementViewModel(string Key, string Value);
public record ConfigElementViewModel(string Key, string Value);

2
ErsatzTV.Application/Configuration/Mapper.cs

@ -6,4 +6,4 @@ internal static class Mapper @@ -6,4 +6,4 @@ internal static class Mapper
{
internal static ConfigElementViewModel ProjectToViewModel(ConfigElement element) =>
new(element.Key, element.Value);
}
}

2
ErsatzTV.Application/Configuration/Queries/GetConfigElementByKey.cs

@ -2,4 +2,4 @@ @@ -2,4 +2,4 @@
namespace ErsatzTV.Application.Configuration;
public record GetConfigElementByKey(ConfigElementKey Key) : IRequest<Option<ConfigElementViewModel>>;
public record GetConfigElementByKey(ConfigElementKey Key) : IRequest<Option<ConfigElementViewModel>>;

2
ErsatzTV.Application/Configuration/Queries/GetConfigElementByKeyHandler.cs

@ -14,4 +14,4 @@ public class GetConfigElementByKeyHandler : IRequestHandler<GetConfigElementByKe @@ -14,4 +14,4 @@ public class GetConfigElementByKeyHandler : IRequestHandler<GetConfigElementByKe
GetConfigElementByKey request,
CancellationToken cancellationToken) =>
_configElementRepository.Get(request.Key).MapT(ProjectToViewModel);
}
}

2
ErsatzTV.Application/Configuration/Queries/GetLibraryRefreshInterval.cs

@ -1,3 +1,3 @@ @@ -1,3 +1,3 @@
namespace ErsatzTV.Application.Configuration;
public record GetLibraryRefreshInterval : IRequest<int>;
public record GetLibraryRefreshInterval : IRequest<int>;

2
ErsatzTV.Application/Configuration/Queries/GetLibraryRefreshIntervalHandler.cs

@ -13,4 +13,4 @@ public class GetLibraryRefreshIntervalHandler : IRequestHandler<GetLibraryRefres @@ -13,4 +13,4 @@ public class GetLibraryRefreshIntervalHandler : IRequestHandler<GetLibraryRefres
public Task<int> Handle(GetLibraryRefreshInterval request, CancellationToken cancellationToken) =>
_configElementRepository.GetValue<int>(ConfigElementKey.LibraryRefreshInterval)
.Map(result => result.IfNone(6));
}
}

2
ErsatzTV.Application/Configuration/Queries/GetPlayoutDaysToBuild.cs

@ -1,3 +1,3 @@ @@ -1,3 +1,3 @@
namespace ErsatzTV.Application.Configuration;
public record GetPlayoutDaysToBuild : IRequest<int>;
public record GetPlayoutDaysToBuild : IRequest<int>;

2
ErsatzTV.Application/Configuration/Queries/GetPlayoutDaysToBuildHandler.cs

@ -13,4 +13,4 @@ public class GetPlayoutDaysToBuildHandler : IRequestHandler<GetPlayoutDaysToBuil @@ -13,4 +13,4 @@ public class GetPlayoutDaysToBuildHandler : IRequestHandler<GetPlayoutDaysToBuil
public Task<int> Handle(GetPlayoutDaysToBuild request, CancellationToken cancellationToken) =>
_configElementRepository.GetValue<int>(ConfigElementKey.PlayoutDaysToBuild)
.Map(result => result.IfNone(2));
}
}

2
ErsatzTV.Application/Emby/Commands/DisconnectEmby.cs

@ -2,4 +2,4 @@ @@ -2,4 +2,4 @@
namespace ErsatzTV.Application.Emby;
public record DisconnectEmby : MediatR.IRequest<Either<BaseError, Unit>>;
public record DisconnectEmby : IRequest<Either<BaseError, Unit>>;

4
ErsatzTV.Application/Emby/Commands/DisconnectEmbyHandler.cs

@ -7,7 +7,7 @@ using ErsatzTV.Core.Interfaces.Search; @@ -7,7 +7,7 @@ using ErsatzTV.Core.Interfaces.Search;
namespace ErsatzTV.Application.Emby;
public class DisconnectEmbyHandler : MediatR.IRequestHandler<DisconnectEmby, Either<BaseError, Unit>>
public class DisconnectEmbyHandler : IRequestHandler<DisconnectEmby, Either<BaseError, Unit>>
{
private readonly IEmbySecretStore _embySecretStore;
private readonly IEntityLocker _entityLocker;
@ -38,4 +38,4 @@ public class DisconnectEmbyHandler : MediatR.IRequestHandler<DisconnectEmby, Eit @@ -38,4 +38,4 @@ public class DisconnectEmbyHandler : MediatR.IRequestHandler<DisconnectEmby, Eit
return Unit.Default;
}
}
}

2
ErsatzTV.Application/Emby/Commands/SaveEmbySecrets.cs

@ -3,4 +3,4 @@ using ErsatzTV.Core.Emby; @@ -3,4 +3,4 @@ using ErsatzTV.Core.Emby;
namespace ErsatzTV.Application.Emby;
public record SaveEmbySecrets(EmbySecrets Secrets) : MediatR.IRequest<Either<BaseError, Unit>>;
public record SaveEmbySecrets(EmbySecrets Secrets) : IRequest<Either<BaseError, Unit>>;

4
ErsatzTV.Application/Emby/Commands/SaveEmbySecretsHandler.cs

@ -6,7 +6,7 @@ using ErsatzTV.Core.Interfaces.Repositories; @@ -6,7 +6,7 @@ using ErsatzTV.Core.Interfaces.Repositories;
namespace ErsatzTV.Application.Emby;
public class SaveEmbySecretsHandler : MediatR.IRequestHandler<SaveEmbySecrets, Either<BaseError, Unit>>
public class SaveEmbySecretsHandler : IRequestHandler<SaveEmbySecrets, Either<BaseError, Unit>>
{
private readonly ChannelWriter<IEmbyBackgroundServiceRequest> _channel;
private readonly IEmbyApiClient _embyApiClient;
@ -53,4 +53,4 @@ public class SaveEmbySecretsHandler : MediatR.IRequestHandler<SaveEmbySecrets, E @@ -53,4 +53,4 @@ public class SaveEmbySecretsHandler : MediatR.IRequestHandler<SaveEmbySecrets, E
}
private record Parameters(EmbySecrets Secrets, EmbyServerInformation ServerInformation);
}
}

4
ErsatzTV.Application/Emby/Commands/SynchronizeEmbyLibraries.cs

@ -2,5 +2,5 @@ @@ -2,5 +2,5 @@
namespace ErsatzTV.Application.Emby;
public record SynchronizeEmbyLibraries(int EmbyMediaSourceId) : MediatR.IRequest<Either<BaseError, Unit>>,
IEmbyBackgroundServiceRequest;
public record SynchronizeEmbyLibraries(int EmbyMediaSourceId) : IRequest<Either<BaseError, Unit>>,
IEmbyBackgroundServiceRequest;

4
ErsatzTV.Application/Emby/Commands/SynchronizeEmbyLibrariesHandler.cs

@ -9,7 +9,7 @@ using Microsoft.Extensions.Logging; @@ -9,7 +9,7 @@ using Microsoft.Extensions.Logging;
namespace ErsatzTV.Application.Emby;
public class
SynchronizeEmbyLibrariesHandler : MediatR.IRequestHandler<SynchronizeEmbyLibraries, Either<BaseError, Unit>>
SynchronizeEmbyLibrariesHandler : IRequestHandler<SynchronizeEmbyLibraries, Either<BaseError, Unit>>
{
private readonly IEmbyApiClient _embyApiClient;
private readonly IEmbySecretStore _embySecretStore;
@ -108,4 +108,4 @@ public class @@ -108,4 +108,4 @@ public class
{
public string ApiKey { get; set; }
}
}
}

2
ErsatzTV.Application/Emby/Commands/SynchronizeEmbyLibraryById.cs

@ -17,4 +17,4 @@ public record SynchronizeEmbyLibraryByIdIfNeeded(int EmbyLibraryId) : ISynchroni @@ -17,4 +17,4 @@ public record SynchronizeEmbyLibraryByIdIfNeeded(int EmbyLibraryId) : ISynchroni
public record ForceSynchronizeEmbyLibraryById(int EmbyLibraryId) : ISynchronizeEmbyLibraryById
{
public bool ForceScan => true;
}
}

2
ErsatzTV.Application/Emby/Commands/SynchronizeEmbyLibraryByIdHandler.cs

@ -181,4 +181,4 @@ public class SynchronizeEmbyLibraryByIdHandler : @@ -181,4 +181,4 @@ public class SynchronizeEmbyLibraryByIdHandler :
{
public string ApiKey { get; set; }
}
}
}

2
ErsatzTV.Application/Emby/Commands/SynchronizeEmbyMediaSources.cs

@ -4,4 +4,4 @@ using ErsatzTV.Core.Domain; @@ -4,4 +4,4 @@ using ErsatzTV.Core.Domain;
namespace ErsatzTV.Application.Emby;
public record SynchronizeEmbyMediaSources : IRequest<Either<BaseError, List<EmbyMediaSource>>>,
IEmbyBackgroundServiceRequest;
IEmbyBackgroundServiceRequest;

2
ErsatzTV.Application/Emby/Commands/SynchronizeEmbyMediaSourcesHandler.cs

@ -32,4 +32,4 @@ public class SynchronizeEmbyMediaSourcesHandler : IRequestHandler<SynchronizeEmb @@ -32,4 +32,4 @@ public class SynchronizeEmbyMediaSourcesHandler : IRequestHandler<SynchronizeEmb
return mediaSources;
}
}
}

4
ErsatzTV.Application/Emby/Commands/UpdateEmbyLibraryPreferences.cs

@ -3,6 +3,6 @@ @@ -3,6 +3,6 @@
namespace ErsatzTV.Application.Emby;
public record UpdateEmbyLibraryPreferences
(List<EmbyLibraryPreference> Preferences) : MediatR.IRequest<Either<BaseError, Unit>>;
(List<EmbyLibraryPreference> Preferences) : IRequest<Either<BaseError, Unit>>;
public record EmbyLibraryPreference(int Id, bool ShouldSyncItems);
public record EmbyLibraryPreference(int Id, bool ShouldSyncItems);

4
ErsatzTV.Application/Emby/Commands/UpdateEmbyLibraryPreferencesHandler.cs

@ -5,7 +5,7 @@ using ErsatzTV.Core.Interfaces.Search; @@ -5,7 +5,7 @@ using ErsatzTV.Core.Interfaces.Search;
namespace ErsatzTV.Application.Emby;
public class
UpdateEmbyLibraryPreferencesHandler : MediatR.IRequestHandler<UpdateEmbyLibraryPreferences,
UpdateEmbyLibraryPreferencesHandler : IRequestHandler<UpdateEmbyLibraryPreferences,
Either<BaseError, Unit>>
{
private readonly IMediaSourceRepository _mediaSourceRepository;
@ -33,4 +33,4 @@ public class @@ -33,4 +33,4 @@ public class
return Unit.Default;
}
}
}

4
ErsatzTV.Application/Emby/Commands/UpdateEmbyPathReplacements.cs

@ -4,6 +4,6 @@ namespace ErsatzTV.Application.Emby; @@ -4,6 +4,6 @@ namespace ErsatzTV.Application.Emby;
public record UpdateEmbyPathReplacements(
int EmbyMediaSourceId,
List<EmbyPathReplacementItem> PathReplacements) : MediatR.IRequest<Either<BaseError, Unit>>;
List<EmbyPathReplacementItem> PathReplacements) : IRequest<Either<BaseError, Unit>>;
public record EmbyPathReplacementItem(int Id, string EmbyPath, string LocalPath);
public record EmbyPathReplacementItem(int Id, string EmbyPath, string LocalPath);

4
ErsatzTV.Application/Emby/Commands/UpdateEmbyPathReplacementsHandler.cs

@ -4,7 +4,7 @@ using ErsatzTV.Core.Interfaces.Repositories; @@ -4,7 +4,7 @@ using ErsatzTV.Core.Interfaces.Repositories;
namespace ErsatzTV.Application.Emby;
public class UpdateEmbyPathReplacementsHandler : MediatR.IRequestHandler<UpdateEmbyPathReplacements,
public class UpdateEmbyPathReplacementsHandler : IRequestHandler<UpdateEmbyPathReplacements,
Either<BaseError, Unit>>
{
private readonly IMediaSourceRepository _mediaSourceRepository;
@ -46,4 +46,4 @@ public class UpdateEmbyPathReplacementsHandler : MediatR.IRequestHandler<UpdateE @@ -46,4 +46,4 @@ public class UpdateEmbyPathReplacementsHandler : MediatR.IRequestHandler<UpdateE
.Map(
v => v.ToValidation<BaseError>(
$"Emby media source {request.EmbyMediaSourceId} does not exist."));
}
}

2
ErsatzTV.Application/Emby/EmbyConnectionParametersViewModel.cs

@ -1,3 +1,3 @@ @@ -1,3 +1,3 @@
namespace ErsatzTV.Application.Emby;
public record EmbyConnectionParametersViewModel(string Address);
public record EmbyConnectionParametersViewModel(string Address);

2
ErsatzTV.Application/Emby/EmbyLibraryViewModel.cs

@ -4,4 +4,4 @@ using ErsatzTV.Core.Domain; @@ -4,4 +4,4 @@ using ErsatzTV.Core.Domain;
namespace ErsatzTV.Application.Emby;
public record EmbyLibraryViewModel(int Id, string Name, LibraryMediaKind MediaKind, bool ShouldSyncItems)
: LibraryViewModel("Emby", Id, Name, MediaKind);
: LibraryViewModel("Emby", Id, Name, MediaKind);

2
ErsatzTV.Application/Emby/EmbyMediaSourceViewModel.cs

@ -5,4 +5,4 @@ namespace ErsatzTV.Application.Emby; @@ -5,4 +5,4 @@ namespace ErsatzTV.Application.Emby;
public record EmbyMediaSourceViewModel(int Id, string Name, string Address) : RemoteMediaSourceViewModel(
Id,
Name,
Address);
Address);

2
ErsatzTV.Application/Emby/EmbyPathReplacementViewModel.cs

@ -1,3 +1,3 @@ @@ -1,3 +1,3 @@
namespace ErsatzTV.Application.Emby;
public record EmbyPathReplacementViewModel(int Id, string EmbyPath, string LocalPath);
public record EmbyPathReplacementViewModel(int Id, string EmbyPath, string LocalPath);

2
ErsatzTV.Application/Emby/Mapper.cs

@ -15,4 +15,4 @@ internal static class Mapper @@ -15,4 +15,4 @@ internal static class Mapper
internal static EmbyPathReplacementViewModel ProjectToViewModel(EmbyPathReplacement pathReplacement) =>
new(pathReplacement.Id, pathReplacement.EmbyPath, pathReplacement.LocalPath);
}
}

2
ErsatzTV.Application/Emby/Queries/GetAllEmbyMediaSources.cs

@ -1,3 +1,3 @@ @@ -1,3 +1,3 @@
namespace ErsatzTV.Application.Emby;
public record GetAllEmbyMediaSources : IRequest<List<EmbyMediaSourceViewModel>>;
public record GetAllEmbyMediaSources : IRequest<List<EmbyMediaSourceViewModel>>;

2
ErsatzTV.Application/Emby/Queries/GetAllEmbyMediaSourcesHandler.cs

@ -14,4 +14,4 @@ public class GetAllEmbyMediaSourcesHandler : IRequestHandler<GetAllEmbyMediaSour @@ -14,4 +14,4 @@ public class GetAllEmbyMediaSourcesHandler : IRequestHandler<GetAllEmbyMediaSour
GetAllEmbyMediaSources request,
CancellationToken cancellationToken) =>
_mediaSourceRepository.GetAllEmby().Map(list => list.Map(ProjectToViewModel).ToList());
}
}

2
ErsatzTV.Application/Emby/Queries/GetEmbyConnectionParameters.cs

@ -2,4 +2,4 @@ @@ -2,4 +2,4 @@
namespace ErsatzTV.Application.Emby;
public record GetEmbyConnectionParameters : IRequest<Either<BaseError, EmbyConnectionParametersViewModel>>;
public record GetEmbyConnectionParameters : IRequest<Either<BaseError, EmbyConnectionParametersViewModel>>;

2
ErsatzTV.Application/Emby/Queries/GetEmbyConnectionParametersHandler.cs

@ -63,4 +63,4 @@ public class GetEmbyConnectionParametersHandler : IRequestHandler<GetEmbyConnect @@ -63,4 +63,4 @@ public class GetEmbyConnectionParametersHandler : IRequestHandler<GetEmbyConnect
private record ConnectionParameters(
EmbyMediaSource EmbyMediaSource,
EmbyConnection ActiveConnection);
}
}

2
ErsatzTV.Application/Emby/Queries/GetEmbyLibrariesBySourceId.cs

@ -1,3 +1,3 @@ @@ -1,3 +1,3 @@
namespace ErsatzTV.Application.Emby;
public record GetEmbyLibrariesBySourceId(int EmbyMediaSourceId) : IRequest<List<EmbyLibraryViewModel>>;
public record GetEmbyLibrariesBySourceId(int EmbyMediaSourceId) : IRequest<List<EmbyLibraryViewModel>>;

2
ErsatzTV.Application/Emby/Queries/GetEmbyLibrariesBySourceIdHandler.cs

@ -16,4 +16,4 @@ public class @@ -16,4 +16,4 @@ public class
CancellationToken cancellationToken) =>
_mediaSourceRepository.GetEmbyLibraries(request.EmbyMediaSourceId)
.Map(list => list.Map(ProjectToViewModel).ToList());
}
}

2
ErsatzTV.Application/Emby/Queries/GetEmbyMediaSourceById.cs

@ -1,3 +1,3 @@ @@ -1,3 +1,3 @@
namespace ErsatzTV.Application.Emby;
public record GetEmbyMediaSourceById(int EmbyMediaSourceId) : IRequest<Option<EmbyMediaSourceViewModel>>;
public record GetEmbyMediaSourceById(int EmbyMediaSourceId) : IRequest<Option<EmbyMediaSourceViewModel>>;

2
ErsatzTV.Application/Emby/Queries/GetEmbyMediaSourceByIdHandler.cs

@ -15,4 +15,4 @@ public class @@ -15,4 +15,4 @@ public class
GetEmbyMediaSourceById request,
CancellationToken cancellationToken) =>
_mediaSourceRepository.GetEmby(request.EmbyMediaSourceId).MapT(ProjectToViewModel);
}
}

2
ErsatzTV.Application/Emby/Queries/GetEmbyPathReplacementsBySourceId.cs

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
namespace ErsatzTV.Application.Emby;
public record GetEmbyPathReplacementsBySourceId
(int EmbyMediaSourceId) : IRequest<List<EmbyPathReplacementViewModel>>;
(int EmbyMediaSourceId) : IRequest<List<EmbyPathReplacementViewModel>>;

2
ErsatzTV.Application/Emby/Queries/GetEmbyPathReplacementsBySourceIdHandler.cs

@ -16,4 +16,4 @@ public class GetEmbyPathReplacementsBySourceIdHandler : IRequestHandler<GetEmbyP @@ -16,4 +16,4 @@ public class GetEmbyPathReplacementsBySourceIdHandler : IRequestHandler<GetEmbyP
CancellationToken cancellationToken) =>
_mediaSourceRepository.GetEmbyPathReplacements(request.EmbyMediaSourceId)
.Map(list => list.Map(ProjectToViewModel).ToList());
}
}

2
ErsatzTV.Application/Emby/Queries/GetEmbySecrets.cs

@ -2,4 +2,4 @@ @@ -2,4 +2,4 @@
namespace ErsatzTV.Application.Emby;
public record GetEmbySecrets : IRequest<EmbySecrets>;
public record GetEmbySecrets : IRequest<EmbySecrets>;

2
ErsatzTV.Application/Emby/Queries/GetEmbySecretsHandler.cs

@ -12,4 +12,4 @@ public class GetEmbySecretsHandler : IRequestHandler<GetEmbySecrets, EmbySecrets @@ -12,4 +12,4 @@ public class GetEmbySecretsHandler : IRequestHandler<GetEmbySecrets, EmbySecrets
public Task<EmbySecrets> Handle(GetEmbySecrets request, CancellationToken cancellationToken) =>
_embySecretStore.ReadSecrets();
}
}

2
ErsatzTV.Application/EntityIdResult.cs

@ -1,3 +1,3 @@ @@ -1,3 +1,3 @@
namespace ErsatzTV.Application;
public record EntityIdResult(int Id);
public record EntityIdResult(int Id);

2
ErsatzTV.Application/ErsatzTV.Application.csproj

@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@
<ItemGroup>
<PackageReference Include="Bugsnag" Version="3.0.1" />
<PackageReference Include="CliWrap" Version="3.4.2" />
<PackageReference Include="CliWrap" Version="3.4.3" />
<PackageReference Include="MediatR" Version="10.0.1" />
<PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="6.0.0" />
<PackageReference Include="Microsoft.VisualStudio.Threading.Analyzers" Version="17.1.46">

2
ErsatzTV.Application/FFmpegProfiles/Commands/CopyFFmpegProfile.cs

@ -3,4 +3,4 @@ @@ -3,4 +3,4 @@
namespace ErsatzTV.Application.FFmpegProfiles;
public record CopyFFmpegProfile
(int FFmpegProfileId, string Name) : IRequest<Either<BaseError, FFmpegProfileViewModel>>;
(int FFmpegProfileId, string Name) : IRequest<Either<BaseError, FFmpegProfileViewModel>>;

2
ErsatzTV.Application/FFmpegProfiles/Commands/CopyFFmpegProfileHandler.cs

@ -29,4 +29,4 @@ public class @@ -29,4 +29,4 @@ public class
private Validation<BaseError, string> ValidateName(CopyFFmpegProfile request) =>
request.NotEmpty(x => x.Name)
.Bind(_ => request.NotLongerThan(50)(x => x.Name));
}
}

2
ErsatzTV.Application/FFmpegProfiles/Commands/CreateFFmpegProfile.cs

@ -21,4 +21,4 @@ public record CreateFFmpegProfile( @@ -21,4 +21,4 @@ public record CreateFFmpegProfile(
int AudioChannels,
int AudioSampleRate,
bool NormalizeFramerate,
bool DeinterlaceVideo) : IRequest<Either<BaseError, CreateFFmpegProfileResult>>;
bool DeinterlaceVideo) : IRequest<Either<BaseError, CreateFFmpegProfileResult>>;

8
ErsatzTV.Application/FFmpegProfiles/Commands/CreateFFmpegProfileHandler.cs

@ -20,7 +20,7 @@ public class CreateFFmpegProfileHandler : @@ -20,7 +20,7 @@ public class CreateFFmpegProfileHandler :
{
await using TvContext dbContext = await _dbContextFactory.CreateDbContextAsync(cancellationToken);
Validation<BaseError, FFmpegProfile> validation = await Validate(dbContext, request);
return await validation.Apply(profile => PersistFFmpegProfile(dbContext, profile));
return await LanguageExtensions.Apply(validation, profile => PersistFFmpegProfile(dbContext, profile));
}
private static async Task<CreateFFmpegProfileResult> PersistFFmpegProfile(
@ -32,7 +32,9 @@ public class CreateFFmpegProfileHandler : @@ -32,7 +32,9 @@ public class CreateFFmpegProfileHandler :
return new CreateFFmpegProfileResult(ffmpegProfile.Id);
}
private async Task<Validation<BaseError, FFmpegProfile>> Validate(TvContext dbContext, CreateFFmpegProfile request) =>
private async Task<Validation<BaseError, FFmpegProfile>> Validate(
TvContext dbContext,
CreateFFmpegProfile request) =>
(ValidateName(request), ValidateThreadCount(request), await ResolutionMustExist(dbContext, request))
.Apply(
(name, threadCount, resolutionId) => new FFmpegProfile
@ -70,4 +72,4 @@ public class CreateFFmpegProfileHandler : @@ -70,4 +72,4 @@ public class CreateFFmpegProfileHandler :
.SelectOneAsync(r => r.Id, r => r.Id == createFFmpegProfile.ResolutionId)
.MapT(r => r.Id)
.Map(o => o.ToValidation<BaseError>($"[Resolution] {createFFmpegProfile.ResolutionId} does not exist"));
}
}

2
ErsatzTV.Application/FFmpegProfiles/Commands/CreateFFmpegProfileResult.cs

@ -1,3 +1,3 @@ @@ -1,3 +1,3 @@
namespace ErsatzTV.Application.FFmpegProfiles;
public record CreateFFmpegProfileResult(int FFmpegProfileId) : EntityIdResult(FFmpegProfileId);
public record CreateFFmpegProfileResult(int FFmpegProfileId) : EntityIdResult(FFmpegProfileId);

2
ErsatzTV.Application/FFmpegProfiles/Commands/DeleteFFmpegProfile.cs

@ -2,4 +2,4 @@ @@ -2,4 +2,4 @@
namespace ErsatzTV.Application.FFmpegProfiles;
public record DeleteFFmpegProfile(int FFmpegProfileId) : MediatR.IRequest<Either<BaseError, Unit>>;
public record DeleteFFmpegProfile(int FFmpegProfileId) : IRequest<Either<BaseError, Unit>>;

10
ErsatzTV.Application/FFmpegProfiles/Commands/DeleteFFmpegProfileHandler.cs

@ -6,14 +6,14 @@ using Microsoft.EntityFrameworkCore; @@ -6,14 +6,14 @@ using Microsoft.EntityFrameworkCore;
namespace ErsatzTV.Application.FFmpegProfiles;
public class DeleteFFmpegProfileHandler : IRequestHandler<DeleteFFmpegProfile, Either<BaseError, LanguageExt.Unit>>
public class DeleteFFmpegProfileHandler : IRequestHandler<DeleteFFmpegProfile, Either<BaseError, Unit>>
{
private readonly IDbContextFactory<TvContext> _dbContextFactory;
public DeleteFFmpegProfileHandler(IDbContextFactory<TvContext> dbContextFactory) =>
_dbContextFactory = dbContextFactory;
public async Task<Either<BaseError, LanguageExt.Unit>> Handle(
public async Task<Either<BaseError, Unit>> Handle(
DeleteFFmpegProfile request,
CancellationToken cancellationToken)
{
@ -22,11 +22,11 @@ public class DeleteFFmpegProfileHandler : IRequestHandler<DeleteFFmpegProfile, E @@ -22,11 +22,11 @@ public class DeleteFFmpegProfileHandler : IRequestHandler<DeleteFFmpegProfile, E
return await LanguageExtensions.Apply(validation, p => DoDeletion(dbContext, p));
}
private static async Task<LanguageExt.Unit> DoDeletion(TvContext dbContext, FFmpegProfile ffmpegProfile)
private static async Task<Unit> DoDeletion(TvContext dbContext, FFmpegProfile ffmpegProfile)
{
dbContext.FFmpegProfiles.Remove(ffmpegProfile);
await dbContext.SaveChangesAsync();
return LanguageExt.Unit.Default;
return Unit.Default;
}
private static Task<Validation<BaseError, FFmpegProfile>> FFmpegProfileMustExist(
@ -35,4 +35,4 @@ public class DeleteFFmpegProfileHandler : IRequestHandler<DeleteFFmpegProfile, E @@ -35,4 +35,4 @@ public class DeleteFFmpegProfileHandler : IRequestHandler<DeleteFFmpegProfile, E
dbContext.FFmpegProfiles
.SelectOneAsync(p => p.Id, p => p.Id == request.FFmpegProfileId)
.Map(o => o.ToValidation<BaseError>($"FFmpegProfile {request.FFmpegProfileId} does not exist"));
}
}

2
ErsatzTV.Application/FFmpegProfiles/Commands/NewFFmpegProfile.cs

@ -4,4 +4,4 @@ @@ -4,4 +4,4 @@
/// Requests a new ffmpeg profile (view model) that contains
/// appropriate default values.
/// </summary>
public record NewFFmpegProfile : IRequest<FFmpegProfileViewModel>;
public record NewFFmpegProfile : IRequest<FFmpegProfileViewModel>;

2
ErsatzTV.Application/FFmpegProfiles/Commands/NewFFmpegProfileHandler.cs

@ -29,4 +29,4 @@ public class NewFFmpegProfileHandler : IRequestHandler<NewFFmpegProfile, FFmpegP @@ -29,4 +29,4 @@ public class NewFFmpegProfileHandler : IRequestHandler<NewFFmpegProfile, FFmpegP
return ProjectToViewModel(FFmpegProfile.New("New Profile", defaultResolution));
}
}
}

2
ErsatzTV.Application/FFmpegProfiles/Commands/UpdateFFmpegProfile.cs

@ -22,4 +22,4 @@ public record UpdateFFmpegProfile( @@ -22,4 +22,4 @@ public record UpdateFFmpegProfile(
int AudioChannels,
int AudioSampleRate,
bool NormalizeFramerate,
bool DeinterlaceVideo) : IRequest<Either<BaseError, UpdateFFmpegProfileResult>>;
bool DeinterlaceVideo) : IRequest<Either<BaseError, UpdateFFmpegProfileResult>>;

4
ErsatzTV.Application/FFmpegProfiles/Commands/UpdateFFmpegProfileHandler.cs

@ -20,7 +20,7 @@ public class @@ -20,7 +20,7 @@ public class
{
await using TvContext dbContext = await _dbContextFactory.CreateDbContextAsync(cancellationToken);
Validation<BaseError, FFmpegProfile> validation = await Validate(dbContext, request);
return await validation.Apply(p => ApplyUpdateRequest(dbContext, p, request));
return await LanguageExtensions.Apply(validation, p => ApplyUpdateRequest(dbContext, p, request));
}
private async Task<UpdateFFmpegProfileResult> ApplyUpdateRequest(
@ -77,4 +77,4 @@ public class @@ -77,4 +77,4 @@ public class
.SelectOneAsync(r => r.Id, r => r.Id == updateFFmpegProfile.ResolutionId)
.MapT(r => r.Id)
.Map(o => o.ToValidation<BaseError>($"[Resolution] {updateFFmpegProfile.ResolutionId} does not exist"));
}
}

2
ErsatzTV.Application/FFmpegProfiles/Commands/UpdateFFmpegProfileResult.cs

@ -1,3 +1,3 @@ @@ -1,3 +1,3 @@
namespace ErsatzTV.Application.FFmpegProfiles;
public record UpdateFFmpegProfileResult(int FFmpegProfileId) : EntityIdResult(FFmpegProfileId);
public record UpdateFFmpegProfileResult(int FFmpegProfileId) : EntityIdResult(FFmpegProfileId);

2
ErsatzTV.Application/FFmpegProfiles/Commands/UpdateFFmpegSettings.cs

@ -2,4 +2,4 @@ @@ -2,4 +2,4 @@
namespace ErsatzTV.Application.FFmpegProfiles;
public record UpdateFFmpegSettings(FFmpegSettingsViewModel Settings) : MediatR.IRequest<Either<BaseError, Unit>>;
public record UpdateFFmpegSettings(FFmpegSettingsViewModel Settings) : IRequest<Either<BaseError, Unit>>;

2
ErsatzTV.Application/FFmpegProfiles/Commands/UpdateFFmpegSettingsHandler.cs

@ -121,4 +121,4 @@ public class UpdateFFmpegSettingsHandler : IRequestHandler<UpdateFFmpegSettings, @@ -121,4 +121,4 @@ public class UpdateFFmpegSettingsHandler : IRequestHandler<UpdateFFmpegSettings,
return Unit.Default;
}
}
}

2
ErsatzTV.Application/FFmpegProfiles/FFmpegProfileViewModel.cs

@ -22,4 +22,4 @@ public record FFmpegProfileViewModel( @@ -22,4 +22,4 @@ public record FFmpegProfileViewModel(
int AudioChannels,
int AudioSampleRate,
bool NormalizeFramerate,
bool DeinterlaceVideo);
bool DeinterlaceVideo);

2
ErsatzTV.Application/FFmpegProfiles/FFmpegSettingsViewModel.cs

@ -12,4 +12,4 @@ public class FFmpegSettingsViewModel @@ -12,4 +12,4 @@ public class FFmpegSettingsViewModel
public int HlsSegmenterIdleTimeout { get; set; }
public int WorkAheadSegmenterLimit { get; set; }
public int InitialSegmentCount { get; set; }
}
}

2
ErsatzTV.Application/FFmpegProfiles/Mapper.cs

@ -28,4 +28,4 @@ internal static class Mapper @@ -28,4 +28,4 @@ internal static class Mapper
private static ResolutionViewModel Project(Resolution resolution) =>
new(resolution.Id, resolution.Name, resolution.Width, resolution.Height);
}
}

2
ErsatzTV.Application/FFmpegProfiles/Queries/GetAllFFmpegProfiles.cs

@ -1,3 +1,3 @@ @@ -1,3 +1,3 @@
namespace ErsatzTV.Application.FFmpegProfiles;
public record GetAllFFmpegProfiles : IRequest<List<FFmpegProfileViewModel>>;
public record GetAllFFmpegProfiles : IRequest<List<FFmpegProfileViewModel>>;

2
ErsatzTV.Application/FFmpegProfiles/Queries/GetAllFFmpegProfilesHandler.cs

@ -21,4 +21,4 @@ public class GetAllFFmpegProfilesHandler : IRequestHandler<GetAllFFmpegProfiles, @@ -21,4 +21,4 @@ public class GetAllFFmpegProfilesHandler : IRequestHandler<GetAllFFmpegProfiles,
.ToListAsync(cancellationToken)
.Map(list => list.Map(ProjectToViewModel).ToList());
}
}
}

2
ErsatzTV.Application/FFmpegProfiles/Queries/GetFFmpegProfileById.cs

@ -1,3 +1,3 @@ @@ -1,3 +1,3 @@
namespace ErsatzTV.Application.FFmpegProfiles;
public record GetFFmpegProfileById(int Id) : IRequest<Option<FFmpegProfileViewModel>>;
public record GetFFmpegProfileById(int Id) : IRequest<Option<FFmpegProfileViewModel>>;

2
ErsatzTV.Application/FFmpegProfiles/Queries/GetFFmpegProfileByIdHandler.cs

@ -22,4 +22,4 @@ public class GetFFmpegProfileByIdHandler : IRequestHandler<GetFFmpegProfileById, @@ -22,4 +22,4 @@ public class GetFFmpegProfileByIdHandler : IRequestHandler<GetFFmpegProfileById,
.SelectOneAsync(p => p.Id, p => p.Id == request.Id)
.MapT(ProjectToViewModel);
}
}
}

2
ErsatzTV.Application/FFmpegProfiles/Queries/GetFFmpegSettings.cs

@ -1,3 +1,3 @@ @@ -1,3 +1,3 @@
namespace ErsatzTV.Application.FFmpegProfiles;
public record GetFFmpegSettings : IRequest<FFmpegSettingsViewModel>;
public record GetFFmpegSettings : IRequest<FFmpegSettingsViewModel>;

4
ErsatzTV.Application/FFmpegProfiles/Queries/GetFFmpegSettingsHandler.cs

@ -42,7 +42,7 @@ public class GetFFmpegSettingsHandler : IRequestHandler<GetFFmpegSettings, FFmpe @@ -42,7 +42,7 @@ public class GetFFmpegSettingsHandler : IRequestHandler<GetFFmpegSettings, FFmpe
PreferredAudioLanguageCode = await preferredAudioLanguageCode.IfNoneAsync("eng"),
HlsSegmenterIdleTimeout = await hlsSegmenterIdleTimeout.IfNoneAsync(60),
WorkAheadSegmenterLimit = await workAheadSegmenterLimit.IfNoneAsync(1),
InitialSegmentCount = await initialSegmentCount.IfNoneAsync(1),
InitialSegmentCount = await initialSegmentCount.IfNoneAsync(1)
};
foreach (int watermarkId in watermark)
@ -57,4 +57,4 @@ public class GetFFmpegSettingsHandler : IRequestHandler<GetFFmpegSettings, FFmpe @@ -57,4 +57,4 @@ public class GetFFmpegSettingsHandler : IRequestHandler<GetFFmpegSettings, FFmpe
return result;
}
}
}

2
ErsatzTV.Application/Filler/Commands/CreateFillerPreset.cs

@ -16,4 +16,4 @@ public record CreateFillerPreset( @@ -16,4 +16,4 @@ public record CreateFillerPreset(
int? MediaItemId,
int? MultiCollectionId,
int? SmartCollectionId
) : IRequest<Either<BaseError, Unit>>;
) : IRequest<Either<BaseError, Unit>>;

2
ErsatzTV.Application/Filler/Commands/CreateFillerPresetHandler.cs

@ -49,4 +49,4 @@ public class CreateFillerPresetHandler : IRequestHandler<CreateFillerPreset, Eit @@ -49,4 +49,4 @@ public class CreateFillerPresetHandler : IRequestHandler<CreateFillerPreset, Eit
return BaseError.New(ex.Message);
}
}
}
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save