Implement rename peer

This commit is contained in:
yzernik 2022-05-03 20:48:25 -07:00
parent c09ab3f209
commit 9bf99bd84e
No known key found for this signature in database
GPG key ID: D761F27D9B20BA52
4 changed files with 6941 additions and 5445 deletions

View file

@ -165,6 +165,8 @@ import {
GetReceivedPaymentsForPeerReply,
DownloadSqueakSecretKeyRequest,
DownloadSqueakSecretKeyReply,
RenamePeerRequest,
RenamePeerReply,
} from '../proto/squeak_admin_pb';
import axios from 'axios'
@ -718,8 +720,20 @@ export const getPrivateKey = (id) => {
});
}
export const getPeer = (network, host, port) => {
export const getPeer = (peerId) => {
console.log('Calling getPeer');
const request = new GetPeerRequest();
request.setPeerId(peerId);
const deser = GetPeerReply.deserializeBinary;
return baseRequest({
url: '/getpeer',
req: request,
deser: deser,
});
}
export const getPeerByAddress = (network, host, port) => {
console.log('Calling getPeerByAddress');
const request = new GetPeerByAddressRequest();
const peerAddress = new PeerAddress();
peerAddress.setNetwork(network);
@ -734,6 +748,19 @@ export const getPeer = (network, host, port) => {
});
}
export const renamePeer = (peerId, peerName) => {
console.log('Calling renamePeer');
const request = new RenamePeerRequest();
request.setPeerId(peerId);
request.setPeerName(peerName);
const deser = RenamePeerReply.deserializeBinary;
return baseRequest({
url: '/renamepeer',
req: request,
deser: deser,
});
}
export const getConnectedPeers = () => {
console.log('Calling getConnectedPeers');
const request = new GetConnectedPeersRequest();

View file

@ -22,6 +22,7 @@ import {
setDeletePeer,
setPeerAutoconnectEnabled,
setPeerAutoconnectDisabled,
setRenamePeer,
} from '../../features/peers/peersSlice'
import {
fetchPaymentSummaryForPeer,
@ -121,13 +122,10 @@ const Peer = (props) => {
const editPeer = ({values}) => {
console.log('Calling editPeer with name:', values.name);
// TODO: call rename action.
alert('Rename peer not yet implemented!');
// dispatch(setRenameProfile({
// peerId: user.getPeerId(),
// profileName: editName,
// }));
// TODO: chain action to update profile squeaks with the new name.
dispatch(setRenamePeer({
peerId: peer.getPeerId(),
peerName: values.name,
}));
setSaved(true)
toggleEditModal()
}

View file

@ -6,12 +6,14 @@ import {
} from '@reduxjs/toolkit'
import {
getPeer,
getPeerByAddress,
getConnectedPeers,
connectPeer,
disconnectPeer,
getSavedPeers,
savePeer,
deletePeer,
renamePeer,
enableAutoconnectPeer,
disableAutoconnectPeer,
} from '../../api/client'
@ -37,7 +39,7 @@ export const fetchPeer = createAsyncThunk(
let network = values.network;
let host = values.host;
let port = values.port;
const response = await getPeer(
const response = await getPeerByAddress(
network,
host,
port,
@ -153,6 +155,22 @@ export const setPeerAutoconnectDisabled = createAsyncThunk(
}
)
export const setRenamePeer = createAsyncThunk(
'profile/setRenamePeer',
async (values) => {
console.log('Renaming peer');
console.log(values.peerId);
console.log(values.peerName);
let peerId = values.peerId;
let peerName = values.peerName;
await renamePeer(peerId, peerName);
console.log('Getting renamed peer');
const response = await getPeer(peerId);
console.log(response);
return response.getSqueakPeer();
}
)
const peersSlice = createSlice({
name: 'peers',
@ -262,6 +280,14 @@ const peersSlice = createSlice({
state.currentPeer = newSavedPeer;
state.savedPeers = newSavedPeers;
})
.addCase(setRenamePeer.pending, (state, action) => {
state.currentPeerStatus = 'loading'
})
.addCase(setRenamePeer.fulfilled, (state, action) => {
const newPeer = action.payload;
state.currentPeer = newPeer;
state.currentPeerStatus = 'idle';
})
},
})

File diff suppressed because it is too large Load diff