mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-07-05 11:06:34 +00:00
perf: stash it
This commit is contained in:
parent
05f913ab18
commit
dd0b8e988c
@ -17,11 +17,11 @@ class AssetPlatformViewSet(JMSModelViewSet):
|
|||||||
'default': PlatformSerializer,
|
'default': PlatformSerializer,
|
||||||
'categories': GroupedChoiceSerailizer
|
'categories': GroupedChoiceSerailizer
|
||||||
}
|
}
|
||||||
filterset_fields = ['name']
|
filterset_fields = ['name', 'category', 'type']
|
||||||
search_fields = ['name']
|
search_fields = ['name']
|
||||||
rbac_perms = {
|
rbac_perms = {
|
||||||
'categories': 'assets.view_platform',
|
'categories': 'assets.view_platform',
|
||||||
'type_constraints': 'assets-view_platform'
|
'type_constraints': 'assets.view_platform'
|
||||||
}
|
}
|
||||||
|
|
||||||
@action(methods=['GET'], detail=False)
|
@action(methods=['GET'], detail=False)
|
||||||
|
@ -13,4 +13,4 @@ class AssetsConfig(AppConfig):
|
|||||||
|
|
||||||
def ready(self):
|
def ready(self):
|
||||||
super().ready()
|
super().ready()
|
||||||
from . import signal_handlers
|
# from . import signal_handlers
|
||||||
|
@ -6,7 +6,7 @@ from django.utils.translation import ugettext_lazy as _
|
|||||||
from common.drf.serializers import JMSWritableNestedModelSerializer
|
from common.drf.serializers import JMSWritableNestedModelSerializer
|
||||||
from common.drf.fields import ChoiceDisplayField
|
from common.drf.fields import ChoiceDisplayField
|
||||||
from ..account import AccountSerializer
|
from ..account import AccountSerializer
|
||||||
from ...models import Asset, Node, Platform, Protocol, Label, Domain, Account
|
from ...models import Asset, Node, Platform, Protocol, Label, Domain
|
||||||
from ...const import Category, AllTypes
|
from ...const import Category, AllTypes
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
|
@ -12,7 +12,7 @@ sys.path.insert(0, APPS_DIR)
|
|||||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "jumpserver.settings")
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "jumpserver.settings")
|
||||||
django.setup()
|
django.setup()
|
||||||
|
|
||||||
from resources.assets import AssetsGenerator, NodesGenerator, SystemUsersGenerator, AdminUsersGenerator
|
from resources.assets import AssetsGenerator, NodesGenerator
|
||||||
from resources.users import UserGroupGenerator, UserGenerator
|
from resources.users import UserGroupGenerator, UserGenerator
|
||||||
from resources.perms import AssetPermissionGenerator
|
from resources.perms import AssetPermissionGenerator
|
||||||
from resources.terminal import CommandGenerator, SessionGenerator
|
from resources.terminal import CommandGenerator, SessionGenerator
|
||||||
@ -21,8 +21,6 @@ from resources.terminal import CommandGenerator, SessionGenerator
|
|||||||
resource_generator_mapper = {
|
resource_generator_mapper = {
|
||||||
'asset': AssetsGenerator,
|
'asset': AssetsGenerator,
|
||||||
'node': NodesGenerator,
|
'node': NodesGenerator,
|
||||||
'system_user': SystemUsersGenerator,
|
|
||||||
'admin_user': AdminUsersGenerator,
|
|
||||||
'user': UserGenerator,
|
'user': UserGenerator,
|
||||||
'user_group': UserGroupGenerator,
|
'user_group': UserGroupGenerator,
|
||||||
'asset_permission': AssetPermissionGenerator,
|
'asset_permission': AssetPermissionGenerator,
|
||||||
|
@ -5,6 +5,7 @@ import forgery_py
|
|||||||
from .base import FakeDataGenerator
|
from .base import FakeDataGenerator
|
||||||
|
|
||||||
from assets.models import *
|
from assets.models import *
|
||||||
|
from assets.const import AllTypes
|
||||||
|
|
||||||
|
|
||||||
class NodesGenerator(FakeDataGenerator):
|
class NodesGenerator(FakeDataGenerator):
|
||||||
@ -17,13 +18,34 @@ class NodesGenerator(FakeDataGenerator):
|
|||||||
parent.create_child()
|
parent.create_child()
|
||||||
|
|
||||||
|
|
||||||
|
class PlatformGenerator(FakeDataGenerator):
|
||||||
|
resource = 'platform'
|
||||||
|
category_type: dict
|
||||||
|
categories: list
|
||||||
|
|
||||||
|
def pre_generate(self):
|
||||||
|
self.category_type = dict(AllTypes.category_types())
|
||||||
|
self.categories = list(self.category_type.keys())
|
||||||
|
|
||||||
|
def do_generate(self, batch, batch_size):
|
||||||
|
platforms = []
|
||||||
|
for i in batch:
|
||||||
|
data = {
|
||||||
|
'name': forgery_py.name.company_name(),
|
||||||
|
'category': ''
|
||||||
|
}
|
||||||
|
platforms.append(Platform(**data))
|
||||||
|
Platform.objects.bulk_create(platforms, ignore_conflicts=True)
|
||||||
|
|
||||||
|
|
||||||
class AssetsGenerator(FakeDataGenerator):
|
class AssetsGenerator(FakeDataGenerator):
|
||||||
resource = 'asset'
|
resource = 'asset'
|
||||||
admin_user_ids: list
|
|
||||||
node_ids: list
|
node_ids: list
|
||||||
|
platform_ids: list
|
||||||
|
|
||||||
def pre_generate(self):
|
def pre_generate(self):
|
||||||
self.node_ids = list(Node.objects.all().values_list('id', flat=True))
|
self.node_ids = list(Node.objects.all().values_list('id', flat=True))
|
||||||
|
self.platform_ids = list(Platform.objects.all().values_list('id', flat=True))
|
||||||
|
|
||||||
def set_assets_nodes(self, assets):
|
def set_assets_nodes(self, assets):
|
||||||
for asset in assets:
|
for asset in assets:
|
||||||
@ -39,8 +61,8 @@ class AssetsGenerator(FakeDataGenerator):
|
|||||||
hostname = f'{hostname}-{ip}'
|
hostname = f'{hostname}-{ip}'
|
||||||
data = dict(
|
data = dict(
|
||||||
ip=ip,
|
ip=ip,
|
||||||
hostname=hostname,
|
name=hostname,
|
||||||
admin_user_id=choice(self.admin_user_ids),
|
platform_id=choice(self.platform_ids),
|
||||||
created_by='Fake',
|
created_by='Fake',
|
||||||
org_id=self.org.id
|
org_id=self.org.id
|
||||||
)
|
)
|
||||||
|
@ -4,7 +4,6 @@ import forgery_py
|
|||||||
from .base import FakeDataGenerator
|
from .base import FakeDataGenerator
|
||||||
|
|
||||||
from users.models import *
|
from users.models import *
|
||||||
from orgs.models import OrganizationMember
|
|
||||||
|
|
||||||
|
|
||||||
class UserGroupGenerator(FakeDataGenerator):
|
class UserGroupGenerator(FakeDataGenerator):
|
||||||
|
Loading…
Reference in New Issue
Block a user