fix: adjust api of add_interaction
continuous-integration/drone/push Build is passing Details

This commit is contained in:
BryantHe 2023-09-21 14:53:37 +08:00
parent 3b3365fcfb
commit ca04e70d53
2 changed files with 9 additions and 2 deletions

View File

@ -6,6 +6,11 @@ class AddInteractionError(HTTPError):
message = 'add interaction failed.' message = 'add interaction failed.'
class InteractionExistedError(HTTPError):
status_code = 401
message = '已经提交过,不能再次提交~'
class InteractionTodayBriefNotFound(HTTPError): class InteractionTodayBriefNotFound(HTTPError):
status_code = 404 status_code = 404
message = '找不到用户对应的食物记录' message = '找不到用户对应的食物记录'

View File

@ -2,7 +2,7 @@ from apiflask import APIBlueprint
from flask import session from flask import session
from app import rpc from app import rpc
from app.api.v1.exception.interaction import AddInteractionError from app.api.v1.exception.interaction import AddInteractionError, InteractionExistedError
from app.api.v1.schema.interaction import (InteractionIn, InteractionBriefIn, InteractionListIn, from app.api.v1.schema.interaction import (InteractionIn, InteractionBriefIn, InteractionListIn,
InteractionBriefOut, InteractionListOut) InteractionBriefOut, InteractionListOut)
@ -17,7 +17,7 @@ interaction = APIBlueprint('interaction', __name__)
@login_required @login_required
def add_interaction(json_data): def add_interaction(json_data):
try: try:
rpc.interaction.add(**{ is_existed = rpc.interaction.add(**{
'sender': session['user_id'], 'sender': session['user_id'],
'receiver': json_data['receiver_id'], 'receiver': json_data['receiver_id'],
'category': json_data['category'], 'category': json_data['category'],
@ -26,6 +26,8 @@ def add_interaction(json_data):
}) })
except Exception as e: except Exception as e:
raise AddInteractionError(extra_data={'error_docs': str(e)}) raise AddInteractionError(extra_data={'error_docs': str(e)})
if is_existed:
raise InteractionExistedError()
return {'msg': 'add interaction successfully'} return {'msg': 'add interaction successfully'}