|
from fastapi import FastAPI, Depends |
|
from sqlalchemy.orm import Session |
|
from models import User, Team |
|
from schemas import UserCreate, UserUpdate, TeamCreate |
|
from database import get_db |
|
|
|
app = FastAPI() |
|
|
|
@app.post("/users/") |
|
def create_user(user: UserCreate, db: Session = Depends()): |
|
db_user = User(username=user.username, password=user.password) |
|
db.add(db_user) |
|
db.commit() |
|
return {"message": "User created successfully"} |
|
|
|
@app.post("/teams/") |
|
def create_team(team: TeamCreate, db: Session = Depends()): |
|
db_team = Team(name=team.name) |
|
db.add(db_team) |
|
db.commit() |
|
return {"message": "Team created successfully"} |
|
|
|
@app.get("/users/") |
|
def read_users(db: Session = Depends()): |
|
users = db.query(User).all() |
|
return [{"id": user.id, "username": user.username} for user in users] |
|
|
|
@app.get("/teams/") |
|
def read_teams(db: Session = Depends()): |
|
teams = db.query(Team).all() |
|
return [{"id": team.id, "name": team.name} for team in teams] |
|
|
|
@app.get("/users/{user_id}") |
|
def read_user(user_id: int, db: Session = Depends()): |
|
user = db.query(User).filter(User.id == user_id).first() |
|
if user is None: |
|
return {"error": "User not found"} |
|
return {"id": user.id, "username": user.username, "profile": user.profile, "tags": user.tags} |
|
|
|
@app.put("/users/{user_id}") |
|
def update_user(user_id: int, user: UserUpdate, db: Session = Depends()): |
|
user_db = db.query(User).filter(User.id == user_id).first() |
|
if user_db is None: |
|
return {"error": "User not found"} |
|
user_db.username = user.username |
|
user_db.profile = user.profile |
|
user_db.tags = user.tags |
|
db.commit() |
|
return {"message": "User updated successfully"} |