mirror of https://github.com/jumpserver/jumpserver
perf: 修改数据库添加 ssl 字段
parent
47c405dee5
commit
0f1e19ba41
|
@ -1,10 +1,10 @@
|
|||
from typing import List
|
||||
|
||||
from rest_framework.request import Request
|
||||
|
||||
from common.utils import lazyproperty, timeit
|
||||
from assets.models import Node, Asset
|
||||
from assets.pagination import NodeAssetTreePagination
|
||||
from assets.models import Node
|
||||
from assets.utils import get_node_from_request, is_query_node_all_assets
|
||||
from common.utils import lazyproperty, timeit
|
||||
|
||||
|
||||
class SerializeToTreeNodeMixin:
|
||||
|
@ -38,14 +38,6 @@ class SerializeToTreeNodeMixin:
|
|||
]
|
||||
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
|
||||
def serialize_assets(self, assets, node_key=None):
|
||||
if node_key is None:
|
||||
|
@ -61,13 +53,11 @@ class SerializeToTreeNodeMixin:
|
|||
'pId': get_pid(asset),
|
||||
'isParent': False,
|
||||
'open': False,
|
||||
'iconSkin': self.get_platform(asset),
|
||||
'iconSkin': asset.type,
|
||||
'chkDisabled': not asset.is_active,
|
||||
'meta': {
|
||||
'type': 'asset',
|
||||
'data': {
|
||||
'id': asset.id,
|
||||
'name': asset.name,
|
||||
'org_name': asset.org_name
|
||||
},
|
||||
}
|
||||
|
@ -78,7 +68,6 @@ class SerializeToTreeNodeMixin:
|
|||
|
||||
|
||||
class NodeFilterMixin:
|
||||
# pagination_class = NodeAssetTreePagination
|
||||
request: Request
|
||||
|
||||
@lazyproperty
|
||||
|
|
|
@ -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):
|
||||
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):
|
||||
return '{}({}://{}/{})'.format(self.name, self.type, self.address, self.db_name)
|
||||
|
@ -18,6 +23,11 @@ class Database(Asset):
|
|||
def specific(self):
|
||||
return {
|
||||
'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:
|
||||
|
|
Loading…
Reference in New Issue