perf: 修改 session 字段,添加 Comment

pull/9219/head
ibuler 2 years ago
parent 615a1ddc96
commit d040162d86

@ -7,14 +7,19 @@ def migrate_del_macos(apps, schema_editor):
db_alias = schema_editor.connection.alias
asset_model = apps.get_model('assets', 'Asset')
platform_model = apps.get_model('assets', 'Platform')
old_macos = platform_model.objects.using(db_alias).get(
old_macos = platform_model.objects.using(db_alias).filter(
name='MacOS', type='macos'
)
new_macos = platform_model.objects.using(db_alias).get(
).first()
new_macos = platform_model.objects.using(db_alias).filter(
name='macOS', type='unix'
)
).first()
if not old_macos or not new_macos:
return
asset_model.objects.using(db_alias).filter(
platform=old_macos).update(platform=new_macos)
platform=old_macos
).update(platform=new_macos)
platform_model.objects.using(db_alias).filter(id=old_macos.id).delete()

@ -4,25 +4,24 @@ from urllib.parse import parse_qsl
from django.conf import settings
from django.db.models import F, Value, CharField
from rest_framework.generics import ListAPIView
from rest_framework.generics import get_object_or_404
from rest_framework.request import Request
from rest_framework.response import Response
from rest_framework.generics import get_object_or_404
from assets.api import SerializeToTreeNodeMixin
from assets.models import Asset, Account
from assets.utils import KubernetesTree
from assets.api import SerializeToTreeNodeMixin
from common.utils import get_object_or_none, lazyproperty
from common.utils.common import timeit
from perms.hands import Node
from perms.models import PermNode
from perms.utils import PermAccountUtil
from perms.utils.permission import AssetPermissionUtil
from perms.utils.user_permission import (
UserGrantedNodesQueryUtils, UserGrantedAssetsQueryUtils,
)
from perms.utils import PermAccountUtil
from perms.utils.permission import AssetPermissionUtil
from common.utils import get_object_or_none, lazyproperty
from common.utils.common import timeit
from ..mixin import SelfOrPKUserMixin
from .mixin import RebuildTreeMixin
from ..mixin import SelfOrPKUserMixin
__all__ = [
'UserGrantedK8sAsTreeApi',
@ -31,8 +30,10 @@ __all__ = [
]
class BaseUserNodeWithAssetAsTreeApi(SelfOrPKUserMixin, RebuildTreeMixin, SerializeToTreeNodeMixin,
ListAPIView):
class BaseUserNodeWithAssetAsTreeApi(
SelfOrPKUserMixin, RebuildTreeMixin,
SerializeToTreeNodeMixin, ListAPIView
):
def list(self, request, *args, **kwargs):
nodes, assets = self.get_nodes_assets()
@ -129,10 +130,7 @@ class UserPermedNodeChildrenWithAssetsAsTreeApi(BaseUserNodeWithAssetAsTreeApi):
return self.query_node_key
class UserGrantedK8sAsTreeApi(
SelfOrPKUserMixin,
ListAPIView
):
class UserGrantedK8sAsTreeApi(SelfOrPKUserMixin, ListAPIView):
""" 用户授权的K8s树 """
@staticmethod

@ -0,0 +1,23 @@
# Generated by Django 3.2.14 on 2022-12-16 07:29
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('terminal', '0061_rename_system_user_command_account'),
]
operations = [
migrations.AddField(
model_name='session',
name='comment',
field=models.TextField(blank=True, null=True, verbose_name='Comment'),
),
migrations.AddField(
model_name='session',
name='type',
field=models.CharField(db_index=True, default='normal', max_length=16),
),
]

@ -3,24 +3,23 @@ from __future__ import unicode_literals
import os
import uuid
from django.db import models
from django.utils.translation import ugettext_lazy as _
from django.utils import timezone
from django.conf import settings
from django.core.files.storage import default_storage
from django.core.cache import cache
from django.core.files.storage import default_storage
from django.db import models
from django.utils import timezone
from django.utils.translation import ugettext_lazy as _
from assets.models import Asset
from assets.const import Protocol
from users.models import User
from orgs.mixins.models import OrgModelMixin
from django.db.models import TextChoices
from assets.models import Asset
from common.utils import get_object_or_none, lazyproperty
from orgs.mixins.models import OrgModelMixin
from terminal.backends import get_multi_command_storage
from users.models import User
class Session(OrgModelMixin):
class LOGIN_FROM(TextChoices):
class LOGIN_FROM(models.TextChoices):
ST = 'ST', 'SSH Terminal'
RT = 'RT', 'RDP Terminal'
WT = 'WT', 'Web Terminal'
@ -34,6 +33,7 @@ class Session(OrgModelMixin):
account = models.CharField(max_length=128, verbose_name=_("Account"), db_index=True)
protocol = models.CharField(default='ssh', max_length=16, db_index=True)
login_from = models.CharField(max_length=2, choices=LOGIN_FROM.choices, default="ST", verbose_name=_("Login from"))
type = models.CharField(max_length=16, default='normal', db_index=True)
remote_addr = models.CharField(max_length=128, verbose_name=_("Remote addr"), blank=True, null=True)
is_success = models.BooleanField(default=True, db_index=True)
is_finished = models.BooleanField(default=False, db_index=True)
@ -42,6 +42,7 @@ class Session(OrgModelMixin):
terminal = models.ForeignKey('terminal.Terminal', null=True, on_delete=models.DO_NOTHING, db_constraint=False)
date_start = models.DateTimeField(verbose_name=_("Date start"), db_index=True, default=timezone.now)
date_end = models.DateTimeField(verbose_name=_("Date end"), null=True)
comment = models.TextField(blank=True, null=True, verbose_name=_("Comment"))
upload_to = 'replay'
ACTIVE_CACHE_KEY_PREFIX = 'SESSION_ACTIVE_{}'

Loading…
Cancel
Save