Samir Boulahtit
5155ef7445
fix: resolve all architecture validation errors (62 -> 0)
Major refactoring to achieve zero architecture violations:
API Layer:
- vendor/settings.py: Move validation to Pydantic field validators
(tax rate, delivery method, boost sort, preorder days, languages, locales)
- admin/email_templates.py: Add Pydantic response models
(TemplateListResponse, CategoriesResponse)
- shop/auth.py: Move password reset logic to CustomerService
Service Layer:
- customer_service.py: Add password reset methods
(get_customer_for_password_reset, validate_and_reset_password)
Exception Layer:
- customer.py: Add InvalidPasswordResetTokenException,
PasswordTooShortException
Frontend:
- admin/email-templates.js: Use apiClient, Utils.showToast()
- vendor/email-templates.js: Use apiClient, parent init pattern
Templates:
- admin/email-templates.html: Fix block name to extra_scripts
- shop/base.html: Add language default filter
Tooling:
- validate_architecture.py: Fix LANG-001 false positive for
SUPPORTED_LANGUAGES and SUPPORTED_LOCALES blocks
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 18:48:59 +01:00
..
2026-01-02 19:16:35 +01:00
2026-01-02 19:16:35 +01:00
2025-12-31 21:49:23 +01:00
2025-11-28 20:10:22 +01:00
2025-11-28 19:30:17 +01:00
2025-11-28 19:37:38 +01:00
2025-12-25 20:29:44 +01:00
2025-11-28 20:10:22 +01:00
2025-12-04 22:24:45 +01:00
2025-12-01 21:50:09 +01:00
2025-12-28 20:27:20 +01:00
2026-01-03 18:48:59 +01:00
2025-11-28 19:37:38 +01:00
2025-12-31 18:48:59 +01:00
2025-12-24 22:19:43 +01:00
2025-11-28 19:37:38 +01:00
2025-12-24 18:23:49 +01:00
2025-11-28 19:37:38 +01:00
2025-11-28 19:37:38 +01:00
2025-11-28 19:30:17 +01:00
2025-11-28 19:30:17 +01:00
2025-12-22 23:13:00 +01:00
2025-11-28 19:30:17 +01:00
2025-11-28 19:30:17 +01:00
2025-12-27 21:55:03 +01:00
2025-12-20 13:11:47 +01:00
2025-11-28 20:10:22 +01:00
2025-11-28 19:30:17 +01:00
2025-12-12 22:36:04 +01:00
2025-11-28 19:30:17 +01:00
2025-11-28 19:37:38 +01:00
2025-11-28 20:10:22 +01:00
2025-11-28 19:37:38 +01:00
2025-12-04 22:24:45 +01:00