From f5373882c56540ceadead652be1bc1dce575bf54 Mon Sep 17 00:00:00 2001 From: paulobressan Date: Tue, 1 Oct 2024 16:46:18 -0300 Subject: [PATCH] chore: updated grpc spec --- Cargo.lock | 2 +- src/drivers/grpc/metadata.rs | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8f3be47..2cf6f5c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -965,7 +965,7 @@ dependencies = [ [[package]] name = "dmtri" version = "0.1.0" -source = "git+https://github.com/demeter-run/specs.git#25e4853c635e1fab25305543e59a280fd8742ab6" +source = "git+https://github.com/demeter-run/specs.git#5c513a5faf70119bf2f437a28c0a9bbf3c20f8a9" dependencies = [ "bytes", "pbjson", diff --git a/src/drivers/grpc/metadata.rs b/src/drivers/grpc/metadata.rs index 75b045d..639ab88 100644 --- a/src/drivers/grpc/metadata.rs +++ b/src/drivers/grpc/metadata.rs @@ -3,7 +3,10 @@ use std::sync::Arc; use dmtri::demeter::ops::v1alpha as proto; use tonic::async_trait; -use crate::domain::metadata::{self, MetadataDriven}; +use crate::domain::{ + error::Error, + metadata::{self, MetadataDriven}, +}; pub struct MetadataServiceImpl { pub metadata: Arc, @@ -22,11 +25,16 @@ impl proto::metadata_service_server::MetadataService for MetadataServiceImpl { ) -> Result, tonic::Status> { let metadata = metadata::command::fetch(self.metadata.clone()).await?; - let records = metadata + let records: Vec = metadata .iter() - .map(serde_json::to_string) + .map(|m| { + Ok(proto::Metadata { + options: serde_json::to_string(&m.options)?, + crd: serde_json::to_string(&m.crd)?, + }) + }) .collect::>() - .map_err(|err| tonic::Status::internal(err.to_string()))?; + .map_err(|err: Error| tonic::Status::internal(err.to_string()))?; let message = proto::FetchMetadataResponse { records };