Files
papi-py/users.py
steve 5357888fab
All checks were successful
Build and Push to Private Registry101 / build (push) Successful in 8s
qa (#6)
Co-authored-by: stephen schuresko <mynameisdeleted@gmail.com>
Reviewed-on: https://192.168.1.134:3000/posts-api/papi-py/pulls/6
2025-02-17 22:38:25 -05:00

53 lines
1.6 KiB
Python

from fastapi import APIRouter, Depends
from sqlalchemy.orm import sessionmaker, Session, declarative_base
from sqlalchemy import create_engine, Column, Integer,String, ForeignKey
import db
class User(db.Base):
__tablename__ = "users"
id = Column(Integer, primary_key=True, index=True)
name = Column(String, index=True)
email = Column(String, unique=True, index=True)
password = Column(String)
router = APIRouter(prefix="/users")
@router.get("")
def get_users(db: Session = Depends(db.get_db)):
return db.query(User).all()
@router.get("/{id}")
def get_user( id, db: Session = Depends(db.get_db)):
db_user = db.query(User).filter(User.id == id).first()
return db_user
@router.post("")
def create_user( user: dict, db: Session = Depends(db.get_db)):
db_user = User(**user)
db.add(db_user)
db.commit()
db.refresh(db_user)
return {"message":"User created successfully","user":db_user}
@router.put("/{id}")
def update_user( id, user: dict, db: Session = Depends(db.get_db)):
db_user = db.query(User).filter(User.id == id).first()
if "name" in user:
db_user.name = user["name"]
if "email" in user:
db_user.email = user["email"]
if "password" in user:
db_user.password = user["password"]
db.commit()
db.refresh(db_user)
return {"message":"User updated successfully","user":db_user}
@router.delete("/{id}")
def delete_user(id, db: Session = Depends(db.get_db)):
db_user = db.query(User).filter(User.id == id).first()
db.delete(db_user)
db.commit()
return {"message":"User deleted successfully","user":db_user}