mirror of
https://github.com/yzernik/squeaknode.git
synced 2026-08-20 13:28:20 +02:00
Add rename peer rpc method (#683)
* Add rename peer rpc method * Add web endpoint for rename peer
This commit is contained in:
parent
83c0b295e9
commit
af7de6483a
7 changed files with 69 additions and 0 deletions
|
|
@ -689,6 +689,24 @@ def test_set_peer_uploading(server_stub, admin_stub, peer_id):
|
|||
assert get_peer_response.squeak_peer.uploading
|
||||
|
||||
|
||||
def test_rename_peer(server_stub, admin_stub, peer_id, random_name):
|
||||
# Rename the peer
|
||||
admin_stub.RenamePeer(
|
||||
squeak_admin_pb2.RenamePeerRequest(
|
||||
peer_id=peer_id,
|
||||
peer_name=random_name,
|
||||
)
|
||||
)
|
||||
|
||||
# Get the peer again
|
||||
get_peer_response = admin_stub.GetPeer(
|
||||
squeak_admin_pb2.GetPeerRequest(
|
||||
peer_id=peer_id,
|
||||
)
|
||||
)
|
||||
assert get_peer_response.squeak_peer.peer_name == random_name
|
||||
|
||||
|
||||
def test_delete_peer(server_stub, admin_stub, peer_id):
|
||||
# Delete the peer
|
||||
admin_stub.DeletePeer(
|
||||
|
|
|
|||
|
|
@ -164,6 +164,10 @@ service SqueakAdmin {
|
|||
*/
|
||||
rpc SetPeerUploading (SetPeerUploadingRequest) returns (SetPeerUploadingReply) {}
|
||||
|
||||
/** sqkadmin: `renamepeer`
|
||||
*/
|
||||
rpc RenamePeer (RenamePeerRequest) returns (RenamePeerReply) {}
|
||||
|
||||
/** sqkadmin: `deletepeer`
|
||||
*/
|
||||
rpc DeletePeer (DeletePeerRequest) returns (DeletePeerReply) {}
|
||||
|
|
@ -554,6 +558,17 @@ message SetPeerUploadingRequest {
|
|||
message SetPeerUploadingReply {
|
||||
}
|
||||
|
||||
message RenamePeerRequest {
|
||||
/// The peer id
|
||||
int32 peer_id = 1;
|
||||
|
||||
/// Name of the peer
|
||||
string peer_name = 2;
|
||||
}
|
||||
|
||||
message RenamePeerReply {
|
||||
}
|
||||
|
||||
message DeletePeerRequest {
|
||||
/// The peer id
|
||||
int32 peer_id = 1;
|
||||
|
|
|
|||
|
|
@ -411,6 +411,18 @@ class SqueakAdminServerHandler(object):
|
|||
self.squeak_controller.set_peer_downloading(peer_id, downloading)
|
||||
return squeak_admin_pb2.SetPeerDownloadingReply()
|
||||
|
||||
def handle_rename_squeak_peer(self, request):
|
||||
peer_id = request.peer_id
|
||||
peer_name = request.peer_name
|
||||
logger.info(
|
||||
"Handle rename peer with peer id: {}, new name: {}".format(
|
||||
peer_id,
|
||||
peer_name,
|
||||
)
|
||||
)
|
||||
self.squeak_controller.rename_peer(peer_id, peer_name)
|
||||
return squeak_admin_pb2.RenamePeerReply()
|
||||
|
||||
def handle_set_squeak_peer_uploading(self, request):
|
||||
peer_id = request.peer_id
|
||||
uploading = request.uploading
|
||||
|
|
|
|||
|
|
@ -141,6 +141,9 @@ class SqueakAdminServerServicer(squeak_admin_pb2_grpc.SqueakAdminServicer):
|
|||
def SetPeerUploading(self, request, context):
|
||||
return self.handler.handle_set_squeak_peer_uploading(request)
|
||||
|
||||
def RenamePeer(self, request, context):
|
||||
return self.handler.handle_rename_squeak_peer(request)
|
||||
|
||||
def DeletePeer(self, request, context):
|
||||
return self.handler.handle_delete_squeak_peer(request)
|
||||
|
||||
|
|
|
|||
|
|
@ -289,6 +289,14 @@ def create_app(handler, username, password):
|
|||
handler.handle_set_squeak_peer_uploading,
|
||||
)
|
||||
|
||||
@app.route("/renamepeer", methods=["POST"])
|
||||
@login_required
|
||||
def renamepeer():
|
||||
return handle_request(
|
||||
squeak_admin_pb2.RenamePeerRequest(),
|
||||
handler.handle_rename_squeak_peer,
|
||||
)
|
||||
|
||||
@app.route("/getsigningprofiles", methods=["POST"])
|
||||
@login_required
|
||||
def getsigningprofiles():
|
||||
|
|
|
|||
|
|
@ -240,6 +240,9 @@ class SqueakController:
|
|||
def set_peer_uploading(self, peer_id: int, uploading: bool):
|
||||
self.squeak_db.set_peer_uploading(peer_id, uploading)
|
||||
|
||||
def rename_peer(self, peer_id: int, peer_name: str):
|
||||
self.squeak_db.set_peer_name(peer_id, peer_name)
|
||||
|
||||
def delete_peer(self, peer_id: int):
|
||||
self.squeak_db.delete_peer(peer_id)
|
||||
|
||||
|
|
|
|||
|
|
@ -793,6 +793,16 @@ class SqueakDb:
|
|||
with self.get_connection() as connection:
|
||||
connection.execute(stmt)
|
||||
|
||||
def set_peer_name(self, peer_id: int, peer_name: str):
|
||||
""" Set a peer name. """
|
||||
stmt = (
|
||||
self.peers.update()
|
||||
.where(self.peers.c.peer_id == peer_id)
|
||||
.values(peer_name=peer_name)
|
||||
)
|
||||
with self.get_connection() as connection:
|
||||
connection.execute(stmt)
|
||||
|
||||
def delete_peer(self, peer_id: int):
|
||||
""" Delete a peer. """
|
||||
delete_peer_stmt = self.peers.delete().where(self.peers.c.peer_id == peer_id)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue