mirror of
https://github.com/lone-cloud/prism
synced 2026-06-03 08:43:10 -07:00
39 lines
673 B
Go
39 lines
673 B
Go
package subscription
|
|
|
|
type Channel string
|
|
|
|
const (
|
|
ChannelSignal Channel = "signal"
|
|
ChannelWebPush Channel = "webpush"
|
|
ChannelTelegram Channel = "telegram"
|
|
)
|
|
|
|
func (c Channel) String() string {
|
|
return string(c)
|
|
}
|
|
|
|
func (c Channel) Label() string {
|
|
switch c {
|
|
case ChannelSignal:
|
|
return "Signal"
|
|
case ChannelWebPush:
|
|
return "WebPush"
|
|
case ChannelTelegram:
|
|
return "Telegram"
|
|
default:
|
|
return string(c)
|
|
}
|
|
}
|
|
|
|
func (c Channel) IsAvailable(signalEnabled bool, telegramEnabled bool) bool {
|
|
switch c {
|
|
case ChannelWebPush:
|
|
return true
|
|
case ChannelSignal:
|
|
return signalEnabled
|
|
case ChannelTelegram:
|
|
return telegramEnabled
|
|
default:
|
|
return false
|
|
}
|
|
}
|