feat(schemas): T17 add Pydantic auth schemas

Add authentication schemas for user registration and login:
- UserRegister: email, password (with strength validation), password_confirm
- UserLogin: email, password
- UserResponse: id, email, created_at, is_active (orm_mode=True)
- TokenResponse: access_token, token_type, expires_in
- TokenData: user_id, exp

Includes field validators for password strength and password confirmation matching.

Test coverage: 19 tests for all schemas
This commit is contained in:
Luca Sacchi Ricciardi
2026-04-07 13:52:33 +02:00
parent a698d09a77
commit 02473bc39e
7 changed files with 1341 additions and 5 deletions

29
docs/githistory.md Normal file
View File

@@ -0,0 +1,29 @@
## 2026-04-07: Security Services Implementation (T12-T16)
### Commits
- `2fdd9d1` feat(security): T12 implement AES-256 encryption service
- `54e8116` feat(security): T13 implement bcrypt password hashing
- `781e564` feat(security): T14 implement JWT utilities
- `649ff76` feat(security): T15 implement API token generation
- `a698d09` feat(security): T16 finalize security services exports
### Contenuto
Implementazione completa dei servizi di sicurezza con TDD:
- EncryptionService (AES-256-GCM con PBKDF2HMAC)
- Password hashing (bcrypt 12 rounds) con strength validation
- JWT utilities (HS256) con create/decode/verify
- API token generation (SHA-256) con timing-safe comparison
### Statistiche
- 70 test passanti
- 100% coverage su tutti i moduli security
- 5 commit atomici seguendo conventional commits
### Note
Tutti i test sono stati scritti prima del codice (TDD puro).
Ogni servizio ha test per casi di successo, errori, e edge cases.