Skip to main content

feagi_api/v1/
outputs_dtos.rs

1// Copyright 2025 Neuraville Inc.
2// Licensed under the Apache License, Version 2.0
3
4//! Outputs API DTOs
5//!
6//! Request/response types for motor and output target management
7
8use serde::{Deserialize, Serialize};
9use std::collections::HashMap;
10use utoipa::ToSchema;
11
12/// Response for output targets
13#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
14pub struct OutputTargetsResponse {
15    /// List of available output/motor agent IDs
16    pub targets: Vec<String>,
17}
18
19/// Request to configure outputs
20#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
21pub struct OutputConfigRequest {
22    /// Configuration mapping for outputs
23    pub config: HashMap<String, serde_json::Value>,
24}
25
26/// Success response for output configuration
27#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
28pub struct OutputConfigResponse {
29    pub message: String,
30    pub success: bool,
31}