1- from typing import List
2- from app import oauth2
1+ import uuid
32from .. import schemas , models
43from sqlalchemy .orm import Session
54from fastapi import Depends , HTTPException , status , APIRouter , Response
65from ..database import get_db
6+ from app .oauth2 import require_user
77
88router = APIRouter ()
99
1010
11- @router .get ("/" )
12- def get_posts (db : Session = Depends (get_db ), limit : int = 10 , page : int = 1 , search : str = '' ):
11+ @router .get ('/' )
12+ def get_posts (db : Session = Depends (get_db ), limit : int = 10 , page : int = 1 , search : str = '' , user_id : str = Depends ( require_user ) ):
1313 skip = (page - 1 ) * limit
1414
1515 posts = db .query (models .Post ).group_by (models .Post .id ).filter (
@@ -18,16 +18,17 @@ def get_posts(db: Session = Depends(get_db), limit: int = 10, page: int = 1, sea
1818
1919
2020@router .post ('/' , status_code = status .HTTP_201_CREATED , response_model = schemas .PostResponse )
21- def create_post (post : schemas .CreatePostSchema , db : Session = Depends (get_db ), user_id : str = Depends (oauth2 .require_user )):
22- new_post = models .Post (** post .dict (), user_id = user_id )
21+ def create_post (post : schemas .CreatePostSchema , db : Session = Depends (get_db ), owner_id : str = Depends (require_user )):
22+ post .user_id = uuid .UUID (owner_id )
23+ new_post = models .Post (** post .dict ())
2324 db .add (new_post )
2425 db .commit ()
2526 db .refresh (new_post )
2627 return new_post
2728
2829
2930@router .put ('/{id}' , response_model = schemas .PostResponse )
30- def update_post (id : str , post : schemas .CreatePostSchema , db : Session = Depends (get_db ), user_id : str = Depends (oauth2 . require_user )):
31+ def update_post (id : str , post : schemas .CreatePostSchema , db : Session = Depends (get_db ), user_id : str = Depends (require_user )):
3132 post_query = db .query (models .Post ).filter (models .Post .id == id )
3233 updated_post = post_query .first ()
3334
@@ -43,7 +44,7 @@ def update_post(id: str, post: schemas.CreatePostSchema, db: Session = Depends(g
4344
4445
4546@router .get ('/{id}' , response_model = schemas .PostResponse )
46- def get_post (id : str , db : Session = Depends (get_db ), user_id : str = Depends (oauth2 . require_user )):
47+ def get_post (id : str , db : Session = Depends (get_db ), user_id : str = Depends (require_user )):
4748 post = db .query (models .Post ).filter (models .Post .id == id ).first ()
4849 if not post :
4950 raise HTTPException (status_code = status .HTTP_404_NOT_FOUND ,
@@ -52,7 +53,7 @@ def get_post(id: str, db: Session = Depends(get_db), user_id: str = Depends(oaut
5253
5354
5455@router .delete ('/{id}' )
55- def delete_post (id : int , db : Session = Depends (get_db ), user_id : str = Depends (oauth2 . require_user )):
56+ def delete_post (id : str , db : Session = Depends (get_db ), user_id : str = Depends (require_user )):
5657 post_query = db .query (models .Post ).filter (models .Post .id == id )
5758 post = post_query .first ()
5859 if not post :
0 commit comments