ssi_dids_core/document/
service.rs1use std::collections::BTreeMap;
2
3use iref::UriBuf;
4use serde::{Deserialize, Serialize};
5use ssi_core::one_or_many::OneOrMany;
6
7#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq)]
14#[serde(rename_all = "camelCase")]
15pub struct Service {
16 pub id: UriBuf,
18
19 #[serde(rename = "type")]
20 pub type_: OneOrMany<String>,
21
22 #[serde(skip_serializing_if = "Option::is_none")]
23 pub service_endpoint: Option<OneOrMany<Endpoint>>,
24
25 #[serde(flatten)]
26 pub property_set: BTreeMap<String, serde_json::Value>,
27}
28
29#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq)]
37#[serde(rename_all = "camelCase")]
38#[serde(untagged)]
39pub enum Endpoint {
40 Uri(UriBuf), Map(serde_json::Value),
42}