Skip to content

Commit b3cc8e2

Browse files
authored
fix: Unauthorized query of application dialogue logs (#4004)
1 parent f1d7079 commit b3cc8e2

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

apps/application/serializers/chat_serializers.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@
1313
from functools import reduce
1414
from io import BytesIO
1515
from typing import Dict
16-
import pytz
16+
1717
import openpyxl
18+
import pytz
1819
from django.core import validators
1920
from django.core.cache import caches
2021
from django.db import transaction, models
@@ -34,7 +35,7 @@
3435
from application.serializers.chat_message_serializers import ChatInfo
3536
from common.constants.permission_constants import RoleConstants
3637
from common.db.search import native_search, native_page_search, page_search, get_dynamics_model
37-
from common.exception.app_exception import AppApiException
38+
from common.exception.app_exception import AppApiException, AppUnauthorizedFailed
3839
from common.util.common import post
3940
from common.util.field_message import ErrMessage
4041
from common.util.file_util import get_file_content
@@ -484,6 +485,13 @@ class Query(serializers.Serializer):
484485
chat_id = serializers.UUIDField(required=True)
485486
order_asc = serializers.BooleanField(required=False, allow_null=True)
486487

488+
def is_valid(self, *, raise_exception=False):
489+
super().is_valid(raise_exception=True)
490+
exist = QuerySet(Chat).filter(id=self.data.get("chat_id"),
491+
application_id=self.data.get("application_id")).exists()
492+
if not exist:
493+
raise AppUnauthorizedFailed(403, _('No permission to access'))
494+
487495
def list(self, with_valid=True):
488496
if with_valid:
489497
self.is_valid(raise_exception=True)

0 commit comments

Comments
 (0)