Bitwarden-app-android-iphon.../src/Core/Models/Domain/UsernameGenerationOptions.cs

70 lines
2.8 KiB
C#

using Bit.Core.Enums;
using Bit.Core.Services.EmailForwarders;
namespace Bit.Core.Models.Domain
{
public class UsernameGenerationOptions
{
public UsernameGenerationOptions()
{
ServiceType = ForwardedEmailServiceType.None;
}
public UsernameType Type { get; set; }
public ForwardedEmailServiceType ServiceType { get; set; }
public UsernameEmailType PlusAddressedEmailType { get; set; }
public UsernameEmailType CatchAllEmailType { get; set; }
public bool CapitalizeRandomWordUsername { get; set; }
public bool IncludeNumberRandomWordUsername { get; set; }
public string PlusAddressedEmail { get; set; }
public string CatchAllEmailDomain { get; set; }
public string FirefoxRelayApiAccessToken { get; set; }
public string SimpleLoginApiKey { get; set; }
public string DuckDuckGoApiKey { get; set; }
public string FastMailApiKey { get; set; }
public string AnonAddyApiAccessToken { get; set; }
public string AnonAddyDomainName { get; set; }
public string ForwardEmailApiAccessToken { get; set; }
public string ForwardEmailDomainName { get; set; }
public string EmailWebsite { get; set; }
public ForwarderOptions GetForwarderOptions()
{
if (Type != UsernameType.ForwardedEmailAlias)
{
return null;
}
switch (ServiceType)
{
case ForwardedEmailServiceType.AnonAddy:
return new AnonAddyForwarderOptions
{
ApiKey = AnonAddyApiAccessToken,
DomainName = AnonAddyDomainName
};
case ForwardedEmailServiceType.DuckDuckGo:
return new ForwarderOptions { ApiKey = DuckDuckGoApiKey };
case ForwardedEmailServiceType.Fastmail:
return new FastmailForwarderOptions
{
ApiKey = FastMailApiKey,
Website = EmailWebsite
};
case ForwardedEmailServiceType.FirefoxRelay:
return new ForwarderOptions { ApiKey = FirefoxRelayApiAccessToken };
case ForwardedEmailServiceType.SimpleLogin:
return new ForwarderOptions { ApiKey = SimpleLoginApiKey };
case ForwardedEmailServiceType.ForwardEmail:
return new ForwardEmailForwarderOptions
{
ApiKey = ForwardEmailApiAccessToken,
DomainName = ForwardEmailDomainName
};
default:
return null;
}
}
}
}