8
8
router = APIRouter ()
9
9
10
10
11
- @router .get ('/' )
11
+ @router .get ('/' , response_model = schemas . ListPostResponse )
12
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 (
16
16
models .Post .title .contains (search )).limit (limit ).offset (skip ).all ()
17
- return {'status' :'success' ,'results' :len (posts ),'data ' :posts }
17
+ return {'status' :'success' ,'results' :len (posts ),'posts ' :posts }
18
18
19
19
20
20
@router .post ('/' ,status_code = status .HTTP_201_CREATED ,response_model = schemas .PostResponse )
@@ -28,14 +28,14 @@ def create_post(post: schemas.CreatePostSchema, db: Session = Depends(get_db), o
28
28
29
29
30
30
@router .put ('/{id}' ,response_model = schemas .PostResponse )
31
- def update_post (id :str ,post :schemas .CreatePostSchema ,db :Session = Depends (get_db ),user_id :str = Depends (require_user )):
31
+ def update_post (id :str ,post :schemas .UpdatePostSchema ,db :Session = Depends (get_db ),user_id :str = Depends (require_user )):
32
32
post_query = db .query (models .Post ).filter (models .Post .id == id )
33
33
updated_post = post_query .first ()
34
34
35
35
if not updated_post :
36
36
raise HTTPException (status_code = status .HTTP_200_OK ,
37
37
detail = f'No post with this id:{ id } found' )
38
- if updated_post .owner_id != user_id :
38
+ if updated_post .user_id != uuid . UUID ( user_id ) :
39
39
raise HTTPException (status_code = status .HTTP_403_FORBIDDEN ,
40
40
detail = 'You are not allowed to perform this action' )
41
41
post_query .update (post .dict (),synchronize_session = False )