modules/Enums.psm1

enum SEARCH_SCOPE{
    internalId  # regular ID
    externalId  # external ID, typically from another source
    typeId     # used for providers where they have unique ID's for each market, and this serves as a generalization of the market type
}

# list of supported operator
enum OPERATOR{
    AM   # Adjarabet Armenia
    AB   # Adjarabet
    BF   # Betfair
    BP   # Betplanet
    EB   # Europabet
    SNG  # Singular
}

# type of environments
enum ENVIRONMENT{
    DEV   # Development
    TEST  # Testing aka QA
    STG   # Staging
    PROD  # Production
    CERT  # Certification
    DEMO  # Demo environment
    OTHER # Other
}

# what entity is analyzed
enum DATATYPE{
    Event
    Market
    Outcome
    Enrichment
}

# additional attributes for tracing
enum TRACE{
    Outcomes
    Producer
    Origin
}

enum SOURCE {
    sb = 0
    core = 1
    ramp = 2
    betradar = 3
    betgenius = 4
    lsports = 5
    custom = 6
}

enum SOURCE_TYPE {
    backend
    feedService
    adapter
    provider
}

enum MESSAGE_TYPE {
    Fixture
    Betstop
    Market
    Enrichment
}

# type of market ID's searched for
enum QUERY_TYPE{
    matchId
    datetimeInterval
    combined
}

enum MODULE{
    DFS
    SB
    SCC
    SS
    FX
    RA    # betshop
    MAP   # market mapping
}

enum RELEASE {
    None
    Build
    Patch
    Minor
    Major
}

# TODO implement as string resources
class CONST{
    # $LocalizedData.
    static [string] $MATCH_PREMATCH = 'Prematch'
    static [string] $MATCH_INPLAY = 'Inplay'
    static [string] $MATCH_FINISHED = 'Finished'
    static [string] $MATCH_ENDED = 'Ended'

    static [string] $STATUS_ACTIVE = 'Active'
    static [string] $STATUS_SUSPENDED = 'Suspended'
    static [string] $STATUS_STOPPED = 'Stopped'
    static [string] $STATUS_RESULTED = 'Resulted'
    static [string] $STATUS_CANCELED = 'Canceled'
    static [string] $STATUS_HANDED_OVER = 'HandedOver'

    static [string] $MSG_FIXTURE = 'FIXTURE'
    static [string] $MSG_ODDS_CHANGE = 'ODDS_CHANGE'
    static [string] $MSG_BET_STOP = 'BET_STOP'
    static [string] $MSG_BET_CANCEL = 'BET_CANCEL'
    static [string] $MSG_SETTLEMENT = 'SETTLEMENT'
    static [string] $MSG_ROLLBACK_SETTLEMENT = 'ROLL_SETTLEMENT'
    static [string] $MSG_ROLLBACK_BET_CANCEL = 'ROLL_BET_CANCEL'
    static [string] $MSG_SNAPSHOT = 'SNAPSHOT'

    static [string] $SETTLEMENT_LOST = 'Lost'
    static [string] $SETTLEMENT_REFUND = 'Refund'
    static [string] $SETTLEMENT_HALF_LOST = 'Half-lost'
    static [string] $SETTLEMENT_WON = 'Won'
    static [string] $SETTLEMENT_HALF_WIN = 'Half-win'

    static [string] $COLOR_NONE = 'Gray'
    static [string] $COLOR_BUILD = 'Green'
    static [string] $COLOR_PATCH = 'Yellow'
    static [string] $COLOR_MINOR = 'Red'
    static [string] $COLOR_MAJOR = 'Magenta'
}
#endregion