mirror of
https://git.sr.ht/~ashkeel/strimertul
synced 2024-09-18 01:50:50 +00:00
Add Status() to modules
This commit is contained in:
parent
0f6cfdf30e
commit
dd6979c38d
6 changed files with 67 additions and 0 deletions
|
@ -56,6 +56,22 @@ func (db *DB) Client() *badger.DB {
|
|||
return db.client
|
||||
}
|
||||
|
||||
func (db *DB) Status() modules.ModuleStatus {
|
||||
lsm, vlog := db.client.Size()
|
||||
return modules.ModuleStatus{
|
||||
Enabled: true,
|
||||
Working: !db.client.IsClosed(),
|
||||
Data: struct {
|
||||
LSMSize int64
|
||||
VlogSize int64
|
||||
}{
|
||||
lsm,
|
||||
vlog,
|
||||
},
|
||||
StatusString: db.client.LevelsToString(),
|
||||
}
|
||||
}
|
||||
|
||||
func (db *DB) Close() error {
|
||||
return db.client.Close()
|
||||
}
|
||||
|
|
|
@ -56,6 +56,19 @@ func NewServer(manager *modules.Manager) (*Server, error) {
|
|||
return server, nil
|
||||
}
|
||||
|
||||
func (s *Server) Status() modules.ModuleStatus {
|
||||
return modules.ModuleStatus{
|
||||
Enabled: true,
|
||||
Working: s.server != nil,
|
||||
Data: struct {
|
||||
Bind string
|
||||
}{
|
||||
s.server.Addr,
|
||||
},
|
||||
StatusString: s.server.Addr,
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Server) Close() error {
|
||||
return s.server.Close()
|
||||
}
|
||||
|
|
|
@ -124,6 +124,15 @@ func NewManager(manager *modules.Manager) (*Manager, error) {
|
|||
return loyalty, nil
|
||||
}
|
||||
|
||||
func (m *Manager) Status() modules.ModuleStatus {
|
||||
return modules.ModuleStatus{
|
||||
Enabled: true,
|
||||
Working: true,
|
||||
Data: struct{}{},
|
||||
StatusString: "",
|
||||
}
|
||||
}
|
||||
|
||||
func (m *Manager) Close() error {
|
||||
//TODO Stop subscriptions?
|
||||
return nil
|
||||
|
|
|
@ -2,7 +2,19 @@ package modules
|
|||
|
||||
import "github.com/sirupsen/logrus"
|
||||
|
||||
type ModuleStatus struct {
|
||||
Enabled bool
|
||||
Working bool
|
||||
Data interface{}
|
||||
StatusString string
|
||||
}
|
||||
|
||||
func (m ModuleStatus) String() string {
|
||||
return m.StatusString
|
||||
}
|
||||
|
||||
type Module interface {
|
||||
Status() ModuleStatus
|
||||
Close() error
|
||||
}
|
||||
|
||||
|
|
|
@ -115,7 +115,15 @@ func (m *Manager) ReceiveEvents() error {
|
|||
case <-m.restart:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (m *Manager) Status() modules.ModuleStatus {
|
||||
return modules.ModuleStatus{
|
||||
Enabled: true,
|
||||
Working: m.Client != nil,
|
||||
Data: struct{}{},
|
||||
StatusString: "",
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -151,6 +151,15 @@ func (c *Client) RunBot() error {
|
|||
}
|
||||
}
|
||||
|
||||
func (c *Client) Status() modules.ModuleStatus {
|
||||
return modules.ModuleStatus{
|
||||
Enabled: true,
|
||||
Working: c.Bot != nil && c.Bot.Client != nil,
|
||||
Data: struct{}{},
|
||||
StatusString: "",
|
||||
}
|
||||
}
|
||||
|
||||
func (c *Client) Close() error {
|
||||
return c.Bot.Client.Disconnect()
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue