1
- from typing import List
2
- from app import oauth2
1
+ import uuid
3
2
from .. import schemas , models
4
3
from sqlalchemy .orm import Session
5
4
from fastapi import Depends , HTTPException , status , APIRouter , Response
6
5
from ..database import get_db
6
+ from app .oauth2 import require_user
7
7
8
8
router = APIRouter ()
9
9
10
10
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 ) ):
13
13
skip = (page - 1 ) * limit
14
14
15
15
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
18
18
19
19
20
20
@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 ())
23
24
db .add (new_post )
24
25
db .commit ()
25
26
db .refresh (new_post )
26
27
return new_post
27
28
28
29
29
30
@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 )):
31
32
post_query = db .query (models .Post ).filter (models .Post .id == id )
32
33
updated_post = post_query .first ()
33
34
@@ -43,7 +44,7 @@ def update_post(id: str, post: schemas.CreatePostSchema, db: Session = Depends(g
43
44
44
45
45
46
@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 )):
47
48
post = db .query (models .Post ).filter (models .Post .id == id ).first ()
48
49
if not post :
49
50
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
52
53
53
54
54
55
@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 )):
56
57
post_query = db .query (models .Post ).filter (models .Post .id == id )
57
58
post = post_query .first ()
58
59
if not post :
0 commit comments