Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit232e4fe

Browse files
committed
updated
1 parentd4138cf commit232e4fe

File tree

2 files changed

+25
-5
lines changed

2 files changed

+25
-5
lines changed

‎app/routers/post.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88
router=APIRouter()
99

1010

11-
@router.get('/')
11+
@router.get('/',response_model=schemas.ListPostResponse)
1212
defget_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(
1616
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}
1818

1919

2020
@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
2828

2929

3030
@router.put('/{id}',response_model=schemas.PostResponse)
31-
defupdate_post(id:str,post:schemas.CreatePostSchema,db:Session=Depends(get_db),user_id:str=Depends(require_user)):
31+
defupdate_post(id:str,post:schemas.UpdatePostSchema,db:Session=Depends(get_db),user_id:str=Depends(require_user)):
3232
post_query=db.query(models.Post).filter(models.Post.id==id)
3333
updated_post=post_query.first()
3434

3535
ifnotupdated_post:
3636
raiseHTTPException(status_code=status.HTTP_200_OK,
3737
detail=f'No post with this id:{id} found')
38-
ifupdated_post.owner_id!=user_id:
38+
ifupdated_post.user_id!=uuid.UUID(user_id):
3939
raiseHTTPException(status_code=status.HTTP_403_FORBIDDEN,
4040
detail='You are not allowed to perform this action')
4141
post_query.update(post.dict(),synchronize_session=False)

‎app/schemas.py

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
fromdatetimeimportdatetime
2+
fromtypingimportList
23
importuuid
34
frompydanticimportBaseModel,EmailStr,constr
45

@@ -30,6 +31,10 @@ class UserResponse(UserBaseSchema):
3031
updated_at:datetime
3132

3233

34+
classFilteredUserResponse(UserBaseSchema):
35+
pass
36+
37+
3338
classPostBaseSchema(BaseModel):
3439
title:str
3540
content:str
@@ -44,9 +49,24 @@ class Config:
4449
classCreatePostSchema(PostBaseSchema):
4550
pass
4651

52+
classUpdatePostSchema(BaseModel):
53+
title:str|None=None
54+
content:str|None=None
55+
category:str|None=None
56+
image:str|None=None
57+
58+
classConfig:
59+
orm_mode=True
60+
4761

4862
classPostResponse(PostBaseSchema):
4963
id:uuid.UUID
50-
user:UserResponse
64+
user:FilteredUserResponse
5165
created_at:datetime
5266
updated_at:datetime
67+
68+
69+
classListPostResponse(BaseModel):
70+
status:str
71+
results:int
72+
posts:List[PostResponse]

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp