typesafe_rs/types/
models.rs1use serde::Deserialize;
2
3#[derive(Clone, Debug, PartialEq, Eq, Deserialize)]
5pub struct ModelCard {
6 pub name: String,
8 pub description: String,
10 pub release_date: String,
12}
13
14#[derive(Clone, Debug, PartialEq, Eq, Deserialize)]
16pub struct ListModelsResponse {
17 pub models: Vec<ModelCard>,
19}
20
21#[cfg(test)]
22mod tests {
23 use super::*;
24 use serde_json::json;
25
26 #[test]
27 fn deserializes_models_array() {
28 let body = json!({
29 "models": [
30 {
31 "name": "jev-latest",
32 "description": "Flagship",
33 "release_date": "2026-01-01"
34 }
35 ]
36 });
37 let parsed: ListModelsResponse = serde_json::from_value(body).unwrap();
38 assert_eq!(parsed.models[0].name, "jev-latest");
39 }
40}