mod validator; use serde::{Serialize, Deserialize}; use serde_json; use validator::Validator; #[derive(Deserialize, Serialize)] struct Profile { tg_id: i32, fullname: String, username: String, is_admin: bool, is_hidden: bool } fn test_validation() -> Result<(), String> { let profile = Profile { tg_id: 123, fullname: String::from("Andrew Guschin"), username: String::from("guschin"), is_admin: true, is_hidden: false }; let request_data = serde_json::to_string(&profile).unwrap(); let validator = match Validator::from_file("src/schema.json") { Ok(val) => val, Err(msg) => return Err(msg) }; let result = validator.check(&request_data); println!("Is valid: {}", result); return Ok(()); }