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
	
	 ibuler
						ibuler