Files
fiscalos/src/FiscalOS.API/Institutions/GetAvailable/Response.cs
T

50 lines
1.2 KiB
C#
Raw Normal View History

namespace FiscalOS.API.Institutions.GetAvailable;
internal sealed record Response
{
public IEnumerable<AvailableAccountDto> Accounts { get; init; } = [];
[JsonConstructor]
private Response()
{
}
public static Response From(IEnumerable<AvailableAccountDto> accounts)
{
return new Response
{
Accounts = accounts
};
}
}
internal sealed record AvailableAccountDto
{
public string ProviderInstitutionId { get; init; } = string.Empty;
public string ProviderId { get; init; } = string.Empty;
public string ProviderName { get; init; } = string.Empty;
2026-02-14 06:19:19 -06:00
public decimal CurrentBalance { get; init; }
public decimal AvailableBalance { get; init; }
public string CurrencyCode { get; init; } = string.Empty;
[JsonConstructor]
private AvailableAccountDto()
{
}
public static AvailableAccountDto From(
PlaidMetadata plaidMetadata,
Going.Plaid.Entity.Account plaidAccount
)
{
return new AvailableAccountDto
{
ProviderInstitutionId = plaidMetadata.PlaidId,
ProviderId = plaidAccount.AccountId,
2026-02-14 06:19:19 -06:00
ProviderName = plaidAccount.Name,
AvailableBalance = plaidAccount.Available,
CurrentBalance = plaidAccount.Current,
CurrencyCode = plaidAccount.CurrencyCode,
};
}
}