# Inherit the enum class to extend custom status
class SgStatusList:
    # TODO: Sane default statuses? I got no idea what's the default statuses
    wtg = "Waiting to Start"
    hld = "On Hold"
    ip = "In Progress"
    na = "N/A"


# Inherit the enum class to extend custom entity
class SgEntity:
    APIUSER = "ApiUser"
    ASSET = "Asset"
    ASSETLIBRARY = "AssetLibrary"
    ATTACHMENT = "Attachment"
    BLENDSHAPE = "Blendshape"
    BOOKING = "Booking"
    CAMERA = "Camera"
    CANDIDATE = "Candidate"
    COMPOSITION = "Composition"
    CONTRACT = "Contract"
    CUT = "Cut"
    CUTITEM = "CutItem"
    DELIVERY = "Delivery"
    DEPARTMENT = "Department"
    ELEMENT = "Element"
    EPISODE = "Episode"
    GROUP = "Group"
    HUMANUSER = "HumanUser"
    LAUNCH = "Launch"
    LEVEL = "Level"
    MOCAPPASS = "MocapPass"
    MOCAPSETUP = "MocapSetup"
    MOCAPTAKE = "MocapTake"
    MOCAPTAKERANGE = "MocapTakeRange"
    NOTE = "Note"
    PERFORMER = "Performer"
    PHASE = "Phase"
    PLAYLIST = "Playlist"
    PROJECT = "Project"
    PUBLISHEDFILE = "PublishedFile"
    PUBLISHEDFILEDEPENDENCY = "PublishedFileDependency"
    PUBLISHEDFILETYPE = "PublishedFileType"
    REEL = "Reel"
    RELEASE = "Release"
    REPLY = "Reply"
    REVISION = "Revision"
    ROUTINE = "Routine"
    SCENE = "Scene"
    SCRIPT = "Script"
    SEQUENCE = "Sequence"
    SHOOTDAY = "ShootDay"
    SHOT = "Shot"
    SLATE = "Slate"
    SOURCECLIP = "SourceClip"
    STATUS = "Status"
    STEP = "Step"
    TASK = "Task"
    TASKTEMPLATE = "TaskTemplate"
    TIMELOG = "TimeLog"
    TOOL = "Tool"
    VERSION = "Version"


class SgHumanUserStatus:
    ACTIVE = "act"
    DISABLED = "dis"
