torn_api_codegen/openapi/
schema.rs1use indexmap::IndexMap;
2use serde::Deserialize;
3
4use super::{parameter::OpenApiParameter, path::OpenApiPath, r#type::OpenApiType};
5
6#[derive(Debug, Clone, Deserialize, PartialEq, Eq)]
7pub struct Components<'a> {
8 #[serde(borrow)]
9 pub schemas: IndexMap<&'a str, OpenApiType<'a>>,
10 #[serde(borrow)]
11 pub parameters: IndexMap<&'a str, OpenApiParameter<'a>>,
12}
13
14#[derive(Debug, Clone, Deserialize, PartialEq, Eq)]
15pub struct OpenApiSchema<'a> {
16 #[serde(borrow)]
17 pub paths: IndexMap<&'a str, OpenApiPath<'a>>,
18 #[serde(borrow)]
19 pub components: Components<'a>,
20}
21
22#[cfg(test)]
23pub(crate) mod test {
24 use super::*;
25
26 pub(crate) fn get_schema() -> OpenApiSchema<'static> {
27 let s = include_str!("../../../torn-api/openapi.json");
28 serde_json::from_str(s).unwrap()
29 }
30}