WIP add/remove peers from cli
This commit is contained in:
54
rpc/rpc.go
54
rpc/rpc.go
@@ -24,6 +24,11 @@ type NamespaceService struct {
|
||||
Service string
|
||||
}
|
||||
|
||||
type NamespacePeer struct {
|
||||
Namespace string
|
||||
Peer string
|
||||
}
|
||||
|
||||
func (t *Query) Generate(np *NamespaceService, reply *crypto.Password) error {
|
||||
val, ok := StorageHandler.Namespaces[np.Namespace]
|
||||
|
||||
@@ -74,6 +79,55 @@ func (t *Query) Get(np *NamespaceService, reply *crypto.Password) error {
|
||||
// return nil
|
||||
//}
|
||||
|
||||
func (t *Query) GetPeerString(_ *int, result *string) error {
|
||||
*result = StorageHandler.Host.ID().String() + "/" + StorageHandler.Key.Recipient().String()
|
||||
return nil
|
||||
}
|
||||
|
||||
func (t *Query) AddPeer(np *NamespacePeer, success *bool) error {
|
||||
namespace := np.Namespace
|
||||
val, ok := StorageHandler.Namespaces[namespace]
|
||||
|
||||
if !ok {
|
||||
return fmt.Errorf("Namespace does not exist")
|
||||
}
|
||||
|
||||
peer, err := storage.PeerFromString(np.Peer)
|
||||
|
||||
if err != nil {
|
||||
fmt.Printf("Error parsing peer string: %s\n", err)
|
||||
*success = false
|
||||
return err
|
||||
}
|
||||
|
||||
val.AddPeer(peer)
|
||||
*success = true
|
||||
StorageHandler.UpdateConfig()
|
||||
return nil
|
||||
}
|
||||
|
||||
func (t *Query) DeletePeer(np *NamespacePeer, success *bool) error {
|
||||
namespace := np.Namespace
|
||||
val, ok := StorageHandler.Namespaces[namespace]
|
||||
|
||||
if !ok {
|
||||
return fmt.Errorf("Namespace does not exist")
|
||||
}
|
||||
|
||||
peer, err := storage.PeerFromString(np.Peer)
|
||||
|
||||
if err != nil {
|
||||
fmt.Printf("Error parsing peer string: %s\n", err)
|
||||
*success = false
|
||||
return err
|
||||
}
|
||||
|
||||
val.RemovePeer(peer)
|
||||
*success = true
|
||||
StorageHandler.UpdateConfig()
|
||||
return nil
|
||||
}
|
||||
|
||||
func (t *Query) Delete(np *NamespaceService, success *bool) error {
|
||||
namespace := np.Namespace
|
||||
val, ok := StorageHandler.Namespaces[namespace]
|
||||
|
||||
Reference in New Issue
Block a user