from typing import Final


# ====== CA: Common Attribute ======

class CA:
    Api: Final[str] = "api"
    Auth: Final[str] = "aut"
    Ascending: Final[str] = "asc"  # in SQL

    Book: Final[str] = "b"
    BookId: Final[str] = "bid"
    BookChapterVersionComboId: Final[str] = "bcvcid"
    BookVersion: Final[str] = "bv"
    BookVersionId: Final[str] = "bvid"

    Check: Final[str] = "chk"
    Chapter: Final[str] = "c"
    ChapterVersion: Final[str] = "cv"
    ChapterVersionId: Final[str] = "cvid"
    Click: Final[str] = "clk"
    Code: Final[str] = "cd"
    Collect: Final[str] = "clt"
    Collected: Final[str] = "cltd"
    Color: Final[str] = "col"
    Count: Final[str] = "cnt"
    Create: Final[str] = "ct"
    CreateTime: Final[str] = "crt"

    Data: Final[str] = "dt"
    Database: Final[str] = "db"
    Descending: Final[str] = "desc"  # in SQL
    Description: Final[str] = "des"
    DescriptionFormatted: Final[str] = "desf"
    DescriptionId: Final[str] = "desid"
    DescriptionPlain: Final[str] = "desp"

    Empty: Final[str] = "emy"
    End: Final[str] = "ed"

    Field: Final[str] = "fid"
    Finished: Final[str] = "fied"
    First: Final[str] = "fst"

    Grid: Final[str] = "gd"

    Head: Final[str] = "hd"
    HeadVersion: Final[str] = "hv"
    Height: Final[str] = "ht"
    History: Final[str] = "hy"
    HttpStatus: Final[str] = "hts"

    Id: Final[str] = "id"
    Info: Final[str] = "inf"
    Init: Final[str] = "it"
    Item: Final[str] = "im"

    Learner: Final[str] = "lr"
    LearnerId: Final[str] = "lrid"
    List: Final[str] = "lt"
    Login: Final[str] = "lgn"

    Message: Final[str] = "msg"
    Mentor: Final[str] = "mr"
    MentorId: Final[str] = "mrid"

    Name: Final[str] = "na"
    Note: Final[str] = "nt"

    Ok: Final[str] = "ok"

    Parameter: Final[str] = "pm"
    Password: Final[str] = "pw"
    Private: Final[str] = "pvt"
    Public: Final[str] = "pb"

    Query: Final[str] = "qy"
    Quest: Final[str] = "qt"

    Read: Final[str] = "rd"
    # Request: Final[str] = "req"
    # Response: Final[str] = "rsp"
    Result: Final[str] = "ret"
    Rotation: Final[str] = "rot"

    Scale: Final[str] = "scl"
    Sentence: Final[str] = "sn"
    SentenceAudio: Final[str] = "sa"
    SentenceAudioId: Final[str] = "said"
    SentenceId: Final[str] = "snid"
    Series: Final[str] = "ses"
    Signup: Final[str] = "sgu"
    Size: Final[str] = "siz"
    SortBy: Final[str] = "stby"
    SortDirection: Final[str] = "stdr"
    Stars: Final[str] = "strs"
    Start: Final[str] = "str"
    State: Final[str] = "ste"
    Status: Final[str] = "sts"

    Text: Final[str] = "txt"
    Time: Final[str] = "tm"
    TimeZone: Final[str] = "tmz"
    Title: Final[str] = "tt"
    TitleId: Final[str] = "ttid"
    TotalSec: Final[str] = "tls"
    Transform: Final[str] = "tsf"
    Type: Final[str] = "tp"

    Update: Final[str] = "ud"
    UpdateTime: Final[str] = "udt"
    Used: Final[str] = "used"
    User: Final[str] = "usr"
    UserId: Final[str] = "uid"

    Version: Final[str] = "vn"
    VersionCreate: Final[str] = "vct"
    VersionId: Final[str] = "vid"
    Visited: Final[str] = "vst"
    Visiting: Final[str] = "vstng"

    Width: Final[str] = "wh"
    Word: Final[str] = "w"
    WordBookLibrary: Final[str] = "wbl",
    WordId: Final[str] = "wid"

    ___Error___: Final[str] = "err"
