from enum import Enum


class StreamEventsTypesItem(str, Enum):
    COMPUTABLE_CALCULATION_LOG_EVENT = "COMPUTABLE_CALCULATION_LOG_EVENT"
    COMPUTABLE_DEV_MODE_REFRESH_PROGRESS = "COMPUTABLE_DEV_MODE_REFRESH_PROGRESS"
    COMPUTABLE_STATUS_CHANGE = "COMPUTABLE_STATUS_CHANGE"
    EXTERNAL_PYTHON_CALCULATOR_START_REFRESH_PROGRESS = "EXTERNAL_PYTHON_CALCULATOR_START_REFRESH_PROGRESS"
    GMP_APPROVAL_CONFIRMED = "GMP_APPROVAL_CONFIRMED"
    HEALTH_CHANGE = "HEALTH_CHANGE"
    HEARTBEAT = "HEARTBEAT"
    JOB_STATUS_CHANGE = "JOB_STATUS_CHANGE"
    OPCUA_SCAN_PROGRESS = "OPCUA_SCAN_PROGRESS"
    PHASE_STATE_CHANGE = "PHASE_STATE_CHANGE"
    PROCESS_EQUIPMENT_SENSOR_NEW_VALUE = "PROCESS_EQUIPMENT_SENSOR_NEW_VALUE"
    PROCESS_EVENT_CHANGED = "PROCESS_EVENT_CHANGED"
    PROCESS_PRE_CHECK = "PROCESS_PRE_CHECK"
    PROCESS_SETPOINT_CHANGE = "PROCESS_SETPOINT_CHANGE"
    PROCESS_STATE_CHANGE = "PROCESS_STATE_CHANGE"
    TEST = "TEST"

    def __str__(self) -> str:
        return str(self.value)
