github.com/sharovik/devbot@v1.0.1-0.20240308094637-4a0387c40516/internal/service/message/base.go (about) 1 package message 2 3 import ( 4 "github.com/sharovik/devbot/internal/config" 5 "github.com/sharovik/devbot/internal/container" 6 ) 7 8 // BaseServiceInterface base interface for messages APIs services 9 type BaseServiceInterface interface { 10 InitWebSocketReceiver() error 11 BeforeWSConnectionStart() error 12 ProcessMessage(message interface{}) error 13 } 14 15 // S message service object 16 var S BaseServiceInterface 17 18 // InitService initialize the events-api service 19 func InitService() { 20 switch container.C.Config.MessagesAPIConfig.Type { 21 case config.MessagesAPITypeSlack: 22 S = SlackService{} 23 default: 24 panic("The messages api type is not supported") 25 } 26 }