Stevan Freeborn
3b7830b1bc
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
2026-02-14 06:46:05 -06:00
Stevan Freeborn
dad2ceb450
feat(api,core,infra): refactor endpoint routing and add institution account discovery
...
- Move login and refresh endpoints under a unified /auth route group
- Relocate institution connection logic from /accounts to /institutions
- Implement GET /institutions/{id}/available to fetch real-time Plaid
accounts
- Introduce HttpRequestBuilder utility to streamline integration testing
- Enhance PlaidService with GetAccountsAsync to support account fetching
- Clean up global usings and project structure for better domain
isolation
2026-02-14 06:46:05 -06:00
Stevan Freeborn
502f6f61c1
feat(api): validate account institution is connected and allow adding new account
2026-02-13 12:38:18 -06:00
Stevan Freeborn
5192c06627
refactor(api): use convenience methods
2026-02-13 12:38:18 -06:00
Stevan Freeborn
a83dbbcc54
feat(api): add validation to prevent duplicate accounts from being added
2026-02-13 12:38:18 -06:00
Stevan Freeborn
1a41c3c0b6
feat(api): implement storing connected insitution in db
2026-02-13 04:37:47 -06:00
Stevan Freeborn
823ba4dc5a
chore: update example appsettings file
2026-02-13 04:37:47 -06:00
Stevan Freeborn
1d661ac409
feat(api): prevent user from connecting to same institution twice
2026-02-13 04:37:47 -06:00
Stevan Freeborn
683ca3fac4
feat(api): add validation for connect account request
2026-02-13 04:37:47 -06:00
Stevan Freeborn
e88adfd2a7
refactor(api): derive field name from property being validated
2026-02-13 04:37:47 -06:00
Stevan Freeborn
6fc8bd0366
refactor(api): rename type
2026-02-13 04:37:47 -06:00
Stevan Freeborn
ab23593359
refactor(api): remove whitespace
2026-02-13 04:37:47 -06:00
Stevan Freeborn
87a68669cf
feat(api): add protected connect account endpoint
2026-02-13 04:37:47 -06:00
Stevan Freeborn
9b4f0c6b9e
refactor(api): clean up usings
2026-02-06 06:53:20 -06:00
Stevan Freeborn
259daf1e5b
chore: update example settings file
2026-02-06 06:53:20 -06:00
Stevan Freeborn
21d23be2ef
fix: remove unnecessary using
2026-02-03 21:04:25 -06:00
Stevan Freeborn
73598111b2
feat: enable problem details responses
2026-02-03 21:04:25 -06:00
Stevan Freeborn
57c7a3a701
chore: configure auth schemes and add refresh token revocation migration
2026-02-03 21:04:25 -06:00
Stevan Freeborn
92b3c8e9c4
feat(api): add refresh endpoint and update global usings
2026-02-03 21:04:25 -06:00
Stevan Freeborn
e12fa0111a
feat(api): refactor login logic to use domain methods and cookie helpers
2026-02-03 21:04:25 -06:00
Stevan Freeborn
3fbd9402c3
chore: remove OpenApi and configure JWT authentication schemes
2026-02-03 21:04:25 -06:00
Stevan Freeborn
0ce97cdec8
tests(api): add integration test for happy path when logging in
2026-02-03 04:38:40 -06:00
Stevan Freeborn
98de115259
feat(core): add password hashing and token generation interfaces
2026-02-03 04:38:40 -06:00
Stevan Freeborn
b05cc06dff
feat(api): integrate abstracted token generation and update login endpoint
2026-02-03 04:38:40 -06:00
Stevan Freeborn
a1b993bd62
feat(infra): move authentication implementations and add ITokenGenerator
2026-02-03 04:38:40 -06:00
Stevan Freeborn
eb2d9fb2d0
chore: add example jwt options in example settings file
2026-02-03 04:38:40 -06:00
Stevan Freeborn
36b293aa15
feat: implement token generation and issuing on successful login
2026-02-03 04:38:40 -06:00
Stevan Freeborn
c2b681d267
feat(api): integrate infra and implement password verification on login
2026-02-03 04:38:40 -06:00
Stevan Freeborn
c79136fb26
refactor(infra): migrate data access and identity impelementations to infrastructure
2026-02-03 04:38:40 -06:00
Stevan Freeborn
7e67e02a68
refactor(core): move identity models from API to Core
2026-02-03 04:38:40 -06:00
Stevan Freeborn
647b185d40
feat: implement password hasher
2026-02-03 04:38:40 -06:00
Stevan Freeborn
083b587493
fix: remove fake auth check
2026-02-03 04:38:40 -06:00
Stevan Freeborn
c037b895f0
feat: wip on testing login flows
2026-02-03 04:38:40 -06:00
Stevan Freeborn
28e4692ca1
feat: setup db context with initial models
2026-02-03 04:38:40 -06:00
Stevan Freeborn
1f84f47f31
feat: add simple check for username and password
2026-02-03 04:38:40 -06:00
Stevan Freeborn
80b4e775d6
chore: add example appsettings file
2026-02-03 04:38:40 -06:00
Stevan Freeborn
463ff05831
refactor: use ivalidatableobject api
2026-02-03 04:38:40 -06:00
Stevan Freeborn
c5a429683c
chore: update editorconfig settings
2026-02-03 04:38:40 -06:00
Stevan Freeborn
42e590d9e6
feat: wip on login endpoint
...
- added basic REPR pattern
- added basic vert architecture
- implemented basica validation for single test case
2026-02-03 04:38:40 -06:00
Stevan Freeborn
9c38aff40f
chore: initial project setup
2026-02-01 04:23:12 -06:00