use crate::Validatable;
use crate::defaults::*;
use crate::error::IggyError;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct DeletePersonalAccessToken {
pub name: String,
}
impl Default for DeletePersonalAccessToken {
fn default() -> Self {
DeletePersonalAccessToken {
name: "token".to_string(),
}
}
}
impl Validatable<IggyError> for DeletePersonalAccessToken {
fn validate(&self) -> Result<(), IggyError> {
if self.name.is_empty()
|| self.name.len() > MAX_PERSONAL_ACCESS_TOKEN_NAME_LENGTH
|| self.name.len() < MIN_PERSONAL_ACCESS_TOKEN_NAME_LENGTH
{
return Err(IggyError::InvalidPersonalAccessTokenName);
}
Ok(())
}
}