diff --git a/crates/wadm-client/src/lib.rs b/crates/wadm-client/src/lib.rs index 5f59f85f..76cfa1f2 100644 --- a/crates/wadm-client/src/lib.rs +++ b/crates/wadm-client/src/lib.rs @@ -10,8 +10,8 @@ use wadm_types::{ api::{ DeleteModelRequest, DeleteModelResponse, DeleteResult, DeployModelRequest, DeployModelResponse, DeployResult, GetModelRequest, GetModelResponse, GetResult, - ModelSummary, PutModelResponse, PutResult, Status, StatusResponse, StatusResult, - VersionInfo, VersionResponse, + ListModelsResponse, ModelSummary, PutModelResponse, PutResult, Status, StatusResponse, + StatusResult, VersionInfo, VersionResponse, }, Manifest, }; @@ -129,9 +129,12 @@ impl Client { .client .request(topic, Vec::with_capacity(0).into()) .await?; - let body: Vec = + let body: ListModelsResponse = serde_json::from_slice(&resp.payload).map_err(SerializationError::from)?; - Ok(body) + if matches!(body.result, GetResult::Error) { + return Err(ClientError::ApiError(body.message)); + } + Ok(body.models) } /// Gets a manifest from the lattice by name and optionally its version. If no version is set, diff --git a/crates/wadm-client/src/topics.rs b/crates/wadm-client/src/topics.rs index 297581e9..6b60d92c 100644 --- a/crates/wadm-client/src/topics.rs +++ b/crates/wadm-client/src/topics.rs @@ -49,7 +49,7 @@ impl TopicGenerator { /// Returns the full topic for a model list operation pub fn model_list_topic(&self) -> String { - format!("{}.list", self.model_prefix()) + format!("{}.get", self.model_prefix()) } /// Returns the full topic for listing the versions of a model