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  }