Skip to main content

oca_data_entry/
model.rs

1use oca_sdk_rs::oca::bundle::OCABundle;
2use serde::Serialize;
3use std::collections::HashMap;
4
5#[derive(Debug, Clone, Serialize)]
6pub struct EntrySchema {
7    pub said: String,
8    pub attributes: Vec<AttributeSpec>,
9}
10
11#[derive(Debug, Clone, Serialize)]
12pub struct AttributeSpec {
13    pub name: String,
14    pub label: Option<String>,
15    pub attr_type: Option<String>,
16    pub required: bool,
17    pub format: Option<String>,
18    pub unit: Option<String>,
19    pub cardinality: Option<String>,
20    pub entry_values: Option<Vec<String>>,
21}
22
23#[derive(Debug, Default, Clone)]
24pub struct DependencyIndex {
25    pub by_said: HashMap<String, OCABundle>,
26    pub by_refn: HashMap<String, OCABundle>,
27}