Fire an event to the websocket when a backup is completed
This commit is contained in:
parent
45d441ac32
commit
222091b68c
|
@ -170,6 +170,14 @@ func (b *Backup) BackupAndNotify() error {
|
|||
return err
|
||||
}
|
||||
|
||||
// Emit an event over the socket so we can update the backup in realtime on
|
||||
// the frontend for the server.
|
||||
b.server.Events().PublishJson(BackupCompletedEvent, map[string]interface{}{
|
||||
"uuid": b.Uuid,
|
||||
"sha256_hash": resp.Sha256Hash,
|
||||
"file_size": resp.FileSize,
|
||||
})
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package server
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"sync"
|
||||
)
|
||||
|
||||
|
@ -50,6 +51,17 @@ func (e *EventBus) Publish(topic string, data string) {
|
|||
}
|
||||
}
|
||||
|
||||
func (e *EventBus) PublishJson(topic string, data interface{}) error {
|
||||
b, err := json.Marshal(data)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
e.Publish(topic, string(b))
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// Subscribe to an emitter topic using a channel.
|
||||
func (e *EventBus) Subscribe(topic string, ch chan Event) {
|
||||
e.mu.Lock()
|
||||
|
@ -74,4 +86,4 @@ func (e *EventBus) Unsubscribe(topic string, ch chan Event) {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user