mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-08 10:49:08 +00:00
feat: 调整站内信接口 (#6228)
* feat: 调整站内信接口 * 添加 websockt * 添加信息类型字段 * 添加 has_read 过滤参数 * feat: 调整站内信接口 * 添加 websockt * 添加信息类型字段 * 添加 has_read 过滤参数 * 去掉type websocket * perf: 去掉type Co-authored-by: xinwen <coderWen@126.com> Co-authored-by: ibuler <ibuler@qq.com>
This commit is contained in:
@@ -6,10 +6,11 @@ from common.permissions import IsValidUser
|
||||
from common.const.http import GET, PATCH, POST
|
||||
from common.drf.api import JmsGenericViewSet
|
||||
from ..serializers import (
|
||||
SiteMessageListSerializer, SiteMessageRetrieveSerializer, SiteMessageIdsSerializer,
|
||||
SiteMessageDetailSerializer, SiteMessageIdsSerializer,
|
||||
SiteMessageSendSerializer,
|
||||
)
|
||||
from ..site_msg import SiteMessage
|
||||
from ..filters import SiteMsgFilter
|
||||
|
||||
__all__ = ('SiteMessageViewSet', )
|
||||
|
||||
@@ -17,32 +18,24 @@ __all__ = ('SiteMessageViewSet', )
|
||||
class SiteMessageViewSet(ListModelMixin, RetrieveModelMixin, JmsGenericViewSet):
|
||||
permission_classes = (IsValidUser,)
|
||||
serializer_classes = {
|
||||
'retrieve': SiteMessageRetrieveSerializer,
|
||||
'unread': SiteMessageListSerializer,
|
||||
'list': SiteMessageListSerializer,
|
||||
'default': SiteMessageDetailSerializer,
|
||||
'mark_as_read': SiteMessageIdsSerializer,
|
||||
'send': SiteMessageSendSerializer,
|
||||
}
|
||||
filterset_class = SiteMsgFilter
|
||||
|
||||
def get_queryset(self):
|
||||
user = self.request.user
|
||||
msgs = SiteMessage.get_user_all_msgs(user.id)
|
||||
return msgs
|
||||
|
||||
@action(methods=[GET], detail=False)
|
||||
def unread(self, request, **kwargs):
|
||||
user = request.user
|
||||
msgs = SiteMessage.get_user_unread_msgs(user.id)
|
||||
msgs = self.filter_queryset(msgs)
|
||||
return self.get_paginated_response_with_query_set(msgs)
|
||||
|
||||
@action(methods=[GET], detail=False, url_path='unread-total')
|
||||
def unread_total(self, request, **kwargs):
|
||||
user = request.user
|
||||
msgs = SiteMessage.get_user_unread_msgs(user.id)
|
||||
return Response(data={'total': msgs.count()})
|
||||
|
||||
@action(methods=[PATCH], detail=False)
|
||||
@action(methods=[PATCH], detail=False, url_path='mark-as-read')
|
||||
def mark_as_read(self, request, **kwargs):
|
||||
user = request.user
|
||||
seri = self.get_serializer(data=request.data)
|
||||
|
Reference in New Issue
Block a user