From 49be33cf65962e865700131623b2f825c23983f1 Mon Sep 17 00:00:00 2001 From: mo khan Date: Wed, 18 Jun 2025 16:03:22 -0600 Subject: feat: update rpc client to use ability.allowed --- src/client.rs | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/client.rs b/src/client.rs index aaf42de..b0cfa42 100644 --- a/src/client.rs +++ b/src/client.rs @@ -1,20 +1,39 @@ +use authz::AllowRequest; +use authz::ability_client::AbilityClient; use hello_world::HelloRequest; use hello_world::greeter_client::GreeterClient; +pub mod authz { + tonic::include_proto!("authz.rpc"); +} + pub mod hello_world { tonic::include_proto!("helloworld"); } #[tokio::main] async fn main() -> Result<(), Box> { - let mut client = GreeterClient::connect("http://[::1]:50051").await?; + { + let mut client = GreeterClient::connect("http://[::1]:50051").await?; + let request = tonic::Request::new(HelloRequest { + name: "Tonic".into(), + }); + + let response = client.say_hello(request).await?; + println!("RESPONSE={:?}", response); + } - let request = tonic::Request::new(HelloRequest { - name: "Tonic".into(), - }); + { + let request = tonic::Request::new(AllowRequest { + subject: "gid://example/User/1".into(), + permission: "gid://example/Permission/1".into(), + resource: "gid://example/Project/1".into(), + }); - let response = client.say_hello(request).await?; - println!("RESPONSE={:?}", response); + let mut client = AbilityClient::connect("http://[::1]:50051").await?; + let response = client.allowed(request).await?; + println!("RESPONSE={:?}", response); + } Ok(()) } -- cgit v1.2.3