CredentialService
using Relativity.Transfer.Dto;
using Relativity.Transfer.Resources;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
namespace Relativity.Transfer
{
[DebuggerStepThrough]
internal class CredentialService : RestServiceBase, ICredentialService
{
public CredentialService(RelativityConnectionInfo connectionInfo, ClientConfiguration configuration, ITransferLog log)
: base(connectionInfo, configuration, log)
{
}
public Task<IEnumerable<Credential>> GetCredentialsAsync(CancellationToken token)
{
return GetCredentialsAsync(null, token);
}
[AsyncStateMachine(typeof(<GetCredentialsAsync>d__2))]
public Task<IEnumerable<Credential>> GetCredentialsAsync(string condition, CancellationToken token)
{
<GetCredentialsAsync>d__2 stateMachine = default(<GetCredentialsAsync>d__2);
stateMachine.<>t__builder = AsyncTaskMethodBuilder<IEnumerable<Credential>>.Create();
stateMachine.<>4__this = this;
stateMachine.condition = condition;
stateMachine.token = token;
stateMachine.<>1__state = -1;
stateMachine.<>t__builder.Start(ref stateMachine);
return stateMachine.<>t__builder.Task;
}
[AsyncStateMachine(typeof(<GetResourceServerAsperaCredentialAsync>d__3))]
public Task<AsperaCredential> GetResourceServerAsperaCredentialAsync(int resourceServerArtifactId, CancellationToken token)
{
<GetResourceServerAsperaCredentialAsync>d__3 stateMachine = default(<GetResourceServerAsperaCredentialAsync>d__3);
stateMachine.<>t__builder = AsyncTaskMethodBuilder<AsperaCredential>.Create();
stateMachine.<>4__this = this;
stateMachine.resourceServerArtifactId = resourceServerArtifactId;
stateMachine.token = token;
stateMachine.<>1__state = -1;
stateMachine.<>t__builder.Start(ref stateMachine);
return stateMachine.<>t__builder.Task;
}
private static AsperaCredential CreateAsperaCredential(AsperaCredentialsDto dto)
{
if (dto == null)
throw new ArgumentNullException("dto");
AsperaCredential result = null;
if (dto.TransferCredential != null)
result = new AsperaCredential(CreateCredential(dto.TransferCredential));
return result;
}
private static Credential CreateCredential(CredentialDto dto)
{
if (dto.CredentialType != null)
return new Credential(dto.ArtifactId, dto.Name, dto.CredentialType.Name, dto.SecretValues);
throw new TransferException(string.Format(CultureInfo.CurrentCulture, CoreStrings.CredentialTypeExceptionMessage, dto.ArtifactId, dto.Name), true);
}
}
}