MCPcopy Create free account
hub / github.com/dfinity/orbit / validate

Method validate

core/station/impl/src/models/metadata.rs:101–132  ·  view source on GitHub ↗
(&self)

Source from the content-addressed store, hash-verified

99
100impl ModelValidator<MetadataError> for Metadata {
101 fn validate(&self) -> ModelValidatorResult<MetadataError> {
102 if self.metadata.len() > Self::MAX_METADATA as usize {
103 return Err(MetadataError::ValidationError {
104 info: format!(
105 "Metadata count exceeds the maximum allowed: {}",
106 Self::MAX_METADATA
107 ),
108 });
109 }
110
111 for (k, v) in self.metadata.iter() {
112 if k.len() > Self::MAX_METADATA_KEY_LEN as usize {
113 return Err(MetadataError::ValidationError {
114 info: format!(
115 "Metadata key length exceeds the maximum allowed: {}",
116 Self::MAX_METADATA_KEY_LEN
117 ),
118 });
119 }
120
121 if v.len() > Self::MAX_METADATA_VALUE_LEN as usize {
122 return Err(MetadataError::ValidationError {
123 info: format!(
124 "Metadata value length exceeds the maximum allowed: {}",
125 Self::MAX_METADATA_VALUE_LEN
126 ),
127 });
128 }
129 }
130
131 Ok(())
132 }
133}
134
135#[cfg(test)]

Calls 2

iterMethod · 0.80
lenMethod · 0.45