from snek.system.model import BaseModel, ModelField


class ChannelMemberModel(BaseModel):
    label = ModelField(name="label", required=True, kind=str)
    channel_uid = ModelField(name="channel_uid", required=True, kind=str)
    user_uid = ModelField(name="user_uid", required=True, kind=str)
    is_moderator = ModelField(
        name="is_moderator", required=True, kind=bool, value=False
    )
    is_read_only = ModelField(
        name="is_read_only", required=True, kind=bool, value=False
    )
    is_muted = ModelField(name="is_muted", required=True, kind=bool, value=False)
    is_banned = ModelField(name="is_banned", required=True, kind=bool, value=False)
