|
@@ -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.")
|