save 19.8
This commit is contained in:
@@ -27,7 +27,7 @@ from ..settings import *
|
||||
import json
|
||||
from typing import List
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
from ..models.models import *
|
||||
import requests
|
||||
import re
|
||||
from pydantic import BaseModel, Field
|
||||
@@ -41,27 +41,25 @@ post_save = APIRouter()
|
||||
|
||||
|
||||
@post_save.post("/save_post", response_description="save new post", response_model=SavePostModel)
|
||||
async def create_post(post_save: SavePost):
|
||||
async def create_post(post_save: SavePost, token: token_test = Depends(get_current_user),
|
||||
):
|
||||
try:
|
||||
url = URL_OAUTH2_GET_CHECK_TOKEN
|
||||
payload = {'token': post_save.token}
|
||||
headers = {
|
||||
'Authorization': 'Basic RGljdGlvbmFyeU1lZGlob21lOlJ4aXR6ZnZvaWFmZmNtb2l0ZW0='
|
||||
}
|
||||
response = requests.request(
|
||||
"POST", url, headers=headers, data=payload)
|
||||
data_output = json.loads(response.text)
|
||||
data = data_output.get("user_name", None)
|
||||
if data == None:
|
||||
user_name = token.get("user_name", None)
|
||||
|
||||
# data_token = await get_current_user(Nonetoken)
|
||||
# data = data_token.get("user_name", None)
|
||||
# user_type = data_token.get("user_type", None)
|
||||
if user_name == None:
|
||||
return JSONResponse(status_code=status.HTTP_401_UNAUTHORIZED, content={"message": "UNAUTHORIZED"})
|
||||
url = URL_OAUTH2_GET_CHECK_TOKEN
|
||||
count = await db["posts"].count_documents({"_id": post_save.post_id})
|
||||
if count == 0:
|
||||
return JSONResponse(status_code=status.HTTP_409_CONFLICT, content={"message": "Bài viết không tồn tại"})
|
||||
post_save.created_at = datetime.datetime.now(tz=tz)
|
||||
post_save = jsonable_encoder(post_save)
|
||||
del post_save["token"]
|
||||
post_save["username"] = data
|
||||
created_post = await db["post_save"].count_documents({"post_id": post_save["post_id"], "username": data})
|
||||
post_save["username"] = user_name
|
||||
created_post = await db["post_save"].count_documents({"post_id": post_save["post_id"], "username": user_name})
|
||||
if created_post == 1:
|
||||
return JSONResponse(status_code=status.HTTP_409_CONFLICT, content={"message": "Bài viết đã được lưu trước đó"})
|
||||
new_post = await db["post_save"].insert_one(post_save)
|
||||
@@ -74,38 +72,34 @@ async def create_post(post_save: SavePost):
|
||||
@post_save.post(
|
||||
"/list_save_post_by_user", response_description="List save posts", response_model=SavePostModel
|
||||
)
|
||||
async def list_post(post_save: SavePost):
|
||||
url = URL_OAUTH2_GET_CHECK_TOKEN
|
||||
payload = {'token': post_save.token}
|
||||
headers = {
|
||||
'Authorization': 'Basic RGljdGlvbmFyeU1lZGlob21lOlJ4aXR6ZnZvaWFmZmNtb2l0ZW0='
|
||||
}
|
||||
response = requests.request(
|
||||
"POST", url, headers=headers, data=payload)
|
||||
data_output = json.loads(response.text)
|
||||
data = data_output.get("user_name", None)
|
||||
if data == None:
|
||||
return JSONResponse(status_code=status.HTTP_401_UNAUTHORIZED, content={"message": "UNAUTHORIZED"})
|
||||
posts = await db["post_save"].find({"username": data}).to_list(1000)
|
||||
return JSONResponse(status_code=status.HTTP_200_OK, content=posts)
|
||||
async def list_post(post_save: SavePost, token: token_test = Depends(get_current_user),
|
||||
):
|
||||
try:
|
||||
user_name = token.get("user_name", None)
|
||||
|
||||
# data_token = await get_current_user(Nonetoken)
|
||||
# data = data_token.get("user_name", None)
|
||||
# user_type = data_token.get("user_type", None)
|
||||
if user_name == None:
|
||||
return JSONResponse(status_code=status.HTTP_401_UNAUTHORIZED, content={"message": "UNAUTHORIZED"})
|
||||
posts = await db["post_save"].find({"username": user_name}).to_list(20)
|
||||
return JSONResponse(status_code=status.HTTP_200_OK, content=posts)
|
||||
except NameError:
|
||||
return NameError
|
||||
|
||||
|
||||
@post_save.delete("/delete_save_post", response_description="Delete save post")
|
||||
async def delete_save_post(post_id: str, token: str):
|
||||
# delete_result = await db["post_save"].delete_one({"_id": user_id})
|
||||
async def delete_save_post(post_id: str, token: token_test = Depends(get_current_user),
|
||||
):
|
||||
try:
|
||||
url = URL_OAUTH2_GET_CHECK_TOKEN
|
||||
payload = {'token': token}
|
||||
headers = {
|
||||
'Authorization': 'Basic RGljdGlvbmFyeU1lZGlob21lOlJ4aXR6ZnZvaWFmZmNtb2l0ZW0='
|
||||
}
|
||||
response = requests.request(
|
||||
"POST", url, headers=headers, data=payload)
|
||||
data_output = json.loads(response.text)
|
||||
data = data_output.get("user_name", None)
|
||||
if data == None:
|
||||
user_name = token.get("user_name", None)
|
||||
|
||||
# data_token = await get_current_user(Nonetoken)
|
||||
# data = data_token.get("user_name", None)
|
||||
# user_type = data_token.get("user_type", None)
|
||||
if user_name == None:
|
||||
return JSONResponse(status_code=status.HTTP_401_UNAUTHORIZED, content={"message": "UNAUTHORIZED"})
|
||||
delete_result = await db["post_save"].delete_one({"post_id": post_id, "username": data})
|
||||
delete_result = await db["post_save"].delete_one({"post_id": post_id, "username": user_name})
|
||||
if delete_result.deleted_count == 1:
|
||||
return JSONResponse(status_code=status.HTTP_200_OK, content={"message": "Delete post save successful"})
|
||||
raise HTTPException(
|
||||
|
||||
Reference in New Issue
Block a user