Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import models
- from fastapi import FastAPI, HTTPException, Depends
- from fastapi.middleware.cors import CORSMiddleware
- from typing import Annotated, List
- from sqlalchemy.orm import Session
- from pydantic import BaseModel
- from database import SessionLocal, engine
- app = FastAPI()
- origins = [
- "http://localhost:3000",
- ]
- app.add_middleware(
- CORSMiddleware,
- allow_origins=origins,
- allow_credentials=True,
- allow_methods=["*"],
- allow_headers=["*"]
- )
- class UserBase(BaseModel):
- first_name: str
- last_name: str
- email_address: str
- phone_number: str
- password: str
- date_of_birth: str
- class UserModel(UserBase):
- id: int
- class Config:
- orm_mode = True
- def get_db():
- db = SessionLocal()
- try:
- yield db
- finally:
- db.close()
- db_dependency = Annotated[Session, Depends(get_db)]
- models.Base.metadata.create_all(bind=engine)
- @app.post("/create_account", response_model=UserModel)
- async def create_new_user(user: UserBase, db: db_dependency):
- db_new_user = models.User(**user.dict())
- db.add(db_new_user)
- db.commit()
- db.refresh(db_new_user)
- return db_new_user
- @app.get("/create_account", response_model=List[UserModel])
- async def read_users(db: db_dependency, skip: int = 0, limit: int = 100):
- users = db.query(models.User).offset(skip).limit(limit).all()
- return users
- @app.get("/")
- async def root():
- return {"message": "Hello World!"}
Advertisement
Add Comment
Please, Sign In to add comment