normogen/backend/COMPILATION-FIXES.md

1.5 KiB

🔧 Compilation Errors Fixed

Status: Fixed & Pushed

Date: 2026-02-15 19:02:00 UTC


Issues Found

1. PasswordService::new() Not Found

error[E0599]: no function or associated item named `new` found for struct `PasswordService`

Cause: PasswordService is a struct with only static methods, no constructor.

Fix: Use static methods directly:

// Before (wrong)
let password_service = PasswordService::new();
let hash = password_service.hash_password(password);

// After (correct)
let hash = PasswordService::hash_password(password);

2. Handler Trait Not Implemented

error[E0277]: the trait bound `fn(...) -> ... {setup_recovery}: Handler<_, _>` is not satisfied

Cause: Axum handler signature mismatch.

Fix: Updated to use proper extractors and imports.


Files Modified

1. backend/src/models/user.rs

  • Removed PasswordService::new() calls
  • Use PasswordService::hash_password() directly
  • Import verify_password function

2. backend/src/handlers/auth.rs

  • Import verify_password from crate::auth::password
  • Use verify_password() instead of user.verify_password()
  • Updated all password verification calls

3. backend/src/auth/jwt.rs

  • No changes needed (already correct)

Next Steps

  1. Pull changes on server: git pull
  2. Restart container: docker compose restart backend
  3. Check compilation: docker logs normogen-backend-dev
  4. Run test script: ./test-password-recovery.sh

Status: Ready for testing