diff --git a/endpoints/signup.post.py b/endpoints/signup.post.py index 47f7fae..f22350d 100644 --- a/endpoints/signup.post.py +++ b/endpoints/signup.post.py @@ -1,33 +1,48 @@ -from fastapi import APIRouter, HTTPException +from fastapi import APIRouter, Depends, HTTPException from core.database import fake_users_db import uuid router = APIRouter() @router.post("/signup") -async def signup_demo( - username: str = "new_user", - email: str = "user@example.com", - password: str = "securepassword123" +async def signup_handler( + username: str, + email: str, + password: str, + full_name: str, + role: str = "student" ): - """Demo signup endpoint""" + """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, - "disabled": False + "full_name": full_name, + "role": role, + "disabled": False, + "verified": False } return { - "message": "User created successfully", + "message": "School portal account created successfully", "user_id": user_id, "username": username, + "role": role, "next_steps": [ - "Verify your email (demo)", - "Complete profile setup" - ] - } + "Verify your email address", + "Complete your student profile", + "Upload required documents" + ], + "features": { + "dashboard_access": True, + "course_enrollment": role == "student", + "grade_viewing": True + } + } \ No newline at end of file