Skip to content

Commit 1b74e51

Browse files
authored
Merge pull request #52 from PythonFloripa/51-atualizar-endpoint-de-likes
Feature/#51
2 parents d40db98 + 90f2433 commit 1b74e51

File tree

2 files changed

+6
-15
lines changed

2 files changed

+6
-15
lines changed

app/routers/news/routes.py

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,6 @@ class NewsLikeResponse(BaseModel):
2828
total_likes: int | None
2929

3030

31-
class LikeRequest(BaseModel):
32-
email: str
33-
34-
3531
def encode_email(email: str) -> str:
3632
"""Encodes the email to be safely stored in database."""
3733
return jwt.encode({"email": email}, SECRET_KEY, algorithm=ALGORITHM)
@@ -107,13 +103,12 @@ async def post_like(
107103
DBCommunity, Depends(get_current_active_community)
108104
],
109105
news_id: str,
110-
body: LikeRequest,
111106
user_email: str = Header(..., alias="user-email"),
112107
):
113108
"""
114109
News endpoint where user can set like to news item.
115110
"""
116-
encoded_email = encode_email(body.email)
111+
encoded_email = encode_email(user_email)
117112
total_likes = await orm_news.like_news(
118113
session=request.app.db_session_factory,
119114
news_id=news_id,
@@ -134,13 +129,12 @@ async def delete_like(
134129
DBCommunity, Depends(get_current_active_community)
135130
],
136131
news_id: str,
137-
email: str,
138132
user_email: str = Header(..., alias="user-email"),
139133
):
140134
"""
141135
News endpoint where user can set like to news item.
142136
"""
143-
encoded_email = encode_email(email)
137+
encoded_email = encode_email(user_email)
144138
total_likes = await orm_news.delete_like(
145139
session=request.app.db_session_factory,
146140
news_id=news_id,

tests/test_news.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ async def test_news_likes_endpoint(
318318
response = await async_client.post(
319319
f"/api/news/{stored_news.id}/like",
320320
json={"email": emails[0]},
321-
headers=valid_auth_headers,
321+
headers={**valid_auth_headers, "user-email": emails[0]},
322322
)
323323
assert response.status_code == status.HTTP_200_OK
324324
statement = select(News).where(News.title == news_data["title"])
@@ -329,8 +329,7 @@ async def test_news_likes_endpoint(
329329

330330
response = await async_client.post(
331331
f"/api/news/{stored_news.id}/like",
332-
json={"email": emails[1]},
333-
headers=valid_auth_headers,
332+
headers={**valid_auth_headers, "user-email": emails[1]},
334333
)
335334
assert response.status_code == status.HTTP_200_OK
336335
statement = select(News).where(News.title == news_data["title"])
@@ -345,8 +344,7 @@ async def test_news_likes_endpoint(
345344
# Remove likes
346345
response = await async_client.delete(
347346
f"/api/news/{stored_news.id}/like",
348-
params={"email": emails[0]},
349-
headers=valid_auth_headers,
347+
headers={**valid_auth_headers, "user-email": emails[0]},
350348
)
351349
assert response.status_code == status.HTTP_200_OK
352350
statement = select(News).where(News.title == news_data["title"])
@@ -357,8 +355,7 @@ async def test_news_likes_endpoint(
357355

358356
response = await async_client.delete(
359357
f"/api/news/{stored_news.id}/like",
360-
params={"email": emails[1]},
361-
headers=valid_auth_headers,
358+
headers={**valid_auth_headers, "user-email": emails[1]},
362359
)
363360
assert response.status_code == status.HTTP_200_OK
364361
statement = select(News).where(News.title == news_data["title"])

0 commit comments

Comments
 (0)