mirror of
https://git.sr.ht/~ashkeel/strimertul
synced 2024-09-20 02:00:49 +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
|
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 {
|
func (db *DB) Close() error {
|
||||||
return db.client.Close()
|
return db.client.Close()
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,6 +56,19 @@ func NewServer(manager *modules.Manager) (*Server, error) {
|
||||||
return server, nil
|
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 {
|
func (s *Server) Close() error {
|
||||||
return s.server.Close()
|
return s.server.Close()
|
||||||
}
|
}
|
||||||
|
|
|
@ -124,6 +124,15 @@ func NewManager(manager *modules.Manager) (*Manager, error) {
|
||||||
return loyalty, nil
|
return loyalty, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *Manager) Status() modules.ModuleStatus {
|
||||||
|
return modules.ModuleStatus{
|
||||||
|
Enabled: true,
|
||||||
|
Working: true,
|
||||||
|
Data: struct{}{},
|
||||||
|
StatusString: "",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (m *Manager) Close() error {
|
func (m *Manager) Close() error {
|
||||||
//TODO Stop subscriptions?
|
//TODO Stop subscriptions?
|
||||||
return nil
|
return nil
|
||||||
|
|
|
@ -2,7 +2,19 @@ package modules
|
||||||
|
|
||||||
import "github.com/sirupsen/logrus"
|
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 {
|
type Module interface {
|
||||||
|
Status() ModuleStatus
|
||||||
Close() error
|
Close() error
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -115,7 +115,15 @@ func (m *Manager) ReceiveEvents() error {
|
||||||
case <-m.restart:
|
case <-m.restart:
|
||||||
return nil
|
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 {
|
func (c *Client) Close() error {
|
||||||
return c.Bot.Client.Disconnect()
|
return c.Bot.Client.Disconnect()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue