27 lines
1.0 KiB
C#
27 lines
1.0 KiB
C#
using Mirea.Api.Dto.Responses;
|
|
using Mirea.Api.Security.Common.Domain;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
namespace Mirea.Api.Endpoint.Common.MapperDto;
|
|
|
|
public static class AvailableProvidersConverter
|
|
{
|
|
public static Dto.Common.OAuthProvider ConvertToDto(this OAuthProvider provider) =>
|
|
provider switch
|
|
{
|
|
OAuthProvider.Google => Dto.Common.OAuthProvider.Google,
|
|
OAuthProvider.Yandex => Dto.Common.OAuthProvider.Yandex,
|
|
OAuthProvider.MailRu => Dto.Common.OAuthProvider.MailRu,
|
|
_ => throw new ArgumentOutOfRangeException(nameof(provider), provider, null)
|
|
};
|
|
|
|
public static List<AvailableOAuthProvidersResponse> ConvertToDto(this (OAuthProvider Provider, Uri Redirect)[] data) =>
|
|
data.Select(x => new AvailableOAuthProvidersResponse()
|
|
{
|
|
ProviderName = Enum.GetName(x.Provider)!,
|
|
Provider = x.Provider.ConvertToDto(),
|
|
Redirect = x.Redirect.ToString()
|
|
}).ToList();
|
|
} |