hhy-51m39c/endpoints/signup.post.py
2025-03-20 23:57:09 +00:00

48 lines
1.3 KiB
Python

from fastapi import APIRouter, Depends, HTTPException
from core.database import fake_users_db
import uuid
router = APIRouter()
@router.post("/signup")
async def signup_handler(
username: str,
email: str,
password: str,
full_name: str,
role: str = "student"
):
"""School portal signup endpoint"""
if username in fake_users_db:
raise HTTPException(status_code=400, detail="Username already exists")
if role not in ["student", "teacher", "admin"]:
raise HTTPException(status_code=400, detail="Invalid role specified")
user_id = str(uuid.uuid4())
fake_users_db[username] = {
"id": user_id,
"email": email,
"password": password,
"full_name": full_name,
"role": role,
"disabled": False,
"verified": False
}
return {
"message": "School portal account created successfully",
"user_id": user_id,
"username": username,
"role": role,
"next_steps": [
"Verify your email address",
"Complete your student profile",
"Upload required documents"
],
"features": {
"dashboard_access": True,
"course_enrollment": role == "student",
"grade_viewing": True
}
}