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
|
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
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package server
|
package server
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/json"
|
||||||
"sync"
|
"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.
|
// Subscribe to an emitter topic using a channel.
|
||||||
func (e *EventBus) Subscribe(topic string, ch chan Event) {
|
func (e *EventBus) Subscribe(topic string, ch chan Event) {
|
||||||
e.mu.Lock()
|
e.mu.Lock()
|
||||||
|
@ -74,4 +86,4 @@ func (e *EventBus) Unsubscribe(topic string, ch chan Event) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user