use backbone_core::{EntityValidator, ValidationErrors, ValidationError};
use backbone_core::{NonNegative, OptionalNotBlank, RequiredString};
use crate::domain::entity::UploadSession;
pub type UploadSessionValidator = EntityValidator<UploadSession>;
pub fn upload_session_validator() -> UploadSessionValidator {
EntityValidator::new()
.rule(RequiredString::new("path", |e: &UploadSession| &e.path))
.rule(RequiredString::new("filename", |e: &UploadSession| &e.filename))
.rule(OptionalNotBlank::new("mime_type", |e: &UploadSession| e.mime_type.as_deref()))
.rule(NonNegative::new("uploaded_chunks", |e: &UploadSession| e.uploaded_chunks as i64))
}