mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-11 21:07:31 +00:00
feat: Notification providers config (#3212)
* feat: add login check lifetimes to login policy * feat: org features test * feat: debug notificatiaon events * feat: debug notification file/log commands * feat: add requests to proto * feat: add api for debug notification providers file/log * feat: add projection for debug notifiication providers * feat: requests * feat: merge v2 * feat: add settings proto to generate * feat: notifiaction providers * fix: remove unused code * Update iam_converter.go Co-authored-by: Livio Amstutz <livio.a@gmail.com>
This commit is contained in:
@@ -1,45 +1,28 @@
|
||||
package senders
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/caos/zitadel/internal/config/systemdefaults"
|
||||
"github.com/caos/zitadel/internal/notification/channels"
|
||||
"github.com/caos/zitadel/internal/notification/channels/chat"
|
||||
"github.com/caos/zitadel/internal/notification/channels/fs"
|
||||
"github.com/caos/zitadel/internal/notification/channels/log"
|
||||
)
|
||||
|
||||
func debugChannels(config systemdefaults.Notifications) (channels.NotificationChannel, error) {
|
||||
|
||||
func debugChannels(ctx context.Context, config systemdefaults.Notifications, getFileSystemProvider func(ctx context.Context) (*fs.FSConfig, error), getLogProvider func(ctx context.Context) (*log.LogConfig, error)) (*Chain, error) {
|
||||
var (
|
||||
providers []channels.NotificationChannel
|
||||
enableChat bool
|
||||
providers []channels.NotificationChannel
|
||||
)
|
||||
|
||||
if config.Providers.Chat.Enabled != nil {
|
||||
enableChat = *config.Providers.Chat.Enabled
|
||||
} else {
|
||||
// ensures backward compatible configuration
|
||||
enableChat = config.DebugMode
|
||||
}
|
||||
|
||||
if enableChat {
|
||||
p, err := chat.InitChatChannel(config.Providers.Chat)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
if fsProvider, err := getFileSystemProvider(ctx); err == nil {
|
||||
p, err := fs.InitFSChannel(config.FileSystemPath, *fsProvider)
|
||||
if err == nil {
|
||||
providers = append(providers, p)
|
||||
}
|
||||
providers = append(providers, p)
|
||||
}
|
||||
|
||||
if config.Providers.FileSystem.Enabled {
|
||||
p, err := fs.InitFSChannel(config.Providers.FileSystem)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
providers = append(providers, p)
|
||||
}
|
||||
|
||||
if config.Providers.Log.Enabled {
|
||||
providers = append(providers, log.InitStdoutChannel(config.Providers.Log))
|
||||
if logProvider, err := getLogProvider(ctx); err == nil {
|
||||
providers = append(providers, log.InitStdoutChannel(*logProvider))
|
||||
}
|
||||
|
||||
return chainChannels(providers...), nil
|
||||
|
Reference in New Issue
Block a user