Closed nazmulidris closed 11 months ago
@nazmulidris I'll like to attempt this, please, can you assign it to me?
@Lumexralph That's awesome, this is all yours. Please let us know if you have any questions as you explore. You can also ask questions on the contributors discord https://discord.gg/RAbjRr3kds
@nazmulidris I think I have finished working on this but I need to run it to check it out.
Is there a way I can do this?
thanks @nazmulidris
@Lumexralph You are most welcome. You can also ask questions on the contributors discord https://discord.gg/RAbjRr3kds 👍🏽
Current behavior
When a user runs
ockam node stop
without any arguments, currently they are shown help text. Here's a screenshot of this.Desired behavior
Change the behavior of this command so that it becomes interactive with the user when no arguments are passed. Note that this can only be allowed to happen if:
--no-input
or--quiet
flags have not been passed, and,This what the user flow should look like in interactive mode.
1) Use the tuify crate's
select_from_list()
function to ask the user to select from a list of nodes that have been started. They should be able to make multiple selections. If there are none, then simply display a message saying that none exist (not an error) and exit.2) Once the user has made their selection(s), display a confirmation prompt letting the user know that that
stop
is about to be called with the nodes they have selected. Useselect_from_list()
to display this prompt. They should be able to make a single selection.3) If they choose "YES", then run
stop
for each selected nodes, and display the results of thestop
command for each nodes that they've selected.Implementation details
Please use the functions
select_multiple
, andconfirm_interactively
in this file.Here's a similar PR to get some ideas from: https://github.com/build-trust/ockam/pull/6480
You can learn more about how to use the
select_from_list()
in the tuify crate here. Here is an example that is very similar to the steps you might have to take for this issue.Here's a file you can look at to detect when a terminal is interactive or not.
Here's a file you can look at to see where the
ockam node start
command is implemented.We love helping new contributors! ❤️ If you have questions or need help as you explore, please join us on Discord. If you're looking for other issues to contribute to, please checkout our good first issues.