From 8e785c5adabb0c292b3ea93a60f37c7675c19016 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=83=9E=E3=83=AA=E3=82=A6=E3=82=B9?= Date: Thu, 5 Jan 2023 00:23:25 -0500 Subject: [PATCH] Refactored adapter Capabilities --- system/adapter/adapter.go | 15 +++++++++++++++ system/all/all.go | 2 +- system/discourse/discourse.go | 2 +- system/hackernews/hackernews.go | 2 +- system/lemmy/lemmy.go | 2 +- system/system.go | 2 +- 6 files changed, 20 insertions(+), 5 deletions(-) diff --git a/system/adapter/adapter.go b/system/adapter/adapter.go index bc4f194..71bedce 100644 --- a/system/adapter/adapter.go +++ b/system/adapter/adapter.go @@ -1,6 +1,21 @@ package adapter +type Capabilities []Capability + type Capability struct { ID string Name string } + +func (caps *Capabilities) IsCapableOf(capability string) bool { + var can bool = false + + for _, capb := range *caps { + if capb.ID == capability { + can = true + break + } + } + + return can +} diff --git a/system/all/all.go b/system/all/all.go index 27ecdab..159e226 100644 --- a/system/all/all.go +++ b/system/all/all.go @@ -35,7 +35,7 @@ func (sys *System) SetLogger(logger *zap.SugaredLogger) { sys.logger = logger } -func (sys *System) GetCapabilities() []adapter.Capability { +func (sys *System) GetCapabilities() adapter.Capabilities { var caps []adapter.Capability return caps diff --git a/system/discourse/discourse.go b/system/discourse/discourse.go index 519ee83..6f86450 100644 --- a/system/discourse/discourse.go +++ b/system/discourse/discourse.go @@ -46,7 +46,7 @@ func (sys *System) SetLogger(logger *zap.SugaredLogger) { sys.logger = logger } -func (sys *System) GetCapabilities() []adapter.Capability { +func (sys *System) GetCapabilities() adapter.Capabilities { var caps []adapter.Capability caps = append(caps, diff --git a/system/hackernews/hackernews.go b/system/hackernews/hackernews.go index 6182bea..293955a 100644 --- a/system/hackernews/hackernews.go +++ b/system/hackernews/hackernews.go @@ -44,7 +44,7 @@ func (sys *System) SetLogger(logger *zap.SugaredLogger) { sys.logger = logger } -func (sys *System) GetCapabilities() []adapter.Capability { +func (sys *System) GetCapabilities() adapter.Capabilities { var caps []adapter.Capability caps = append(caps, diff --git a/system/lemmy/lemmy.go b/system/lemmy/lemmy.go index d7d6e95..099952d 100644 --- a/system/lemmy/lemmy.go +++ b/system/lemmy/lemmy.go @@ -45,7 +45,7 @@ func (sys *System) SetLogger(logger *zap.SugaredLogger) { sys.logger = logger } -func (sys *System) GetCapabilities() []adapter.Capability { +func (sys *System) GetCapabilities() adapter.Capabilities { var caps []adapter.Capability caps = append(caps, diff --git a/system/system.go b/system/system.go index 91478d7..5e0ae28 100644 --- a/system/system.go +++ b/system/system.go @@ -19,7 +19,7 @@ type System interface { GetConfig() map[string]interface{} SetConfig(cfg *map[string]interface{}) SetLogger(logger *zap.SugaredLogger) - GetCapabilities() []adapter.Capability + GetCapabilities() adapter.Capabilities FilterValue() string Title() string