Decouple chat from core and add chat rest api (#25)

* Decouple the chat package from the core

* Add rest api endpoints for the chat aspect
This commit is contained in:
Bradley Hilton
2020-06-23 15:11:01 -05:00
committed by GitHub
parent af1e2c5dd0
commit abb2f363af
10 changed files with 244 additions and 78 deletions

8
models/chatListener.go Normal file
View File

@@ -0,0 +1,8 @@
package models
//ChatListener represents the listener for the chat server
type ChatListener interface {
ClientAdded(clientID string)
ClientRemoved(clientID string)
MessageSent(message ChatMessage)
}

View File

@@ -2,6 +2,8 @@ package models
//ChatMessage represents a single chat message
type ChatMessage struct {
ClientID string `json:"-"`
Author string `json:"author"`
Body string `json:"body"`
Image string `json:"image"`
@@ -14,3 +16,8 @@ type ChatMessage struct {
func (s ChatMessage) String() string {
return s.Author + " says " + s.Body
}
//Valid checks to ensure the message is valid
func (s ChatMessage) Valid() bool {
return s.Author != "" && s.Body != "" && s.ID != ""
}