fix: service suggested api (#1452)
This commit is contained in:
@@ -11,7 +11,7 @@ from controllers.service_api.wraps import AppApiResource
|
||||
from libs.helper import TimestampField, uuid_value
|
||||
from services.message_service import MessageService
|
||||
from extensions.ext_database import db
|
||||
from models.model import Account, Message
|
||||
from models.model import Message, EndUser
|
||||
|
||||
|
||||
class MessageListApi(AppApiResource):
|
||||
@@ -103,24 +103,26 @@ class MessageSuggestedApi(AppApiResource):
|
||||
message_id = str(message_id)
|
||||
if app_model.mode != 'chat':
|
||||
raise NotChatAppError()
|
||||
|
||||
try:
|
||||
message = db.session.query(Message).filter(
|
||||
Message.id == message_id,
|
||||
Message.app_id == app_model.id,
|
||||
).first()
|
||||
|
||||
if end_user is None and message.from_account_id is not None:
|
||||
user = db.session.get(Account, message.from_account_id)
|
||||
elif end_user is None and message.from_end_user_id is not None:
|
||||
user = create_or_update_end_user_for_user_id(app_model, message.from_end_user_id)
|
||||
if end_user is None and message.from_end_user_id is not None:
|
||||
user = db.session.query(EndUser) \
|
||||
.filter(
|
||||
EndUser.tenant_id == app_model.tenant_id,
|
||||
EndUser.id == message.from_end_user_id,
|
||||
EndUser.type == 'service_api'
|
||||
).first()
|
||||
else:
|
||||
user = end_user
|
||||
|
||||
questions = MessageService.get_suggested_questions_after_answer(
|
||||
app_model=app_model,
|
||||
user=user,
|
||||
message_id=message_id
|
||||
message_id=message_id,
|
||||
check_enabled=False
|
||||
)
|
||||
except services.errors.message.MessageNotExistsError:
|
||||
raise NotFound("Message Not Exists.")
|
||||
|
Reference in New Issue
Block a user