mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-30 20:14:49 +00:00
validate description length
This commit is contained in:
committed by
Aiden McClelland
parent
fed5ad6235
commit
6a7ab4d188
@@ -2,6 +2,7 @@ use std::borrow::Borrow;
|
|||||||
use std::path::{Path, PathBuf};
|
use std::path::{Path, PathBuf};
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
|
|
||||||
|
use color_eyre::eyre::eyre;
|
||||||
use patch_db::HasModel;
|
use patch_db::HasModel;
|
||||||
use serde::{Deserialize, Serialize, Serializer};
|
use serde::{Deserialize, Serialize, Serializer};
|
||||||
use url::Url;
|
use url::Url;
|
||||||
@@ -17,6 +18,7 @@ use crate::status::health_check::HealthChecks;
|
|||||||
use crate::util::Version;
|
use crate::util::Version;
|
||||||
use crate::version::{Current, VersionT};
|
use crate::version::{Current, VersionT};
|
||||||
use crate::volume::Volumes;
|
use crate::volume::Volumes;
|
||||||
|
use crate::Error;
|
||||||
|
|
||||||
pub const SYSTEM_PACKAGE_ID: PackageId<&'static str> = PackageId(SYSTEM_ID);
|
pub const SYSTEM_PACKAGE_ID: PackageId<&'static str> = PackageId(SYSTEM_ID);
|
||||||
|
|
||||||
@@ -210,6 +212,23 @@ pub struct Description {
|
|||||||
pub short: String,
|
pub short: String,
|
||||||
pub long: String,
|
pub long: String,
|
||||||
}
|
}
|
||||||
|
impl Description {
|
||||||
|
pub fn validate(&self) -> Result<(), Error> {
|
||||||
|
if self.short.chars().skip(160).next().is_some() {
|
||||||
|
return Err(Error::new(
|
||||||
|
eyre!("Short description must be 160 characters or less."),
|
||||||
|
crate::ErrorKind::ValidateS9pk,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
if self.long.chars().skip(5000).next().is_some() {
|
||||||
|
return Err(Error::new(
|
||||||
|
eyre!("Long description must be 5000 characters or less."),
|
||||||
|
crate::ErrorKind::ValidateS9pk,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
|
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
|
||||||
#[serde(rename_all = "kebab-case")]
|
#[serde(rename_all = "kebab-case")]
|
||||||
|
|||||||
@@ -149,6 +149,7 @@ impl<R: AsyncRead + AsyncSeek + Unpin> S9pkReader<R> {
|
|||||||
.into_iter()
|
.into_iter()
|
||||||
.map(|i| i.validate(&man.id, &man.version).map(|_| i.image_id))
|
.map(|i| i.validate(&man.id, &man.version).map(|_| i.image_id))
|
||||||
.collect::<Result<BTreeSet<ImageId>, _>>()?;
|
.collect::<Result<BTreeSet<ImageId>, _>>()?;
|
||||||
|
man.description.validate()?;
|
||||||
man.actions
|
man.actions
|
||||||
.0
|
.0
|
||||||
.iter()
|
.iter()
|
||||||
|
|||||||
Reference in New Issue
Block a user