mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-08-13 20:06:20 +00:00
perf: 修改数据库添加 ssl 字段
This commit is contained in:
parent
47c405dee5
commit
0f1e19ba41
@ -1,10 +1,10 @@
|
|||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
from rest_framework.request import Request
|
from rest_framework.request import Request
|
||||||
|
|
||||||
from common.utils import lazyproperty, timeit
|
from assets.models import Node
|
||||||
from assets.models import Node, Asset
|
|
||||||
from assets.pagination import NodeAssetTreePagination
|
|
||||||
from assets.utils import get_node_from_request, is_query_node_all_assets
|
from assets.utils import get_node_from_request, is_query_node_all_assets
|
||||||
|
from common.utils import lazyproperty, timeit
|
||||||
|
|
||||||
|
|
||||||
class SerializeToTreeNodeMixin:
|
class SerializeToTreeNodeMixin:
|
||||||
@ -38,14 +38,6 @@ class SerializeToTreeNodeMixin:
|
|||||||
]
|
]
|
||||||
return data
|
return data
|
||||||
|
|
||||||
def get_platform(self, asset: Asset):
|
|
||||||
default = 'file'
|
|
||||||
icon = {'windows', 'linux'}
|
|
||||||
platform = asset.platform.type.lower()
|
|
||||||
if platform in icon:
|
|
||||||
return platform
|
|
||||||
return default
|
|
||||||
|
|
||||||
@timeit
|
@timeit
|
||||||
def serialize_assets(self, assets, node_key=None):
|
def serialize_assets(self, assets, node_key=None):
|
||||||
if node_key is None:
|
if node_key is None:
|
||||||
@ -61,13 +53,11 @@ class SerializeToTreeNodeMixin:
|
|||||||
'pId': get_pid(asset),
|
'pId': get_pid(asset),
|
||||||
'isParent': False,
|
'isParent': False,
|
||||||
'open': False,
|
'open': False,
|
||||||
'iconSkin': self.get_platform(asset),
|
'iconSkin': asset.type,
|
||||||
'chkDisabled': not asset.is_active,
|
'chkDisabled': not asset.is_active,
|
||||||
'meta': {
|
'meta': {
|
||||||
'type': 'asset',
|
'type': 'asset',
|
||||||
'data': {
|
'data': {
|
||||||
'id': asset.id,
|
|
||||||
'name': asset.name,
|
|
||||||
'org_name': asset.org_name
|
'org_name': asset.org_name
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@ -78,7 +68,6 @@ class SerializeToTreeNodeMixin:
|
|||||||
|
|
||||||
|
|
||||||
class NodeFilterMixin:
|
class NodeFilterMixin:
|
||||||
# pagination_class = NodeAssetTreePagination
|
|
||||||
request: Request
|
request: Request
|
||||||
|
|
||||||
@lazyproperty
|
@lazyproperty
|
||||||
|
38
apps/assets/migrations/0115_auto_20221130_1118.py
Normal file
38
apps/assets/migrations/0115_auto_20221130_1118.py
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
# Generated by Django 3.2.14 on 2022-11-30 03:18
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('assets', '0114_node_domain'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='database',
|
||||||
|
name='allow_invalid_cert',
|
||||||
|
field=models.BooleanField(default=False, verbose_name='Allow invalid cert'),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='database',
|
||||||
|
name='ca_cert',
|
||||||
|
field=models.TextField(blank=True, verbose_name='CA cert'),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='database',
|
||||||
|
name='client_cert',
|
||||||
|
field=models.TextField(blank=True, verbose_name='Client cert'),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='database',
|
||||||
|
name='client_key',
|
||||||
|
field=models.TextField(blank=True, verbose_name='Client key'),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='database',
|
||||||
|
name='use_ssl',
|
||||||
|
field=models.BooleanField(default=False, verbose_name='Use SSL'),
|
||||||
|
),
|
||||||
|
]
|
@ -6,6 +6,11 @@ from .common import Asset
|
|||||||
|
|
||||||
class Database(Asset):
|
class Database(Asset):
|
||||||
db_name = models.CharField(max_length=1024, verbose_name=_("Database"), blank=True)
|
db_name = models.CharField(max_length=1024, verbose_name=_("Database"), blank=True)
|
||||||
|
use_ssl = models.BooleanField(default=False, verbose_name=_("Use SSL"))
|
||||||
|
ca_cert = models.TextField(verbose_name=_("CA cert"), blank=True)
|
||||||
|
client_cert = models.TextField(verbose_name=_("Client cert"), blank=True)
|
||||||
|
client_key = models.TextField(verbose_name=_("Client key"), blank=True)
|
||||||
|
allow_invalid_cert = models.BooleanField(default=False, verbose_name=_('Allow invalid cert'))
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return '{}({}://{}/{})'.format(self.name, self.type, self.address, self.db_name)
|
return '{}({}://{}/{})'.format(self.name, self.type, self.address, self.db_name)
|
||||||
@ -18,6 +23,11 @@ class Database(Asset):
|
|||||||
def specific(self):
|
def specific(self):
|
||||||
return {
|
return {
|
||||||
'db_name': self.db_name,
|
'db_name': self.db_name,
|
||||||
|
'use_ssl': self.use_ssl,
|
||||||
|
'ca_cert': self.ca_cert,
|
||||||
|
'client_cert': self.client_cert,
|
||||||
|
'client_key': self.client_key,
|
||||||
|
'allow_invalid_cert': self.allow_invalid_cert,
|
||||||
}
|
}
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
Loading…
Reference in New Issue
Block a user