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 )
0 commit comments