refget_model/
service_info.rs1use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Serialize, Deserialize)]
7pub struct ServiceType {
8 pub group: String,
9 pub artifact: String,
10 pub version: String,
11}
12
13#[derive(Debug, Clone, Serialize, Deserialize)]
15pub struct ServiceInfo {
16 pub id: String,
17 pub name: String,
18 pub description: String,
19 #[serde(rename = "type")]
20 pub service_type: ServiceType,
21 pub version: String,
22 #[serde(skip_serializing_if = "Option::is_none")]
23 pub organization: Option<serde_json::Value>,
24}
25
26#[derive(Debug, Clone, Serialize, Deserialize)]
28pub struct SequenceServiceInfo {
29 #[serde(flatten)]
30 pub service: ServiceInfo,
31 pub refget: RefgetServiceDetails,
32}
33
34#[derive(Debug, Clone, Serialize, Deserialize)]
36pub struct RefgetServiceDetails {
37 pub circular_supported: bool,
39 pub algorithms: Vec<String>,
41 pub identifier_types: Vec<String>,
43 #[serde(default)]
45 pub subsequence_limit: u64,
46 #[serde(default)]
48 pub supported_api_versions: Vec<String>,
49}