# -*- coding: utf-8 -*- # from django.db.models import TextChoices, IntegerChoices from django.utils.translation import gettext_lazy as _ class RiskLevelChoices(IntegerChoices): accept = 0, _('Accept') warning = 4, _('Warning') reject = 5, _('Reject') review_reject = 6, _('Review & Reject') review_accept = 7, _('Review & Accept') review_cancel = 8, _('Review & Cancel') @classmethod def get_label(cls, level): label = dict(cls.choices).get(level) return label class ReplayStorageType(TextChoices): null = 'null', 'Null', server = 'server', 'Server' s3 = 's3', 'S3' ceph = 'ceph', 'Ceph' swift = 'swift', 'Swift' oss = 'oss', 'OSS' azure = 'azure', 'Azure' obs = 'obs', 'OBS' cos = 'cos', 'COS' sftp = 'sftp', 'SFTP' class CommandStorageType(TextChoices): null = 'null', 'Null', server = 'server', 'Server' es = 'es', 'Elasticsearch' # Component Status Choices # ------------------------ class ComponentLoad(TextChoices): critical = 'critical', _('Critical') high = 'high', _('High') normal = 'normal', _('Normal') offline = 'offline', _('Offline') @classmethod def status(cls): return set(dict(cls.choices).keys()) class TerminalType(TextChoices): koko = 'koko', 'KoKo' guacamole = 'guacamole', 'Guacamole' omnidb = 'omnidb', 'OmniDB' xrdp = 'xrdp', 'Xrdp' lion = 'lion', 'Lion' core = 'core', 'Core' celery = 'celery', 'Celery' magnus = 'magnus', 'Magnus' razor = 'razor', 'Razor' tinker = 'tinker', 'Tinker' video_worker = 'video_worker', 'Video Worker' chen = 'chen', 'Chen' kael = 'kael', 'Kael' panda = 'panda', 'Panda' nec = 'nec', 'Nec' facelive = 'facelive', 'Facelive' @classmethod def types(cls): return set(dict(cls.choices).keys()) class PublishStatus(TextChoices): pending = 'pending', _('Pending') success = 'success', _("Success") failed = 'failed', _("Failed") mismatch = 'mismatch', _("Mismatch") class SessionType(TextChoices): normal = 'normal', _('Normal') tunnel = 'tunnel', _('Tunnel') command = 'command', _('Command') sftp = 'sftp', _('SFTP') class ActionPermission(TextChoices): readonly = "readonly", _('Read only') writable = "writable", _('Writable') class TaskNameType(TextChoices): kill_session = "kill_session", _('Kill session') lock_session = "lock_session", _('Lock session') unlock_session = "unlock_session", _('Unlock session') class SessionErrorReason(TextChoices): connect_failed = 'connect_failed', _('Connect failed') replay_create_failed = 'replay_create_failed', _('Replay create failed') replay_upload_failed = 'replay_upload_failed', _('Replay upload failed') replay_convert_failed = 'replay_convert_failed', _('Replay convert failed') replay_unsupported = 'replay_unsupported', _('Replay unsupported')