Ongoing enhancements
This commit is contained in:
+30
-24
@@ -3,8 +3,8 @@ from fastapi.security import OAuth2PasswordBearer
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
from pydantic import BaseModel
|
||||
from typing import List, Annotated, Optional
|
||||
import models
|
||||
from database import engine, SessionLocal
|
||||
from sustApp.models.models import Base, Members, Payments
|
||||
from sustApp.models.database import engine, SessionLocal
|
||||
from sqlalchemy.orm import Session
|
||||
from datetime import datetime
|
||||
|
||||
@@ -12,8 +12,14 @@ from datetime import datetime
|
||||
#ngrok http http://localhost:8000
|
||||
|
||||
app = FastAPI()
|
||||
|
||||
@app.get("/")
|
||||
|
||||
def read_root():
|
||||
return {"Hello": "World"}
|
||||
|
||||
#oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")
|
||||
models.Base.metadata.create_all(bind=engine)
|
||||
Base.metadata.create_all(bind=engine)
|
||||
|
||||
origins = [
|
||||
"http://localhost.tiangolo.com",
|
||||
@@ -75,21 +81,21 @@ db_dependency = Annotated[Session, Depends(get_db)]
|
||||
|
||||
@app.get("/members/", response_model=List[MemberBase])
|
||||
async def read_members(db: db_dependency, skip: int = 0, limit: int = 100 ):
|
||||
members = db.query(models.Members).offset(skip).limit(limit).all()
|
||||
members = db.query(Members).offset(skip).limit(limit).all()
|
||||
if not members:
|
||||
raise HTTPException(status_code=400, detail='No members')
|
||||
return members
|
||||
|
||||
@app.get("/member/{member_id}")
|
||||
async def read_member(member_id: int, db: db_dependency): #, token: Annotated[str, Depends(oauth2_scheme)]):
|
||||
result = db.query(models.Members).filter(models.Members.id == member_id).first()
|
||||
result = db.query(Members).filter(Members.id == member_id).first()
|
||||
if not result:
|
||||
raise HTTPException(status_code=400, detail='Member does not exist')
|
||||
return result
|
||||
|
||||
@app.get("/payments/{member_id}")
|
||||
async def read_payments(member_id: int, db: db_dependency):
|
||||
result = db.query(models.Members).filter(models.Members.id == member_id).all()
|
||||
result = db.query(Members).filter(Members.id == member_id).all()
|
||||
if not result:
|
||||
raise HTTPException(status_code=400, detail=f'No payments found for member {member_id}')
|
||||
return result
|
||||
@@ -97,34 +103,34 @@ async def read_payments(member_id: int, db: db_dependency):
|
||||
@app.post("/members/")
|
||||
async def create_member(member: MemberBase, db: db_dependency):
|
||||
#db_member = models.Members(**member.model_dump())
|
||||
db_member = models.Members(member_firstname=member.member_firstname,
|
||||
member_surname=member.member_surname,
|
||||
member_active=member.member_active)
|
||||
db_member = Members(member_firstname=member.member_firstname,
|
||||
member_surname=member.member_surname,
|
||||
member_active=member.member_active)
|
||||
db.add(db_member)
|
||||
db.commit()
|
||||
|
||||
@app.post("/fullmembers/")
|
||||
async def create_members(members: List[MemberBase], db: db_dependency):
|
||||
for member in members:
|
||||
db_member = models.Members(member_count=member.member_count,
|
||||
member_firstname=member.member_firstname,
|
||||
member_firstname_spouse=member.member_firstname_spouse,
|
||||
member_surname=member.member_surname,
|
||||
member_suffix=member.member_suffix,
|
||||
member_street=member.member_street,
|
||||
member_streetnumber=member.member_streetnumber,
|
||||
member_email=member.member_email,
|
||||
member_zip=member.member_zip,
|
||||
member_city=member.member_city,
|
||||
member_active=member.member_active,
|
||||
member_gender=member.member_gender,
|
||||
member_connected=member.member_connected)
|
||||
db_member = Members(member_count=member.member_count,
|
||||
member_firstname=member.member_firstname,
|
||||
member_firstname_spouse=member.member_firstname_spouse,
|
||||
member_surname=member.member_surname,
|
||||
member_suffix=member.member_suffix,
|
||||
member_street=member.member_street,
|
||||
member_streetnumber=member.member_streetnumber,
|
||||
member_email=member.member_email,
|
||||
member_zip=member.member_zip,
|
||||
member_city=member.member_city,
|
||||
member_active=member.member_active,
|
||||
member_gender=member.member_gender,
|
||||
member_connected=member.member_connected)
|
||||
db.add(db_member)
|
||||
#db.commit()
|
||||
#db.refresh(db_member)
|
||||
if not member.payments is None:
|
||||
for payment in member.payments:
|
||||
db_payment = models.Payments(payment_date=payment.payment_date,
|
||||
member_id=db_member.id)
|
||||
db_payment = Payments(payment_date=payment.payment_date,
|
||||
member_id=db_member.id)
|
||||
db.add(db_payment)
|
||||
db.commit()
|
||||
Reference in New Issue
Block a user