mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-24 21:08:30 +00:00
perf: 修改基础 model,继承同一个
This commit is contained in:
@@ -1,22 +1,23 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import copy
|
||||
import os
|
||||
from importlib import import_module
|
||||
|
||||
import jms_storage
|
||||
from django.conf import settings
|
||||
from django.db import models
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.conf import settings
|
||||
|
||||
from common.mixins import CommonModelMixin
|
||||
from common.db.fields import EncryptJsonDictTextField
|
||||
from common.db.models import JMSBaseModel
|
||||
from common.plugins.es import QuerySet as ESQuerySet
|
||||
from common.utils import get_logger
|
||||
from common.db.fields import EncryptJsonDictTextField
|
||||
from common.utils.timezone import local_now_date_display
|
||||
from terminal import const
|
||||
from terminal.backends import TYPE_ENGINE_MAPPING
|
||||
from .terminal import Terminal
|
||||
from ..session.command import Command
|
||||
from terminal import const
|
||||
|
||||
logger = get_logger(__file__)
|
||||
|
||||
@@ -25,7 +26,6 @@ class CommonStorageModelMixin(models.Model):
|
||||
name = models.CharField(max_length=128, verbose_name=_("Name"), unique=True)
|
||||
meta = EncryptJsonDictTextField(default={})
|
||||
is_default = models.BooleanField(default=False, verbose_name=_('Default storage'))
|
||||
comment = models.TextField(default='', blank=True, verbose_name=_('Comment'))
|
||||
|
||||
class Meta:
|
||||
abstract = True
|
||||
@@ -51,7 +51,7 @@ class CommonStorageModelMixin(models.Model):
|
||||
return objs.first()
|
||||
|
||||
|
||||
class CommandStorage(CommonStorageModelMixin, CommonModelMixin):
|
||||
class CommandStorage(CommonStorageModelMixin, JMSBaseModel):
|
||||
type = models.CharField(
|
||||
max_length=16, choices=const.CommandStorageType.choices,
|
||||
default=const.CommandStorageType.server.value, verbose_name=_('Type'),
|
||||
@@ -140,7 +140,7 @@ class CommandStorage(CommonStorageModelMixin, CommonModelMixin):
|
||||
verbose_name = _("Command storage")
|
||||
|
||||
|
||||
class ReplayStorage(CommonStorageModelMixin, CommonModelMixin):
|
||||
class ReplayStorage(CommonStorageModelMixin, JMSBaseModel):
|
||||
type = models.CharField(
|
||||
max_length=16, choices=const.ReplayStorageType.choices,
|
||||
default=const.ReplayStorageType.server.value, verbose_name=_('Type')
|
||||
|
@@ -1,27 +1,24 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import uuid
|
||||
|
||||
from django.db import models
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from common.db.models import JMSBaseModel
|
||||
from .terminal import Terminal
|
||||
|
||||
|
||||
class Task(models.Model):
|
||||
class Task(JMSBaseModel):
|
||||
NAME_CHOICES = (
|
||||
("kill_session", "Kill Session"),
|
||||
)
|
||||
|
||||
id = models.UUIDField(default=uuid.uuid4, primary_key=True)
|
||||
name = models.CharField(max_length=128, choices=NAME_CHOICES, verbose_name=_("Name"))
|
||||
args = models.CharField(max_length=1024, verbose_name=_("Args"))
|
||||
kwargs = models.JSONField(default=dict, verbose_name=_("Kwargs"))
|
||||
terminal = models.ForeignKey(Terminal, null=True, on_delete=models.SET_NULL)
|
||||
is_finished = models.BooleanField(default=False)
|
||||
date_created = models.DateTimeField(auto_now_add=True)
|
||||
date_finished = models.DateTimeField(null=True)
|
||||
|
||||
class Meta:
|
||||
db_table = "terminal_task"
|
||||
verbose_name = _("Task")
|
||||
|
||||
|
@@ -1,11 +1,11 @@
|
||||
import time
|
||||
import uuid
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import models
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from common.const.signals import SKIP_SIGNAL
|
||||
from common.db.models import JMSBaseModel
|
||||
from common.utils import get_logger, lazyproperty
|
||||
from orgs.utils import tmp_to_root_org
|
||||
from terminal.const import TerminalType as TypeChoices
|
||||
@@ -75,8 +75,7 @@ class StorageMixin:
|
||||
return {"TERMINAL_REPLAY_STORAGE": config}
|
||||
|
||||
|
||||
class Terminal(StorageMixin, TerminalStatusMixin, models.Model):
|
||||
id = models.UUIDField(default=uuid.uuid4, primary_key=True)
|
||||
class Terminal(StorageMixin, TerminalStatusMixin, JMSBaseModel):
|
||||
name = models.CharField(max_length=128, verbose_name=_('Name'))
|
||||
type = models.CharField(
|
||||
choices=TypeChoices.choices, default=TypeChoices.koko,
|
||||
@@ -88,8 +87,6 @@ class Terminal(StorageMixin, TerminalStatusMixin, models.Model):
|
||||
user = models.OneToOneField(User, related_name='terminal', verbose_name=_('Application User'), null=True,
|
||||
on_delete=models.CASCADE)
|
||||
is_deleted = models.BooleanField(default=False)
|
||||
date_created = models.DateTimeField(auto_now_add=True)
|
||||
comment = models.TextField(blank=True, verbose_name=_('Comment'))
|
||||
|
||||
@property
|
||||
def is_active(self):
|
||||
|
Reference in New Issue
Block a user