mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-10-22 16:31:33 +00:00
perf: 修改 base
This commit is contained in:
@@ -1,2 +1,92 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
from django.db import models
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from common.db.models import IncludesTextChoicesMeta
|
||||
|
||||
|
||||
__all__ = [
|
||||
'Category', 'HostTypes', 'NetworkTypes', 'DatabaseTypes',
|
||||
'RemoteAppTypes', 'CloudTypes', 'Protocol', 'AllTypes',
|
||||
]
|
||||
|
||||
|
||||
class Category(models.TextChoices):
|
||||
HOST = 'host', _('Host')
|
||||
NETWORK = 'network', _("Networking")
|
||||
DATABASE = 'database', _("Database")
|
||||
REMOTE_APP = 'remote_app', _("Remote app")
|
||||
CLOUD = 'cloud', _("Clouding")
|
||||
|
||||
|
||||
class HostTypes(models.TextChoices):
|
||||
LINUX = 'linux', 'Linux'
|
||||
WINDOWS = 'windows', 'Windows'
|
||||
UNIX = 'unix', 'Unix'
|
||||
BSD = 'bsd', 'BSD'
|
||||
MACOS = 'macos', 'MacOS'
|
||||
MAINFRAME = 'mainframe', _("Mainframe")
|
||||
OTHER_HOST = 'other_host', _("Other host")
|
||||
|
||||
|
||||
class NetworkTypes(models.TextChoices):
|
||||
SWITCH = 'switch', _("Switch")
|
||||
ROUTER = 'router', _("Router")
|
||||
FIREWALL = 'firewall', _("Firewall")
|
||||
OTHER_NETWORK = 'other_network', _("Other device")
|
||||
|
||||
|
||||
class DatabaseTypes(models.TextChoices):
|
||||
MYSQL = 'mysql', 'MySQL'
|
||||
MARIADB = 'mariadb', 'MariaDB'
|
||||
POSTGRESQL = 'postgresql', 'PostgreSQL'
|
||||
ORACLE = 'oracle', 'Oracle'
|
||||
SQLSERVER = 'sqlserver', 'SQLServer'
|
||||
MONGODB = 'mongodb', 'MongoDB'
|
||||
REDIS = 'redis', 'Redis'
|
||||
|
||||
|
||||
class RemoteAppTypes(models.TextChoices):
|
||||
CHROME = 'chrome', 'Chrome'
|
||||
VSPHERE = 'vsphere', 'vSphere client'
|
||||
MYSQL_WORKBENCH = 'mysql_workbench', 'MySQL workbench'
|
||||
CUSTOM_REMOTE_APP = 'custom_remote_app', _("Custom")
|
||||
|
||||
|
||||
class CloudTypes(models.TextChoices):
|
||||
K8S = 'k8s', 'Kubernetes'
|
||||
|
||||
|
||||
class AllTypes(metaclass=IncludesTextChoicesMeta):
|
||||
choices: list
|
||||
includes = [
|
||||
HostTypes, NetworkTypes, DatabaseTypes,
|
||||
RemoteAppTypes, CloudTypes
|
||||
]
|
||||
|
||||
|
||||
class Protocol(models.TextChoices):
|
||||
ssh = 'ssh', 'SSH'
|
||||
rdp = 'rdp', 'RDP'
|
||||
telnet = 'telnet', 'Telnet'
|
||||
vnc = 'vnc', 'VNC'
|
||||
|
||||
mysql = 'mysql', 'MySQL'
|
||||
mariadb = 'mariadb', 'MariaDB'
|
||||
oracle = 'oracle', 'Oracle'
|
||||
postgresql = 'postgresql', 'PostgreSQL'
|
||||
sqlserver = 'sqlserver', 'SQLServer'
|
||||
redis = 'redis', 'Redis'
|
||||
mongodb = 'mongodb', 'MongoDB'
|
||||
|
||||
k8s = 'k8s', 'K8S'
|
||||
|
||||
@classmethod
|
||||
def host_protocols(cls):
|
||||
return [cls.ssh, cls.rdp, cls.telnet, cls.vnc]
|
||||
|
||||
@classmethod
|
||||
def db_protocols(cls):
|
||||
return [
|
||||
cls.mysql, cls.mariadb, cls.postgresql, cls.oracle,
|
||||
cls.sqlserver, cls.redis, cls.mongodb,
|
||||
]
|
||||
|
||||
|
Reference in New Issue
Block a user