From 0ad35b9b50dfaa1083f3f5acc633ec769bc10e37 Mon Sep 17 00:00:00 2001 From: Andrew Guschin Date: Sun, 18 Apr 2021 16:25:48 +0400 Subject: Initial commit --- src/val.rs | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/val.rs (limited to 'src/val.rs') diff --git a/src/val.rs b/src/val.rs new file mode 100644 index 0000000..6cc7dfe --- /dev/null +++ b/src/val.rs @@ -0,0 +1,37 @@ +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(()); +} -- cgit v1.2.3