rust-lib/src/serde/response.rs
Martin Berg Alstad 0898a50166 Added MultipartFile extractors.
Moved cfg macro to lib where possible.

Changed some features, and made some deps optional
2024-06-30 20:17:44 +02:00

39 lines
760 B
Rust

use serde::Serialize;
#[derive(Serialize)]
pub struct BaseResponse<T: Serialize> {
pub version: String,
#[serde(flatten)]
pub body: T, // T must be a struct (or enum?)
}
impl<T: Serialize> BaseResponse<T> {
pub fn new(version: impl Into<String>, body: T) -> Self {
Self {
version: version.into(),
body,
}
}
}
#[cfg(test)]
mod tests {
use super::*;
#[derive(Serialize)]
struct Response {
message: String,
}
#[test]
fn test_base_response_new() {
let response = BaseResponse::new(
"",
Response {
message: "Hi".to_string(),
},
);
assert_eq!(response.body.message, "Hi".to_string());
}
}