private async Task <Validation <BaseError, Parameters> > Validate(SaveEmbySecrets request) { Either <BaseError, EmbyServerInformation> maybeServerInformation = await _embyApiClient .GetServerInformation(request.Secrets.Address, request.Secrets.ApiKey); return(maybeServerInformation.Match( info => Validation <BaseError, Parameters> .Success(new Parameters(request.Secrets, info)), error => error)); }
public Task <Either <BaseError, Unit> > Handle(SaveEmbySecrets request, CancellationToken cancellationToken) => Validate(request) .MapT(PerformSave) .Bind(v => v.ToEitherAsync());