Spaces:
Building
Building
David Prince
fix: add all missing local module stubs (remote_mcp_registry, mcp_auth, mcp_transport, etc)
cce8120 | from fastapi import APIRouter, Depends, HTTPException, status | |
| from sqlalchemy.orm import Session | |
| from .. import schemas, models, auth, database | |
| router = APIRouter(prefix="/users", tags=["users"]) | |
| def register(user_in: schemas.UserCreate, db: Session = Depends(database.get_db)): | |
| existing_user = db.query(models.User).filter( | |
| (models.User.username == user_in.username) | (models.User.email == user_in.email) | |
| ).first() | |
| if existing_user: | |
| raise HTTPException(status_code=400, detail="Username or email already registered") | |
| hashed_password = auth.get_password_hash(user_in.password) | |
| user = models.User(username=user_in.username, email=user_in.email, hashed_password=hashed_password) | |
| db.add(user) | |
| db.commit() | |
| db.refresh(user) | |
| return user | |
| def login(form_data: auth.OAuth2PasswordRequestForm = Depends(), db: Session = Depends(database.get_db)): | |
| user = auth.authenticate_user(db, form_data.username, form_data.password) | |
| if not user: | |
| raise HTTPException(status_code=401, detail="Incorrect username or password", headers={"WWW-Authenticate": "Bearer"}) | |
| access_token = auth.create_access_token(data={"sub": user.username}) | |
| return {"access_token": access_token, "token_type": "bearer"} | |
| def read_current_user(current_user: models.User = Depends(auth.get_current_user)): | |
| return current_user | |