Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions apps/application/serializers/chat_serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@
from functools import reduce
from io import BytesIO
from typing import Dict
import pytz

import openpyxl
import pytz
from django.core import validators
from django.core.cache import caches
from django.db import transaction, models
Expand All @@ -34,7 +35,7 @@
from application.serializers.chat_message_serializers import ChatInfo
from common.constants.permission_constants import RoleConstants
from common.db.search import native_search, native_page_search, page_search, get_dynamics_model
from common.exception.app_exception import AppApiException
from common.exception.app_exception import AppApiException, AppUnauthorizedFailed
from common.util.common import post
from common.util.field_message import ErrMessage
from common.util.file_util import get_file_content
Expand Down Expand Up @@ -484,6 +485,13 @@ class Query(serializers.Serializer):
chat_id = serializers.UUIDField(required=True)
order_asc = serializers.BooleanField(required=False, allow_null=True)

def is_valid(self, *, raise_exception=False):
super().is_valid(raise_exception=True)
exist = QuerySet(Chat).filter(id=self.data.get("chat_id"),
application_id=self.data.get("application_id")).exists()
if not exist:
raise AppUnauthorizedFailed(403, _('No permission to access'))

def list(self, with_valid=True):
if with_valid:
self.is_valid(raise_exception=True)
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@@ -13,8 +13,9 @@
from functools import reduce
from io import BytesIO
from typing import Dict
-import pytz
+
import openpyxl
+import pytz
from django.core import validators
from django.core.cache import caches
from django.db import transaction, models
@@ -34,7 +35,7 @@
from application.serializers.chat_message_serializers import ChatInfo
from common.constants.permission_constants import RoleConstants
from common.db.search import native_search, native_page_search, page_search, get_dynamics_model
-from common.exception.app_exception import AppApiException
+from common.exception.app_exception import AppApiException, AppUnauthorizedFailed
from common.util.common import post
from common.util.field_message import ErrMessage
from common.util.file_util import get_file_content

Expand Down
Loading