ahri_tre_protocol/
catalogue.rs1use crate::refs::ObjectRef;
3use ahri_tre_types::{KeyRole, NcName};
4use serde::{Deserialize, Serialize};
5
6#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
7pub struct DatasetSummary {
8 pub dataset_id: ObjectRef,
9}
10
11#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
12pub struct DatasetVariableLinkSummary {
13 pub dataset_id: ObjectRef,
14 pub variable_id: ObjectRef,
15 pub row_role: KeyRole,
16}
17
18#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
19pub struct VariableSummary {
20 pub variable_id: ObjectRef,
21 pub domain_id: ObjectRef,
22 pub name: NcName,
23 pub value_type_id: ObjectRef,
24 pub value_format: Option<String>,
25 pub vocabulary_id: Option<ObjectRef>,
26 pub key_role: KeyRole,
27 pub description: Option<String>,
28 pub note: Option<String>,
29 pub ontology_namespace: Option<String>,
30 pub ontology_class: Option<String>,
31}
32
33#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
34pub struct ValueTypeSummary {
35 pub value_type_id: ObjectRef,
36 pub value_type: String,
37 pub description: Option<String>,
38}
39
40#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
41pub struct VocabularySummary {
42 pub vocabulary_id: ObjectRef,
43 pub domain_id: ObjectRef,
44 pub name: NcName,
45 pub description: Option<String>,
46}
47
48#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
49pub struct VocabularyItemSummary {
50 pub vocabulary_item_id: ObjectRef,
51 pub vocabulary_id: ObjectRef,
52 pub value: i32,
53 pub code: String,
54 pub description: Option<String>,
55}