feat: refresh cache for permission list on knowledge save
This commit is contained in:
parent
214499372c
commit
8d5c3e6068
@ -11,6 +11,7 @@ from typing import Dict, List
|
|||||||
import uuid_utils.compat as uuid
|
import uuid_utils.compat as uuid
|
||||||
from celery_once import AlreadyQueued
|
from celery_once import AlreadyQueued
|
||||||
from django.core import validators
|
from django.core import validators
|
||||||
|
from django.core.cache import cache
|
||||||
from django.db import transaction, models
|
from django.db import transaction, models
|
||||||
from django.db.models import QuerySet
|
from django.db.models import QuerySet
|
||||||
from django.db.models.functions import Reverse, Substr
|
from django.db.models.functions import Reverse, Substr
|
||||||
@ -20,6 +21,7 @@ from rest_framework import serializers
|
|||||||
|
|
||||||
from application.models import ApplicationKnowledgeMapping
|
from application.models import ApplicationKnowledgeMapping
|
||||||
from common.config.embedding_config import VectorStore
|
from common.config.embedding_config import VectorStore
|
||||||
|
from common.constants.cache_version import Cache_Version
|
||||||
from common.constants.permission_constants import ResourceAuthType, ResourcePermissionGroup
|
from common.constants.permission_constants import ResourceAuthType, ResourcePermissionGroup
|
||||||
from common.database_model_manage.database_model_manage import DatabaseModelManage
|
from common.database_model_manage.database_model_manage import DatabaseModelManage
|
||||||
from common.db.search import native_search, get_dynamics_model, native_page_search
|
from common.db.search import native_search, get_dynamics_model, native_page_search
|
||||||
@ -534,6 +536,10 @@ class KnowledgeSerializer(serializers.Serializer):
|
|||||||
user_id=self.data.get('user_id'),
|
user_id=self.data.get('user_id'),
|
||||||
auth_type=ResourceAuthType.RESOURCE_PERMISSION_GROUP
|
auth_type=ResourceAuthType.RESOURCE_PERMISSION_GROUP
|
||||||
).save()
|
).save()
|
||||||
|
# 刷新缓存
|
||||||
|
version = Cache_Version.PERMISSION_LIST.get_version()
|
||||||
|
key = Cache_Version.PERMISSION_LIST.get_key(user_id=self.data.get('user_id'))
|
||||||
|
cache.delete(key, version=version)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
**KnowledgeModelSerializer(knowledge).data,
|
**KnowledgeModelSerializer(knowledge).data,
|
||||||
@ -581,6 +587,11 @@ class KnowledgeSerializer(serializers.Serializer):
|
|||||||
user_id=self.data.get('user_id'),
|
user_id=self.data.get('user_id'),
|
||||||
auth_type=ResourceAuthType.RESOURCE_PERMISSION_GROUP
|
auth_type=ResourceAuthType.RESOURCE_PERMISSION_GROUP
|
||||||
).save()
|
).save()
|
||||||
|
# 刷新缓存
|
||||||
|
version = Cache_Version.PERMISSION_LIST.get_version()
|
||||||
|
key = Cache_Version.PERMISSION_LIST.get_key(user_id=self.data.get('user_id'))
|
||||||
|
cache.delete(key, version=version)
|
||||||
|
|
||||||
sync_web_knowledge.delay(str(knowledge_id), instance.get('source_url'), instance.get('selector'))
|
sync_web_knowledge.delay(str(knowledge_id), instance.get('source_url'), instance.get('selector'))
|
||||||
return {**KnowledgeModelSerializer(knowledge).data, 'document_list': []}
|
return {**KnowledgeModelSerializer(knowledge).data, 'document_list': []}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user