Skip to content

Commit 7e7e5a3

Browse files
committed
fix(be/likes): post, del likes
1 parent 8d0bc02 commit 7e7e5a3

File tree

3 files changed

+9
-8
lines changed

3 files changed

+9
-8
lines changed

spez-backend/app/crud.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -96,12 +96,13 @@ def create_like(db: Session, post_id, user_id: int) -> models.Like:
9696
db.refresh(db_like)
9797
return db_like
9898

99-
def delete_like(db: Session, like_id: int):
100-
db_like = db.query(models.Like).filter(models.Like.id == like_id).first()
99+
def delete_like(db: Session, post_id: int, user_id: int):
100+
db_like = db.query(models.Like).filter(models.Like.post_id == post_id ).filter(models.Like.user_id==user_id).first()
101101
if not db_like:
102102
return None
103103
db.delete(db_like)
104104
db.commit()
105+
return
105106

106107
def get_like_by_post(db: Session, post_id: int) -> Optional[models.Like]:
107108
return db.query(models.Like).filter(models.Like.post_id == post_id).count()

spez-backend/app/router/route.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,8 @@ def get_like_by_post(post_id: int, db: Session = Depends(get_db)):
141141
return db_item
142142

143143

144-
@router.post("/likes/", response_model=schemas.LikeOut, status_code=status.HTTP_201_CREATED)
145-
def create_like(post_id: int = 0, db: Session = Depends(get_db), current_user: models.User = Depends(get_current_user)):
144+
@router.post("/likes/{post_id}", status_code=status.HTTP_201_CREATED)
145+
def create_like(post_id: int, db: Session = Depends(get_db), current_user: models.User = Depends(get_current_user)):
146146
# Ensure that either post_id or comment_id is provided
147147
# if not like.post_id and not like.comment_id:
148148
# raise HTTPException(status_code=400, detail="Either post_id or comment_id must be provided")
@@ -174,12 +174,12 @@ def create_like(post_id: int = 0, db: Session = Depends(get_db), current_user: m
174174

175175
db_like = crud.create_like(db, post_id, current_user.id)
176176
return db_like
177-
@router.delete("/likes/{like_id}", status_code=status.HTTP_204_NO_CONTENT)
178-
def delete_like(like_id: int, db: Session = Depends(get_db), current_user: models.User = Depends(get_current_user)):
177+
@router.delete("/likes/{post_id}", status_code=status.HTTP_204_NO_CONTENT)
178+
def delete_like(post_id: int, db: Session = Depends(get_db), current_user: models.User = Depends(get_current_user)):
179179
# db_like = db.query(models.Like).filter(models.Like.id == like_id).first()
180180
# if not db_like:
181181
# raise HTTPException(status_code=404, detail="Like not found")
182-
crud.delete_like(db, like_id)
182+
crud.delete_like(db, post_id, current_user.id)
183183
return
184184

185185

spez-backend/app/schemas.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ class LikeOut(BaseModel):
9696
id: int
9797
user_id: int
9898
post_id: Optional[int]
99-
comment_id: Optional[int]
99+
# comment_id: Optional[int]
100100
created_at: datetime
101101

102102
class Config:

0 commit comments

Comments
 (0)