refactor: reorganize archirecture
This commit is contained in:
parent
45c1edfa8f
commit
83b470d4ea
28 changed files with 365 additions and 40 deletions
38
internal/store/message.go
Normal file
38
internal/store/message.go
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
package store
|
||||
|
||||
type MessageOrigin int
|
||||
|
||||
var messageStore *MessageStore
|
||||
|
||||
const (
|
||||
MessageOriginOwncast MessageOrigin = iota
|
||||
MessageOriginTwitch
|
||||
)
|
||||
|
||||
type MessageStore struct {
|
||||
messages []MessageInterface
|
||||
}
|
||||
|
||||
func (s *MessageStore) Add(msg MessageInterface) {
|
||||
s.messages = append(s.messages, msg)
|
||||
}
|
||||
|
||||
func (s *MessageStore) All() []MessageInterface {
|
||||
return s.messages
|
||||
}
|
||||
|
||||
func GetMessageStore() *MessageStore {
|
||||
if messageStore == nil {
|
||||
messageStore = new(MessageStore)
|
||||
}
|
||||
|
||||
return messageStore
|
||||
}
|
||||
|
||||
type MessageInterface interface {
|
||||
ID() string
|
||||
Visible() bool
|
||||
Origin() MessageOrigin
|
||||
Author() string
|
||||
Content() string
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue