anyhow used

This commit is contained in:
filipriec
2025-04-18 19:04:05 +02:00
parent 09ccad2bd4
commit 5a029283a1
12 changed files with 69 additions and 74 deletions

View File

@@ -5,20 +5,22 @@ use common::proto::multieko2::auth::{
LoginRequest, LoginResponse,
RegisterRequest, AuthResponse,
};
use std::error::Error;
use anyhow::{Context, Result};
pub struct AuthClient {
client: AuthServiceClient<Channel>,
}
impl AuthClient {
pub async fn new() -> Result<Self, Box<dyn Error + Send + Sync>> {
let client = AuthServiceClient::connect("http://[::1]:50051").await?;
pub async fn new() -> Result<Self> {
let client = AuthServiceClient::connect("http://[::1]:50051")
.await
.context("Failed to connect to auth service")?;
Ok(Self { client })
}
/// Login user via gRPC.
pub async fn login(&mut self, identifier: String, password: String) -> Result<LoginResponse, Box<dyn std::error::Error>> {
pub async fn login(&mut self, identifier: String, password: String) -> Result<LoginResponse> {
let request = tonic::Request::new(LoginRequest { identifier, password });
let response = self.client.login(request).await?.into_inner();
Ok(response)
@@ -32,7 +34,7 @@ impl AuthClient {
password: Option<String>,
password_confirmation: Option<String>,
role: Option<String>,
) -> Result<AuthResponse, Box<dyn std::error::Error>> {
) -> Result<AuthResponse> {
let request = tonic::Request::new(RegisterRequest {
username,
email,