# This file was generated by liblab | https://liblab.com/

from enum import Enum


class ContractTypeEnum(Enum):
    """An enumeration representing different categories.

    :cvar ONGOING_TIME_BASED: "ongoing_time_based"
    :vartype ONGOING_TIME_BASED: str
    :cvar MILESTONES: "milestones"
    :vartype MILESTONES: str
    :cvar TIME_BASED: "time_based"
    :vartype TIME_BASED: str
    :cvar PAY_AS_YOU_GO_TIME_BASED: "pay_as_you_go_time_based"
    :vartype PAY_AS_YOU_GO_TIME_BASED: str
    :cvar COMMISSION: "commission"
    :vartype COMMISSION: str
    :cvar PAYG_MILESTONES: "payg_milestones"
    :vartype PAYG_MILESTONES: str
    :cvar PAYG_TASKS: "payg_tasks"
    :vartype PAYG_TASKS: str
    :cvar EOR: "eor"
    :vartype EOR: str
    :cvar UNKNOWN: "unknown"
    :vartype UNKNOWN: str
    :cvar EMPLOYEE: "employee"
    :vartype EMPLOYEE: str
    :cvar GLOBAL_PAYROLL: "global_payroll"
    :vartype GLOBAL_PAYROLL: str
    :cvar SHIELD_MSA: "shield_msa"
    :vartype SHIELD_MSA: str
    :cvar HRIS_DIRECT_EMPLOYEE: "hris_direct_employee"
    :vartype HRIS_DIRECT_EMPLOYEE: str
    :cvar PEO: "peo"
    :vartype PEO: str
    """

    ONGOING_TIME_BASED = "ongoing_time_based"
    MILESTONES = "milestones"
    TIME_BASED = "time_based"
    PAY_AS_YOU_GO_TIME_BASED = "pay_as_you_go_time_based"
    COMMISSION = "commission"
    PAYG_MILESTONES = "payg_milestones"
    PAYG_TASKS = "payg_tasks"
    EOR = "eor"
    UNKNOWN = "unknown"
    EMPLOYEE = "employee"
    GLOBAL_PAYROLL = "global_payroll"
    SHIELD_MSA = "shield_msa"
    HRIS_DIRECT_EMPLOYEE = "hris_direct_employee"
    PEO = "peo"

    def list():
        """Lists all category values.

        :return: A list of all category values.
        :rtype: list
        """
        return list(map(lambda x: x.value, ContractTypeEnum._member_map_.values()))
