1pub mod identifier_object;
2pub mod object;
3pub use identifier_object::ResourceIdentifierObject;
4pub use object::ResourceObject;
5use serde::{Deserialize, Serialize};
6use serde_json::Value;
7use std::collections::HashMap;
8
9#[derive(Debug, Clone, Serialize, Deserialize)]
10#[serde(untagged)]
11pub enum ResourceType {
12 Identifier(ResourceIdentifierObject),
13 Object(ResourceObject),
14}
15
16pub trait ResourceTrait {
17 fn get_attributes(&self) -> Option<HashMap<String, Value>> {
18 None
19 }
20 fn get_id(&self) -> String;
21 fn to_identifier(&self) -> ResourceIdentifierObject;
22 fn to_resource_object(&self) -> ResourceObject;
23}