diff --git a/src/entity/instance_info.rs b/src/entity/instance_info.rs index 6f52585..c01d706 100644 --- a/src/entity/instance_info.rs +++ b/src/entity/instance_info.rs @@ -10,7 +10,9 @@ pub struct Model { pub id: u32, pub hostname: String, pub mac_address: String, + #[serde(skip_serializing_if = "Option::is_none")] pub ssh_keys: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub user_data: Option>, } diff --git a/src/yui/routes.rs b/src/yui/routes.rs index d891186..1f8a1a4 100644 --- a/src/yui/routes.rs +++ b/src/yui/routes.rs @@ -10,6 +10,7 @@ use crate::Instances; use rocket::serde::json::Json; use rocket_db_pools::Connection; use sea_orm::ActiveValue::{NotSet, Set}; +use sea_orm::QuerySelect; use sea_orm::{ ActiveModelTrait, ColumnTrait, EntityTrait, ModelTrait, PaginatorTrait, QueryFilter, }; @@ -97,7 +98,13 @@ pub async fn get_instances( db: Connection, _api: APIUser, ) -> Result, APIError> { - match instance_info::Entity::find().all(&*db).await { + match instance_info::Entity::find() + .column(instance_info::Column::Id) + .column(instance_info::Column::MacAddress) + .column(instance_info::Column::Hostname) + .all(&*db) + .await + { Ok(v) => Ok(Json(InstanceResponse::new(v))), Err(err) => Err(api_err!( InternalServerError,