build-trust / ockam

Orchestrate end-to-end encryption, cryptographic identities, mutual authentication, and authorization policies between distributed applications – at massive scale.
https://ockam.io
Apache License 2.0
4.4k stars 557 forks source link

Command - refactor to use typed interfaces to implement commands for `relays` #6704

Open nazmulidris opened 9 months ago

nazmulidris commented 9 months ago

Following the refactoring of RPC calls, we can now implement all commands using typed interfaces and implemented with a specific RPC client.

For example the Projects trait provides an access to projects, to create/list/delete them. That trait is implemented by the Controller client by making requests to the controller.

The use of the Projects interface can be seen in the following command to create projects.

Desired behavior

Provide similar interfaces for all other commands and remove all the "api helpers" from the ockam_command crate for the following:

All the interfaces and implementations must be part of the ockam_api crate so that the purpose of the ockam_command is only to:

[!NOTE] Related epic: https://github.com/build-trust/ockam/issues/6310


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.

kunio66 commented 7 months ago

Hi, I'd like to work on it. Please consider assigning it to me.

etorreborre commented 7 months ago

Hi @kunio66, please do!

kunio66 commented 7 months ago

Hi @etorreborre, I made some changes in my PR #7204. Please take a look at it when you have time. Thanks.