From 5a45abc5242a83feac60ab6f7393f688c38b275b Mon Sep 17 00:00:00 2001 From: mpabi Date: Mon, 24 Jun 2024 17:18:57 +0000 Subject: [PATCH] added debug to endpoint get{id}, still not solved --- src/app/main.py | 20 +++++++++++++------- src/app/schemas.py | 11 ++++++----- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/src/app/main.py b/src/app/main.py index 84aac8e..eb3bcbf 100644 --- a/src/app/main.py +++ b/src/app/main.py @@ -1,7 +1,6 @@ # app/main.py -from fastapi import FastAPI, HTTPException +from fastapi import FastAPI, HTTPException, Depends from sqlalchemy.orm import Session -from fastapi import Depends from app.database import SessionLocal, engine from app import models, schemas @@ -9,7 +8,6 @@ models.Base.metadata.create_all(bind=engine) app = FastAPI() -# Dependency def get_db(): db = SessionLocal() try: @@ -25,9 +23,17 @@ def create_passport_data(passport_data: schemas.PassportDataCreate, db: Session db.refresh(db_passport_data) return db_passport_data -@app.get("/passport/{passport_id}", response_model=schemas.PassportData) -def read_passport_data(passport_id: int, db: Session = Depends(get_db)): - db_passport_data = db.query(models.PassportData).filter(models.PassportData.id == passport_id).first() +@app.get("/passport/{passport_number}", response_model=schemas.PassportData) +def read_passport_data(passport_number: str, db: Session = Depends(get_db)): + db_passport_data = db.query(models.PassportData).filter(models.PassportData.number == passport_number).first() + + print ("---") + print (db_passport_data) + print ("---") + for key, value in vars(db_passport_data).items(): + if not key.startswith('_'): + print(f'{key}: {value}') + if db_passport_data is None: raise HTTPException(status_code=404, detail="Passport data not found") - return db_passport_data + return schemas.PassportData.from_orm(db_passport_data) diff --git a/src/app/schemas.py b/src/app/schemas.py index 0de4701..a0a01e1 100644 --- a/src/app/schemas.py +++ b/src/app/schemas.py @@ -1,13 +1,14 @@ # app/schemas.py from pydantic import BaseModel +from typing import Optional class PassportDataBase(BaseModel): number: str - name: str - surname: str - gender: str - fingerprint_url: str - photo_url: str + name: Optional[str] = None + surname: Optional[str] = None + gender: Optional[str] = None + fingerprint_url: Optional[str] = None + photo_url: Optional[str] = None class PassportDataCreate(PassportDataBase): pass