From ab461940394d556f9ca3c5f1ff7874f1cd6acdd0 Mon Sep 17 00:00:00 2001 From: ibuler Date: Tue, 23 Aug 2022 10:23:48 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=20=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/api/asset/database.py | 7 +--- apps/assets/api/asset/network.py | 15 ++++++++ apps/assets/api/mixin.py | 2 +- apps/assets/serializers/asset/category.py | 36 +++++++------------ apps/authentication/models.py | 2 +- apps/perms/api/asset_permission_relation.py | 2 +- apps/perms/api/user_group_permission.py | 2 +- .../perms/api/user_permission/assets/mixin.py | 2 +- apps/perms/api/user_permission/common.py | 2 +- apps/perms/api/user_permission/mixin.py | 2 +- apps/perms/api/user_permission/nodes.py | 2 +- .../api/user_permission/nodes_with_assets.py | 2 +- apps/perms/signal_handlers/refresh_perms.py | 2 +- apps/perms/tasks.py | 2 +- apps/perms/utils/__init__.py | 6 ++-- apps/perms/utils/asset/__init__.py | 2 -- apps/perms/utils/{asset => }/permission.py | 2 +- .../utils/{asset => }/user_permission.py | 5 ++- 18 files changed, 47 insertions(+), 48 deletions(-) create mode 100644 apps/assets/api/asset/network.py delete mode 100644 apps/perms/utils/asset/__init__.py rename apps/perms/utils/{asset => }/permission.py (97%) rename apps/perms/utils/{asset => }/user_permission.py (99%) diff --git a/apps/assets/api/asset/database.py b/apps/assets/api/asset/database.py index 820812d18..d4f135cbf 100644 --- a/apps/assets/api/asset/database.py +++ b/apps/assets/api/asset/database.py @@ -1,6 +1,6 @@ - from assets.models import Database from assets.serializers import DatabaseSerializer + from .asset import AssetViewSet __all__ = ['DatabaseViewSet'] @@ -9,11 +9,6 @@ __all__ = ['DatabaseViewSet'] class DatabaseViewSet(AssetViewSet): model = Database - def get_queryset(self): - queryset = super().get_queryset() - print("Datbase is: ", queryset) - return queryset - def get_serializer_classes(self): serializer_classes = super().get_serializer_classes() serializer_classes['default'] = DatabaseSerializer diff --git a/apps/assets/api/asset/network.py b/apps/assets/api/asset/network.py new file mode 100644 index 000000000..15822b1e1 --- /dev/null +++ b/apps/assets/api/asset/network.py @@ -0,0 +1,15 @@ + +from assets.serializers import HostSerializer +from assets.models import Network +from .asset import AssetViewSet + +__all__ = ['NetworkViewSet'] + + +class NetworkViewSet(AssetViewSet): + model = Network + + def get_serializer_classes(self): + serializer_classes = super().get_serializer_classes() + serializer_classes['default'] = HostSerializer + return serializer_classes diff --git a/apps/assets/api/mixin.py b/apps/assets/api/mixin.py index d7d33e17b..36460a5b1 100644 --- a/apps/assets/api/mixin.py +++ b/apps/assets/api/mixin.py @@ -81,7 +81,7 @@ class SerializeToTreeNodeMixin: class NodeFilterMixin: - pagination_class = NodeAssetTreePagination + # pagination_class = NodeAssetTreePagination request: Request @lazyproperty diff --git a/apps/assets/serializers/asset/category.py b/apps/assets/serializers/asset/category.py index 78c3180cd..161dc6152 100644 --- a/apps/assets/serializers/asset/category.py +++ b/apps/assets/serializers/asset/category.py @@ -1,10 +1,10 @@ from rest_framework import serializers +from assets.models import DeviceInfo, Host, Database, Network, Cloud from .common import AssetSerializer -from assets.models import DeviceInfo, Host, Database __all__ = [ - 'DeviceSerializer', 'HostSerializer', 'DatabaseSerializer' + 'DeviceSerializer', 'HostSerializer', 'DatabaseSerializer', ] @@ -30,24 +30,14 @@ class HostSerializer(AssetSerializer): class DatabaseSerializer(AssetSerializer): class Meta(AssetSerializer.Meta): model = Database - fields_mini = [ - 'id', 'name', 'ip', 'port', 'db_name', - ] - fields_small = fields_mini + [ - 'is_active', 'comment', - ] - fields_fk = [ - 'domain', 'domain_display', 'platform', - ] - fields_m2m = [ - 'nodes', 'nodes_display', 'labels', 'labels_display', - ] - read_only_fields = [ - 'category', 'category_display', 'type', 'type_display', - 'created_by', 'date_created', - ] - fields = fields_small + fields_fk + fields_m2m + read_only_fields - extra_kwargs = { - **AssetSerializer.Meta.extra_kwargs, - 'db_name': {'required': True} - } + fields = AssetSerializer.Meta.fields + ['db_name'] + + +class NetworkSerializer(AssetSerializer): + class Meta(AssetSerializer.Meta): + model = Network + + +class CloudSerializer(AssetSerializer): + class Meta(AssetSerializer.Meta): + model = Cloud diff --git a/apps/authentication/models.py b/apps/authentication/models.py index 97512ff3e..eebaa22a6 100644 --- a/apps/authentication/models.py +++ b/apps/authentication/models.py @@ -129,7 +129,7 @@ class ConnectionToken(OrgModelMixin, JMSBaseModel): actions = expired_at = None # actions 和 expired_at 在 check_valid() 中赋值 def check_valid(self): - from perms.utils.asset.permission import validate_permission as asset_validate_permission + from perms.utils.permission import validate_permission as asset_validate_permission from perms.utils.application.permission import validate_permission as app_validate_permission if self.is_expired: diff --git a/apps/perms/api/asset_permission_relation.py b/apps/perms/api/asset_permission_relation.py index ecf0d731b..cb112adfb 100644 --- a/apps/perms/api/asset_permission_relation.py +++ b/apps/perms/api/asset_permission_relation.py @@ -9,7 +9,7 @@ from orgs.mixins.api import OrgBulkModelViewSet from orgs.utils import current_org from perms import serializers from perms import models -from perms.utils.asset.user_permission import UserGrantedAssetsQueryUtils +from perms.utils.user_permission import UserGrantedAssetsQueryUtils __all__ = [ 'AssetPermissionUserRelationViewSet', 'AssetPermissionUserGroupRelationViewSet', diff --git a/apps/perms/api/user_group_permission.py b/apps/perms/api/user_group_permission.py index ca090f77b..4901e98fc 100644 --- a/apps/perms/api/user_group_permission.py +++ b/apps/perms/api/user_group_permission.py @@ -11,7 +11,7 @@ from perms.models import AssetPermission from assets.models import Asset, Node from . import user_permission as uapi from perms import serializers -from perms.utils.asset.permission import get_asset_system_user_ids_with_actions_by_group +from perms.utils.permission import get_asset_system_user_ids_with_actions_by_group from assets.api.mixin import SerializeToTreeNodeMixin from users.models import UserGroup diff --git a/apps/perms/api/user_permission/assets/mixin.py b/apps/perms/api/user_permission/assets/mixin.py index c2d3fa7d3..6df224bee 100644 --- a/apps/perms/api/user_permission/assets/mixin.py +++ b/apps/perms/api/user_permission/assets/mixin.py @@ -7,7 +7,7 @@ from common.utils import get_logger from perms.pagination import NodeGrantedAssetPagination, AllGrantedAssetPagination from assets.models import Asset, Node from perms import serializers -from perms.utils.asset.user_permission import UserGrantedAssetsQueryUtils +from perms.utils.user_permission import UserGrantedAssetsQueryUtils logger = get_logger(__name__) diff --git a/apps/perms/api/user_permission/common.py b/apps/perms/api/user_permission/common.py index 5e8e839e4..69efb75ef 100644 --- a/apps/perms/api/user_permission/common.py +++ b/apps/perms/api/user_permission/common.py @@ -12,7 +12,7 @@ from rest_framework.generics import ( ) from orgs.utils import tmp_to_root_org -from perms.utils.asset.permission import get_asset_system_user_ids_with_actions_by_user, validate_permission +from perms.utils.permission import get_asset_system_user_ids_with_actions_by_user, validate_permission from common.permissions import IsValidUser from common.utils import get_logger, lazyproperty diff --git a/apps/perms/api/user_permission/mixin.py b/apps/perms/api/user_permission/mixin.py index c28da6c2d..c53f548e5 100644 --- a/apps/perms/api/user_permission/mixin.py +++ b/apps/perms/api/user_permission/mixin.py @@ -7,7 +7,7 @@ from common.mixins.api import RoleAdminMixin as _RoleAdminMixin from common.mixins.api import RoleUserMixin as _RoleUserMixin from orgs.utils import tmp_to_root_org from users.models import User -from perms.utils.asset.user_permission import UserGrantedTreeRefreshController +from perms.utils.user_permission import UserGrantedTreeRefreshController class PermBaseMixin: diff --git a/apps/perms/api/user_permission/nodes.py b/apps/perms/api/user_permission/nodes.py index e2b8aec71..7dcbd85e2 100644 --- a/apps/perms/api/user_permission/nodes.py +++ b/apps/perms/api/user_permission/nodes.py @@ -13,7 +13,7 @@ from .mixin import AssetRoleAdminMixin, AssetRoleUserMixin from perms.hands import User from perms import serializers -from perms.utils.asset.user_permission import UserGrantedNodesQueryUtils +from perms.utils.user_permission import UserGrantedNodesQueryUtils logger = get_logger(__name__) diff --git a/apps/perms/api/user_permission/nodes_with_assets.py b/apps/perms/api/user_permission/nodes_with_assets.py index 4d4408355..6c848878f 100644 --- a/apps/perms/api/user_permission/nodes_with_assets.py +++ b/apps/perms/api/user_permission/nodes_with_assets.py @@ -11,7 +11,7 @@ from orgs.utils import tmp_to_root_org from common.permissions import IsValidUser from common.utils import get_logger, get_object_or_none from .mixin import AssetRoleUserMixin, AssetRoleAdminMixin -from perms.utils.asset.user_permission import ( +from perms.utils.user_permission import ( UserGrantedTreeBuildUtils, get_user_all_asset_perm_ids, UserGrantedNodesQueryUtils, UserGrantedAssetsQueryUtils, ) diff --git a/apps/perms/signal_handlers/refresh_perms.py b/apps/perms/signal_handlers/refresh_perms.py index fc2d0da1c..2e66c4475 100644 --- a/apps/perms/signal_handlers/refresh_perms.py +++ b/apps/perms/signal_handlers/refresh_perms.py @@ -10,7 +10,7 @@ from common.utils import get_logger from common.exceptions import M2MReverseNotAllowed from common.const.signals import POST_ADD, POST_REMOVE, POST_CLEAR from perms.models import AssetPermission -from perms.utils.asset.user_permission import UserGrantedTreeRefreshController +from perms.utils.user_permission import UserGrantedTreeRefreshController logger = get_logger(__file__) diff --git a/apps/perms/tasks.py b/apps/perms/tasks.py index da96beb68..4cf33b500 100644 --- a/apps/perms/tasks.py +++ b/apps/perms/tasks.py @@ -16,7 +16,7 @@ from perms.notifications import ( PermedAppsWillExpireUserMsg, AppPermsWillExpireForOrgAdminMsg ) from perms.models import AssetPermission, ApplicationPermission -from perms.utils.asset.user_permission import UserGrantedTreeRefreshController +from perms.utils.user_permission import UserGrantedTreeRefreshController logger = get_logger(__file__) diff --git a/apps/perms/utils/__init__.py b/apps/perms/utils/__init__.py index 15277144a..ea3cb14de 100644 --- a/apps/perms/utils/__init__.py +++ b/apps/perms/utils/__init__.py @@ -1,4 +1,2 @@ -# coding: utf-8 -# - -from .asset import * +from .permission import * +from .user_permission import * diff --git a/apps/perms/utils/asset/__init__.py b/apps/perms/utils/asset/__init__.py deleted file mode 100644 index ea3cb14de..000000000 --- a/apps/perms/utils/asset/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -from .permission import * -from .user_permission import * diff --git a/apps/perms/utils/asset/permission.py b/apps/perms/utils/permission.py similarity index 97% rename from apps/perms/utils/asset/permission.py rename to apps/perms/utils/permission.py index a6a68f6eb..b9037c040 100644 --- a/apps/perms/utils/asset/permission.py +++ b/apps/perms/utils/permission.py @@ -6,7 +6,7 @@ from django.db.models import Q from common.utils import get_logger from perms.models import AssetPermission, Action from perms.hands import Asset, User, UserGroup, Node -from perms.utils.asset.user_permission import get_user_all_asset_perm_ids +from perms.utils.user_permission import get_user_all_asset_perm_ids logger = get_logger(__file__) diff --git a/apps/perms/utils/asset/user_permission.py b/apps/perms/utils/user_permission.py similarity index 99% rename from apps/perms/utils/asset/user_permission.py rename to apps/perms/utils/user_permission.py index 21fd82620..4546e81a0 100644 --- a/apps/perms/utils/asset/user_permission.py +++ b/apps/perms/utils/user_permission.py @@ -12,7 +12,10 @@ from common.utils.common import lazyproperty, timeit from assets.utils import NodeAssetsUtil from common.utils import get_logger from common.decorator import on_transaction_commit -from orgs.utils import tmp_to_org, current_org, ensure_in_real_or_default_org, tmp_to_root_org +from orgs.utils import ( + tmp_to_org, current_org, + ensure_in_real_or_default_org, tmp_to_root_org +) from assets.models import ( Asset, FavoriteAsset, AssetQuerySet, NodeQuerySet )