use serde::{Deserialize, Serialize};
use wascap::jwt::WascapEntity;
use wick_interface_types::ComponentSignature;
#[derive(Debug, Serialize, Deserialize, PartialEq, Clone)]
pub struct CollectionClaims {
#[serde(rename = "hash")]
pub module_hash: String,
#[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
#[serde(rename = "interface")]
pub interface: ComponentSignature,
#[serde(rename = "rev", skip_serializing_if = "Option::is_none")]
pub rev: Option<u32>,
#[serde(rename = "ver", skip_serializing_if = "Option::is_none")]
pub ver: Option<String>,
}
impl WascapEntity for CollectionClaims {
fn name(&self) -> String {
self.interface.name.as_ref().unwrap_or(&"Anonymous".to_owned()).clone()
}
}