feat: now server part supports multiple channels for the same type (#50)
This commit is contained in:
+24
-38
@@ -5,45 +5,31 @@ import (
|
||||
"message-pusher/model"
|
||||
)
|
||||
|
||||
const (
|
||||
TypeEmail = "email"
|
||||
TypeWeChatTestAccount = "test"
|
||||
TypeWeChatCorpAccount = "corp_app"
|
||||
TypeCorp = "corp"
|
||||
TypeLark = "lark"
|
||||
TypeDing = "ding"
|
||||
TypeTelegram = "telegram"
|
||||
TypeDiscord = "discord"
|
||||
TypeBark = "bark"
|
||||
TypeClient = "client"
|
||||
TypeNone = "none"
|
||||
)
|
||||
|
||||
func SendMessage(message *model.Message, user *model.User) error {
|
||||
switch message.Channel {
|
||||
case TypeEmail:
|
||||
return SendEmailMessage(message, user)
|
||||
case TypeWeChatTestAccount:
|
||||
return SendWeChatTestMessage(message, user)
|
||||
case TypeWeChatCorpAccount:
|
||||
return SendWeChatCorpMessage(message, user)
|
||||
case TypeCorp:
|
||||
return SendCorpMessage(message, user)
|
||||
case TypeLark:
|
||||
return SendLarkMessage(message, user)
|
||||
case TypeDing:
|
||||
return SendDingMessage(message, user)
|
||||
case TypeBark:
|
||||
return SendBarkMessage(message, user)
|
||||
case TypeClient:
|
||||
return SendClientMessage(message, user)
|
||||
case TypeTelegram:
|
||||
return SendTelegramMessage(message, user)
|
||||
case TypeDiscord:
|
||||
return SendDiscordMessage(message, user)
|
||||
case TypeNone:
|
||||
func SendMessage(message *model.Message, user *model.User, channel_ *model.Channel) error {
|
||||
switch channel_.Type {
|
||||
case model.TypeEmail:
|
||||
return SendEmailMessage(message, user, channel_)
|
||||
case model.TypeWeChatTestAccount:
|
||||
return SendWeChatTestMessage(message, user, channel_)
|
||||
case model.TypeWeChatCorpAccount:
|
||||
return SendWeChatCorpMessage(message, user, channel_)
|
||||
case model.TypeCorp:
|
||||
return SendCorpMessage(message, user, channel_)
|
||||
case model.TypeLark:
|
||||
return SendLarkMessage(message, user, channel_)
|
||||
case model.TypeDing:
|
||||
return SendDingMessage(message, user, channel_)
|
||||
case model.TypeBark:
|
||||
return SendBarkMessage(message, user, channel_)
|
||||
case model.TypeClient:
|
||||
return SendClientMessage(message, user, channel_)
|
||||
case model.TypeTelegram:
|
||||
return SendTelegramMessage(message, user, channel_)
|
||||
case model.TypeDiscord:
|
||||
return SendDiscordMessage(message, user, channel_)
|
||||
case model.TypeNone:
|
||||
return nil
|
||||
default:
|
||||
return errors.New("不支持的消息通道:" + message.Channel)
|
||||
return errors.New("不支持的消息通道:" + channel_.Type)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user