from enum import Enum


class Error(str, Enum):
    """
    mkfeat과 관련된 일체의 오류를 정의. Exception보다는 반환값으로 API를 정의하고자 함
    """
    OK = "OK"
    ERR_GENERAL = "ERR_GENERAL"
    ERR_INVALID_ARG = "ERR_INVALID_ARG"
    ERR_COLUMN_COUNT_MISMATCH = "ERR_COLUMN_COUNT_MISMATCH"
    ERR_ONGOING = "ERR_ONGOING"
    ERR_DATA_NOT_FOUND = "ERR_DATA_NOT_FOUND"
    ERR_LABEL_NOT_FOUND = "ERR_LABEL_NOT_FOUND"
    ERR_COLUMN_HAS_NO_NAME_OR_TYPE = "ERR_COLUMN_HAS_NO_NAME_OR_TYPE"
    ERR_COLUMN_MULTI_KEY = "ERR_COLUMN_MULTI_KEY"
    ERR_COLUMN_MULTI_LABEL = "ERR_COLUMN_MULTI_LABEL"
    ERR_COLUMN_KEY_AND_LABEL = "ERR_COLUMN_KEY_AND_LABEL"
    ERR_COLUMN_TYPE = "ERR_COLUMN_TYPE"
    ERR_COLUMN_BAD = "ERR_COLUMN_BAD"
    ERR_DATA_LABEL_COUNT_MISMATCH = "ERR_DATA_LABEL_COUNT_MISMATCH"
