From 67db7a724ff4568e6fe348857ff542fcc2fa3503 Mon Sep 17 00:00:00 2001 From: Eeap Date: Tue, 28 Nov 2023 01:37:50 +0900 Subject: [PATCH 1/3] feat: get all market data route --- app/api/routes/markets.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/app/api/routes/markets.py b/app/api/routes/markets.py index be8c7d7..017e932 100644 --- a/app/api/routes/markets.py +++ b/app/api/routes/markets.py @@ -34,7 +34,7 @@ def create_market_posts( @router.get("/get/{category}/{page}") def get_market_posts( *, db: Session = Depends(database.get_db), category: str, page: int -) -> tuple[Any, list[UploadFile] | list[Any]]: +) -> Any: # market data get market_data = crud_posts.get(db=db, category=category, post_id=page) if market_data: @@ -45,3 +45,18 @@ def get_market_posts( status_code=500, detail="getting market data failed", ) + +@router.get("/get_all") +def get_all_market_posts( + *, db: Session = Depends(database.get_db) +) -> Any: + # market data get + market_data = crud_posts.get_all(db=db,category="market") + if market_data: + res_data = jsonable_encoder(market_data) + return JSONResponse(content=res_data) + else: + raise HTTPException( + status_code=500, + detail="getting all market data failed", + ) From a02bcc06e432557f072bc6d8cf171693d14bfedc Mon Sep 17 00:00:00 2001 From: Eeap Date: Tue, 28 Nov 2023 01:38:58 +0900 Subject: [PATCH 2/3] feat: get all data from db --- app/crud/crud_posts.py | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/app/crud/crud_posts.py b/app/crud/crud_posts.py index 09afa22..fb84865 100644 --- a/app/crud/crud_posts.py +++ b/app/crud/crud_posts.py @@ -42,8 +42,8 @@ def create(db: Session, *, obj_in: posts.PostCreate, files: List[UploadFile]) -> def get( db: Session, *, category: str, post_id: int -) -> list[markets.MarketGet] | list[Any]: - post_data = db.query(Post).filter(Post.id == post_id).one() +) -> markets.MarketGet | None: + post_data = db.query(Post).filter(Post.id == post_id, Post.category == category).one() if category == "market": if post_data.image: file_list = s3_get( @@ -61,3 +61,23 @@ def get( else: return None + +def get_all( + db: Session, category: str +) -> list[markets.MarketGet] | list[Any]: + post_data = db.query(Post).filter(Post.category == category).all() + result = [] + if category == "market": + for post in post_data: + file_list = [] + if post.image: + file_list = s3_get( + post_id=post.id, + user_email="sumink0903@gmail.com", # should be changed with user email + category=category, + ) + market_data = get_market( + db, post_id=post.id, post_data=post, file_list=file_list + ) + result.append(market_data) + return result From 3fbd6cf027cb823bd39b1222ce146a557324dafe Mon Sep 17 00:00:00 2001 From: Eeap Date: Tue, 28 Nov 2023 01:39:42 +0900 Subject: [PATCH 3/3] chore: lint with black cli --- app/api/routes/markets.py | 7 +++---- app/crud/crud_posts.py | 15 +++++++-------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/app/api/routes/markets.py b/app/api/routes/markets.py index 017e932..958260a 100644 --- a/app/api/routes/markets.py +++ b/app/api/routes/markets.py @@ -46,12 +46,11 @@ def get_market_posts( detail="getting market data failed", ) + @router.get("/get_all") -def get_all_market_posts( - *, db: Session = Depends(database.get_db) -) -> Any: +def get_all_market_posts(*, db: Session = Depends(database.get_db)) -> Any: # market data get - market_data = crud_posts.get_all(db=db,category="market") + market_data = crud_posts.get_all(db=db, category="market") if market_data: res_data = jsonable_encoder(market_data) return JSONResponse(content=res_data) diff --git a/app/crud/crud_posts.py b/app/crud/crud_posts.py index fb84865..09d34a7 100644 --- a/app/crud/crud_posts.py +++ b/app/crud/crud_posts.py @@ -40,10 +40,10 @@ def create(db: Session, *, obj_in: posts.PostCreate, files: List[UploadFile]) -> return db_obj -def get( - db: Session, *, category: str, post_id: int -) -> markets.MarketGet | None: - post_data = db.query(Post).filter(Post.id == post_id, Post.category == category).one() +def get(db: Session, *, category: str, post_id: int) -> markets.MarketGet | None: + post_data = ( + db.query(Post).filter(Post.id == post_id, Post.category == category).one() + ) if category == "market": if post_data.image: file_list = s3_get( @@ -62,9 +62,8 @@ def get( else: return None -def get_all( - db: Session, category: str -) -> list[markets.MarketGet] | list[Any]: + +def get_all(db: Session, category: str) -> list[markets.MarketGet] | list[Any]: post_data = db.query(Post).filter(Post.category == category).all() result = [] if category == "market": @@ -73,7 +72,7 @@ def get_all( if post.image: file_list = s3_get( post_id=post.id, - user_email="sumink0903@gmail.com", # should be changed with user email + user_email="sumink0903@gmail.com", # should be changed with user email category=category, ) market_data = get_market(