mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-13 09:07:33 +00:00
chore: move the go code into a subfolder
This commit is contained in:
28
apps/api/internal/notification/senders/chain.go
Normal file
28
apps/api/internal/notification/senders/chain.go
Normal file
@@ -0,0 +1,28 @@
|
||||
package senders
|
||||
|
||||
import "github.com/zitadel/zitadel/internal/notification/channels"
|
||||
|
||||
var _ channels.NotificationChannel = (*Chain)(nil)
|
||||
|
||||
type Chain struct {
|
||||
channels []channels.NotificationChannel
|
||||
}
|
||||
|
||||
func ChainChannels(channel ...channels.NotificationChannel) *Chain {
|
||||
return &Chain{channels: channel}
|
||||
}
|
||||
|
||||
// HandleMessage returns a non nil error from a provider immediately if any occurs
|
||||
// messages are sent to channels in the same order they were provided to ChainChannels()
|
||||
func (c *Chain) HandleMessage(message channels.Message) error {
|
||||
for i := range c.channels {
|
||||
if err := c.channels[i].HandleMessage(message); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c *Chain) Len() int {
|
||||
return len(c.channels)
|
||||
}
|
Reference in New Issue
Block a user