From e8d39c19a4e308eb315677356be39bf538dd22ae Mon Sep 17 00:00:00 2001 From: Knut Ahlers Date: Fri, 24 Mar 2023 20:53:02 +0100 Subject: [PATCH] [core] Fix: Allow start when no tokens are available Signed-off-by: Knut Ahlers --- internal/service/access/access.go | 5 +++++ main.go | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/internal/service/access/access.go b/internal/service/access/access.go index ff7114f..b6d92db 100644 --- a/internal/service/access/access.go +++ b/internal/service/access/access.go @@ -38,6 +38,8 @@ type ( Service struct{ db database.Connector } ) +var ErrChannelNotAuthorized = errors.New("channel is not authorized") + func New(db database.Connector) (*Service, error) { return &Service{db}, errors.Wrap( db.DB().AutoMigrate(&extendedPermission{}), @@ -144,6 +146,9 @@ func (s Service) GetTwitchClientForChannel(channel string, cfg ClientConfig) (*t ) if err = s.db.DB().First(&perm, "channel = ?", strings.TrimLeft(channel, "#")).Error; err != nil { + if errors.Is(err, gorm.ErrRecordNotFound) { + return nil, ErrChannelNotAuthorized + } return nil, errors.Wrap(err, "getting twitch credential from database") } diff --git a/main.go b/main.go index de7509e..64872a2 100644 --- a/main.go +++ b/main.go @@ -272,7 +272,10 @@ func main() { frontendReloadHooks.Ping() }, }); err != nil { - log.WithError(err).Fatal("Unable to initialize Twitch client") + if !errors.Is(err, access.ErrChannelNotAuthorized) { + log.WithError(err).Fatal("Unable to initialize Twitch client") + } + twitchClient = twitch.New(cfg.TwitchClient, cfg.TwitchClientSecret, cfg.TwitchToken, "") } twitchWatch := newTwitchWatcher()