refactor(api): introduce DTOs for institutional account discovery

- Replace raw Plaid entity response with a dedicated Response wrapper
- Map Plaid accounts to AccountDto to decouple API from external SDK
models
- Update integration tests to assert against the new response structure
- Add JsonConstructors to DTO records for reliable deserialization
This commit is contained in:
Stevan Freeborn
2026-02-13 21:32:49 -06:00
parent 5ab75efae9
commit 3321d2791d
3 changed files with 45 additions and 3 deletions
@@ -44,7 +44,8 @@ internal static class Endpoint
var accessToken = await encryptor.DecryptAsyncFor(user, plaidMetadata.EncryptedAccessToken, ct);
var accounts = await plaidService.GetAccountsAsync(accessToken);
var accountsDtos = accounts.Select(AccountDto.FromPlaidAccount);
return Results.Ok(accounts);
return Results.Ok(Response.From(accountsDtos));
}
}