35 lines
1.0 KiB
C#
35 lines
1.0 KiB
C#
namespace FiscalOS.Infra.Accounts.Plaid;
|
|
|
|
public sealed class PlaidInstitutionMetadata : InstitutionMetadata
|
|
{
|
|
public const string TypeValue = Providers.Plaid;
|
|
public string PlaidId { get; init; } = string.Empty;
|
|
public string PlaidName { get; init; } = string.Empty;
|
|
public string EncryptedAccessToken { get; init; } = string.Empty;
|
|
public string ItemId { get; init; } = string.Empty;
|
|
|
|
private PlaidInstitutionMetadata() : base(TypeValue)
|
|
{
|
|
}
|
|
|
|
public static PlaidInstitutionMetadata From(
|
|
string? plaidId,
|
|
string? plaidName,
|
|
string encryptedAccessToken,
|
|
string itemId
|
|
)
|
|
{
|
|
ArgumentNullException.ThrowIfNull(plaidId, nameof(plaidId));
|
|
ArgumentNullException.ThrowIfNull(plaidName, nameof(plaidName));
|
|
ArgumentNullException.ThrowIfNull(encryptedAccessToken, nameof(encryptedAccessToken));
|
|
ArgumentNullException.ThrowIfNull(itemId, nameof(itemId));
|
|
|
|
return new()
|
|
{
|
|
PlaidId = plaidId,
|
|
PlaidName = plaidName,
|
|
EncryptedAccessToken = encryptedAccessToken,
|
|
ItemId = itemId,
|
|
};
|
|
}
|
|
} |