Skip to main content

uptrakit_web_api_types/
agents.rs

1use serde::{Deserialize, Serialize};
2use uuid::Uuid;
3
4use crate::validation::{Validate, ValidationError};
5
6#[derive(Debug, Serialize, Deserialize)]
7#[cfg_attr(feature = "openapi", derive(utoipa::ToSchema))]
8pub struct MessageResponse {
9    pub message: String,
10}
11
12#[derive(Serialize, Deserialize)]
13#[cfg_attr(feature = "openapi", derive(utoipa::ToSchema))]
14pub struct MergeAgentRequest {
15    pub source_id: Uuid,
16}
17
18impl Validate for MergeAgentRequest {
19    fn validate(&self) -> Result<(), ValidationError> {
20        // No format/length invariants beyond field types; capability/existence checks are handler-side.
21        Ok(())
22    }
23}
24
25#[cfg(test)]
26mod tests {
27    use super::*;
28
29    #[test]
30    fn merge_agent_request_validate_is_ok() {
31        let req = MergeAgentRequest {
32            source_id: Uuid::nil(),
33        };
34        req.validate().expect("MergeAgentRequest should validate");
35    }
36}