diff options
| author | Andrew Guschin <saintruler@gmail.com> | 2021-04-18 16:25:48 +0400 |
|---|---|---|
| committer | Andrew Guschin <saintruler@gmail.com> | 2021-04-18 16:25:48 +0400 |
| commit | 0ad35b9b50dfaa1083f3f5acc633ec769bc10e37 (patch) | |
| tree | 4acfde7b0b09fb258002055a8d0e2d5e1a9c5c3e /src/val.rs | |
Initial commit
Diffstat (limited to 'src/val.rs')
| -rw-r--r-- | src/val.rs | 37 |
1 files changed, 37 insertions, 0 deletions
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(()); +} |