type "ChatChannelParams" {
    struct {
        field "room_id" {
            primitive "string"
        }
    }
}

type "ChatReactMessage" {
    struct {
        field "text" {
            primitive "string"
        }
    }
}

type "ChatDjangoMessage" {
    struct {
        field "text" {
            primitive "string"
        }
        field "from_user" {
            primitive "string"
        }
    }
}

type "NotificationsDjangoMessage" {
    struct {
        field "body" {
            primitive "string"
        }
    }
}

channel "chat" {
    pascal-name "Chat"
    params "ChatChannelParams"
    react-message "ChatReactMessage"
    django-message "ChatDjangoMessage"
}

channel "notifications" {
    pascal-name "Notifications"
    django-message "NotificationsDjangoMessage"
}
