feat: base 更新全部权限时仅失效缓存即可

This commit is contained in:
caoqianming 2024-10-23 17:07:52 +08:00
parent 608a009737
commit 8e08d37b62
1 changed files with 6 additions and 7 deletions

View File

@ -1,5 +1,3 @@
import configparser
import os
import importlib import importlib
import json import json
from drf_yasg import openapi from drf_yasg import openapi
@ -23,7 +21,7 @@ from apps.system.filters import DeptFilterSet, UserFilterSet
# from django_q.models import Task as QTask, Schedule as QSchedule # from django_q.models import Task as QTask, Schedule as QSchedule
from apps.utils.mixins import (CustomCreateModelMixin, MyLoggingMixin) from apps.utils.mixins import (CustomCreateModelMixin, MyLoggingMixin)
from django.conf import settings from django.conf import settings
from apps.utils.permission import ALL_PERMS, get_user_perms_map, get_alld_perms from apps.utils.permission import ALL_PERMS, get_user_perms_map
from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet
from server.celery import app as celery_app from server.celery import app as celery_app
from .models import (Dept, Dictionary, DictType, File, Permission, Post, PostRole, Role, User, from .models import (Dept, Dictionary, DictType, File, Permission, Post, PostRole, Role, User,
@ -42,7 +40,8 @@ from cron_descriptor import get_description
import locale import locale
from drf_yasg.utils import swagger_auto_schema from drf_yasg.utils import swagger_auto_schema
from server.settings import get_sysconfig, update_sysconfig, update_dict from server.settings import get_sysconfig, update_sysconfig, update_dict
from apps.utils.thread import MyThread from apps.utils.constants import DEFAULT_PWD
from django.core.cache import cache
# logger.info('请求成功! response_code:{}response_headers:{} # logger.info('请求成功! response_code:{}response_headers:{}
# response_body:{}'.format(response_code, response_headers, response_body[:251])) # response_body:{}'.format(response_code, response_headers, response_body[:251]))
@ -319,15 +318,15 @@ class PermissionViewSet(CustomModelViewSet):
def perform_create(self, serializer): def perform_create(self, serializer):
super().perform_create(serializer) super().perform_create(serializer)
MyThread(target=get_alld_perms, kwargs={"update_cache": True}).start_p() cache.delete('perms_alld_list')
def perform_update(self, serializer): def perform_update(self, serializer):
super().perform_update(serializer) super().perform_update(serializer)
MyThread(target=get_alld_perms, kwargs={"update_cache": True}).start_p() cache.delete('perms_alld_list')
def perform_destroy(self, instance): def perform_destroy(self, instance):
super().perform_destroy(instance) super().perform_destroy(instance)
MyThread(target=get_alld_perms, kwargs={"update_cache": True}).start_p() cache.delete('perms_alld_list')
class DeptViewSet(CustomModelViewSet): class DeptViewSet(CustomModelViewSet):
"""部门-增删改查 """部门-增删改查