Commit 629dd62
committed
feat: add OTP verification flow + fix concurrency stamp on user confirmation
- Domain: add OtpVerification aggregate, UserVerification entity, OtpVerificationType enum
- Application: add RequestVerification and VerifyOtp commands/handlers/validators/DTOs
- Application: add IUserRepository, IOtpVerificationRepository, IUserVerificationRepository, IOtpCodeGenerator
- Application: add OTP system codes (ERR120–ERR125, CON060–CON061) and message factory shortcuts
- Application: refactor VerifyOtpCommandHandler to use repositories instead of direct ICceDbContext queries
- Infrastructure: add EF configurations, repository implementations, HMAC-based OtpCodeGenerator
- Infrastructure: add UserRepository with FindUserIdByContactAsync and StampConfirmedAsync
- Infrastructure: fix ConcurrencyStamp null stub causing DbUpdateConcurrencyException on user confirm
- Infrastructure: restore pre-existing missing sub-namespace usings in DependencyInjection.cs
- Infrastructure: fix missing using in MessagingOptions.xml doc cref
- API: add POST /verification/request and POST /verification/verify endpoints (anonymous)
- API: add Otp:HmacSecret to appsettings (dev + base configs)
- Seeder: add OTP_VERIFICATION notification template
- Migration: AddOtpVerification1 parent dd5bbff commit 629dd62
10 files changed
Lines changed: 3982 additions & 11 deletions
File tree
- backend/src
- CCE.Api.External
- CCE.Api.Internal
- CCE.Application
- Identity
- Verification/Commands/VerifyOtp
- CCE.Infrastructure/Persistence
- Migrations
- Repositories
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
| 92 | + | |
| 93 | + | |
99 | 94 | | |
100 | 95 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
76 | 79 | | |
77 | 80 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
79 | 79 | | |
80 | 80 | | |
81 | 81 | | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
82 | 85 | | |
83 | 86 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
76 | 79 | | |
77 | 80 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
98 | | - | |
| 98 | + | |
99 | 99 | | |
100 | 100 | | |
101 | 101 | | |
0 commit comments