rwadurian/backend/services/auth-service
hailin 9037c2da97 feat(auth): implement transactional idempotent CDC consumer for 1.0->2.0 sync
Implements 100% exactly-once semantics for CDC events from 1.0 identity-service
(user_accounts table) to auth-service.

Key changes:
- Add ProcessedCdcEvent model with (sourceTopic, offset) unique constraint
- Implement processWithIdempotency() using Serializable transaction isolation
- All database operations now use the transaction client
- Outbox event creation is also within the same transaction

This ensures that:
1. Each CDC event is processed exactly once
2. Idempotency record and business logic are in the same transaction
3. Outbox event publishing is atomic with data sync
4. Any failure causes complete rollback

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 19:29:42 -08:00
..
prisma feat(auth): implement transactional idempotent CDC consumer for 1.0->2.0 sync 2026-01-12 19:29:42 -08:00
src feat(auth): implement transactional idempotent CDC consumer for 1.0->2.0 sync 2026-01-12 19:29:42 -08:00
.env.example feat(auth-service,mining-app): 实现完整认证流程和CDC用户同步 2026-01-11 05:29:48 -08:00
Dockerfile fix(2.0-services): 更新package-lock.json并添加bcrypt编译支持 2026-01-10 23:53:11 -08:00
nest-cli.json feat(auth-service): 添加用户认证服务2.0 2026-01-10 18:50:59 -08:00
package-lock.json feat(auth-service): 添加用户认证服务2.0 2026-01-10 18:50:59 -08:00
package.json feat(auth-service): 添加用户认证服务2.0 2026-01-10 18:50:59 -08:00
tsconfig.json feat(auth-service): 添加用户认证服务2.0 2026-01-10 18:50:59 -08:00