paperclip_core/v3/models/
paths.rs1use super::v2;
2use std::collections::BTreeMap;
3
4impl From<v2::DefaultPathItemRaw> for openapiv3::PathItem {
5 fn from(v2: v2::DefaultPathItemRaw) -> Self {
6 let methods = v2
7 .methods
8 .iter()
9 .map(|(k, v)| (*k, v.clone().into()))
10 .collect::<BTreeMap<v2::HttpMethod, openapiv3::Operation>>();
11
12 openapiv3::PathItem {
13 get: methods.get(&v2::HttpMethod::Get).cloned(),
14 put: methods.get(&v2::HttpMethod::Put).cloned(),
15 post: methods.get(&v2::HttpMethod::Post).cloned(),
16 delete: methods.get(&v2::HttpMethod::Delete).cloned(),
17 options: methods.get(&v2::HttpMethod::Options).cloned(),
18 head: methods.get(&v2::HttpMethod::Head).cloned(),
19 patch: methods.get(&v2::HttpMethod::Patch).cloned(),
20 trace: None,
21 servers: vec![],
22 parameters: {
23 openapiv3::Operation::from(v2::DefaultOperationRaw {
24 parameters: v2.parameters,
25 ..Default::default()
26 })
27 .parameters
28 },
29 extensions: Default::default(),
30 description: None,
31 summary: None,
32 }
33 }
34}