work
This commit is contained in:
@@ -14,6 +14,6 @@ def create_app() -> FastAPI:
|
||||
|
||||
from personal_info.routers import persons
|
||||
|
||||
app.include(persons.router)
|
||||
app.include_router(persons.router)
|
||||
|
||||
return app
|
||||
@@ -1,6 +1,6 @@
|
||||
from functools import lru_cache
|
||||
from typing import Optional
|
||||
|
||||
from os import getenv
|
||||
from pydantic import BaseSettings, PostgresDsn
|
||||
|
||||
class Settings(BaseSettings):
|
||||
@@ -11,5 +11,23 @@ def get_settings() -> Settings:
|
||||
settings = Settings() # type: ignore
|
||||
print('333333333333333333333333333333333333333333')
|
||||
print(settings)
|
||||
print(getenv("POSTGRES_DB"))
|
||||
if (db := getenv("POSTGRES_DB")) is not None:
|
||||
# settings.database_url = PostgresDsn.build(
|
||||
# scheme="postgresql",
|
||||
# user=settings.database_url.user,
|
||||
# password=settings.database_url.password,
|
||||
# host=settings.database_url.host,
|
||||
# port=settings.database_url.port,
|
||||
# path=f"/{db}",
|
||||
# )
|
||||
settings.database_url = PostgresDsn.build(
|
||||
scheme="postgresql",
|
||||
user='barbie',
|
||||
password='redStar4,1',
|
||||
host='localhost',
|
||||
port='5432',
|
||||
path=f"/{db}",
|
||||
)
|
||||
#CONTINUE
|
||||
return settings
|
||||
@@ -9,8 +9,14 @@ class Person(BaseModel):
|
||||
first_name: str
|
||||
last_name: str
|
||||
|
||||
class PersonCreate(Person):
|
||||
pass
|
||||
class Config:
|
||||
orm_mode = True
|
||||
|
||||
class PersonCreate(BaseModel):
|
||||
first_name: str
|
||||
last_name: str
|
||||
|
||||
class PersonDetail(Person):
|
||||
pass
|
||||
id: UUID4
|
||||
first_name: str
|
||||
last_name: str
|
||||
@@ -1,17 +1,20 @@
|
||||
from fastapi import Depends
|
||||
from fastapi.routing import APIRouter
|
||||
from pydantic.types import UUID4
|
||||
from typing import List, Optional
|
||||
|
||||
from personal_info.db import models
|
||||
from personal_info.db.schemas import Person, PersonDetail
|
||||
from personal_info.db.schemas import Person, PersonDetail, PersonCreate
|
||||
from personal_info.services import PersonService, get_persons_service
|
||||
|
||||
router = APIrouter(prefix='/people')
|
||||
router = APIRouter(prefix='/persons')
|
||||
|
||||
@router.get('/', response_model=List[Person])
|
||||
async def list_persons(
|
||||
persons_service: PersonService = Depends(get_persons_service),
|
||||
) -> List[models.Person]:
|
||||
print('=======================================')
|
||||
print(persons_service.list())
|
||||
return persons_service.list()
|
||||
|
||||
@router.get('/{person_id}', response_model=PersonDetail)
|
||||
|
||||
@@ -11,9 +11,10 @@ class PersonService(BaseService[Person, PersonCreate, Any]):
|
||||
def __init__(self, db_session: Session):
|
||||
super(PersonService, self).__init__(Person, db_session)
|
||||
|
||||
def create(self, obj: PersonCreate) -> Person:
|
||||
person: Person = Person()
|
||||
self.db_session.add(person)
|
||||
self.db_session.flush()
|
||||
self.db_session.commit()
|
||||
return person
|
||||
# def create(self, obj: PersonCreate) -> Person:
|
||||
|
||||
# person: Person = Person()
|
||||
# self.db_session.add(person)
|
||||
# self.db_session.flush()
|
||||
# self.db_session.commit()
|
||||
# return person
|
||||
|
||||
Reference in New Issue
Block a user