import betterproto
from game_server.net.session import Session
from lib.proto import (
    GetGrandKeyReq,
    GetGrandKeyRsp,
    GrandKey,
    GrandKeySkill
)

async def handle(session: Session, msg: GetGrandKeyReq) -> betterproto.Message:
    return GetGrandKeyRsp(
        retcode=0,
        is_all=True,
        key_list=[
            GrandKey(
                activate_level=10,
                breach_level=1,
                end_time=1975780800,
                id=203,
                level=10,
                skill=GrandKeySkill(
                    skill_id=20310
                ),
                unlock_level=50
            ),
            GrandKey(
                id=208,
                level=1,
                unlock_level=65
            ),
            GrandKey(
                activate_level=10,
                breach_level=1,
                end_time=1975780800,
                id=205,
                level=10,
                skill=GrandKeySkill(
                    skill_id=20509
                ),
                unlock_level=65
            ),
            GrandKey(
                activate_level=10,
                breach_level=2,
                end_time=1975780800,
                id=202,
                level=10,
                skill=GrandKeySkill(
                    skill_id=20209
                ),
                unlock_level=50
            ),
            GrandKey(
                breach_level=1,
                id=207,
                level=1,
                unlock_level=65
            ),
            GrandKey(
                breach_level=1,
                id=204,
                level=1,
                unlock_level=65
            ),
            GrandKey(
                activate_level=10,
                end_time=1975780800,
                id=201,
                level=10,
                skill=GrandKeySkill(
                    skill_id=20109
                ),
                unlock_level=50
            ),
            GrandKey(
                breach_level=1,
                id=206,
                level=1,
                unlock_level=35
            )
        ]
    )
