fix: list_resources returns data (config+metadata); register source code resource

This commit is contained in:
Accusys
2026-05-22 16:01:33 +08:00
parent bd82028f34
commit c4e30e4234

View File

@@ -668,7 +668,7 @@ pub struct RegisterResourceRequest {
pub struct ResourceResponse {
pub success: bool,
pub message: String,
pub data: Option<ResourceItem>,
pub data: Option<Vec<ResourceItem>>,
}
#[derive(Debug, Serialize)]
@@ -677,6 +677,8 @@ pub struct ResourceItem {
pub resource_type: String,
pub category: String,
pub capabilities: Option<serde_json::Value>,
pub config: Option<serde_json::Value>,
pub metadata: Option<serde_json::Value>,
pub status: String,
pub last_heartbeat: Option<chrono::DateTime<chrono::Utc>>,
}
@@ -743,22 +745,24 @@ async fn list_resources(
.await
.map_err(|e| (StatusCode::INTERNAL_SERVER_ERROR, e.to_string()))?;
let data: Vec<ResourceItem> = records
.into_iter()
.map(|r| ResourceItem {
resource_id: r.resource_id,
resource_type: r.resource_type,
category: r.category,
capabilities: r.capabilities,
status: r.status,
last_heartbeat: r.last_heartbeat,
})
.collect();
let data: Vec<ResourceItem> = records
.into_iter()
.map(|r| ResourceItem {
resource_id: r.resource_id,
resource_type: r.resource_type,
category: r.category,
capabilities: r.capabilities,
config: r.config,
metadata: r.metadata,
status: r.status,
last_heartbeat: r.last_heartbeat,
})
.collect();
Ok(Json(ResourceResponse {
success: true,
message: "Resources listed".to_string(),
data: None,
data: Some(data),
}))
}