from ...client.resources.guild import Guild
from ...const import MISSING


class _GuildEvents:
    """
    Acts as a lookup table for Gateway events relating to
    guilds from Discord.
    """

    @classmethod
    def lookup(cls, name: str, data: dict) -> dict | MISSING:
        match name:
            case "GUILD_CREATE":
                return Guild
            case "GUILD_UPDATE":
                ...
            case "GUILD_DELETE":
                ...
            case "GUILD_BAN_ADD":
                ...
            case "GUILD_BAN_REMOVE":
                ...
            case "GUILD_EMOJIS_UPDATE":
                ...
            case "GUILD_STICKERS_UPDATE":
                ...
            case "GUILD_INTEGRATIONS_UPDATE":
                ...
            case "GUILD_MEMBER_ADD":
                ...
            case "GUILD_MEMBER_REMOVE":
                ...
            case "GUILD_MEMBER_UPDATE":
                ...
            case "GUILD_MEMBERS_CHUNK":
                ...
            case "GUILD_ROLE_CREATE":
                ...
            case "GUILD_ROLE_UPDATE":
                ...
            case "GUILD_ROLE_DELETE":
                ...
            case "GUILD_SCHEDULED_EVENT_CREATE":
                ...
            case "GUILD_SCHEDULED_EVENT_UPDATE":
                ...
            case "GUILD_SCHEDULED_EVENT_DELETE":
                ...
            case "GUILD_SCHEDULED_EVENT_USER_ADD":
                ...
            case "GUILD_SCHEDULED_EVENT_USER_REMOVE":
                ...
            case _:
                ...
