from fastapi import APIRouter, Depends, HTTPException from core.database import fake_users_db from typing import Optional router = APIRouter() @router.post("/login") async def school_login( username: str, password: str, role: Optional[str] = "student" ): """School portal login endpoint""" user = fake_users_db.get(username) if not user or user["password"] != password: raise HTTPException(status_code=400, detail="Invalid credentials") return { "message": "Login successful", "user": { "username": username, "role": role, "school_id": user.get("school_id", "DEFAULT_SCHOOL"), }, "token": f"school_token_{username}_{role}", "features": { "dashboard_access": True, "course_enrollment": True, "grades_view": True, "session_expires_in": 3600 }, "next_steps": [ "Complete profile information", "Check class schedule", "Review current assignments" ] }