1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
use serde_derive::{Deserialize, Serialize}; #[derive(Deserialize, Serialize)] pub struct AddUserRequest { pub username: String, pub password: String, } #[derive(Deserialize, Serialize)] pub struct AddUserResponse { pub success: bool, pub message: String, } #[derive(Deserialize, Serialize)] pub struct AuthenticateRequest { pub username: String, pub password: String, } #[derive(Deserialize, Serialize)] pub struct AuthenticateResponse { pub success: bool, pub message: String, pub token: Option<String>, } impl AuthenticateResponse { pub fn error(message: String) -> Self { Self { success: false, message, token: None, } } } #[derive(Deserialize, Serialize)] pub struct GetPageResponse { pub success: bool, pub message: String, pub title: Option<String>, pub body: Option<String>, pub version: Option<i32>, } impl GetPageResponse { pub fn error(message: String) -> Self { Self { success: false, message, title: None, body: None, version: None, } } } #[derive(Deserialize, Serialize)] pub struct SetPageRequest { pub title: String, pub body: String, pub previous_version: i32, } #[derive(Deserialize, Serialize)] pub struct CreatePageRequest { pub slug: String, pub title: String, pub body: String, }