use serde::Serialize;
#[derive(Debug, Clone, Copy, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct ValidationLimits {
pub max_blob_size_bytes: usize,
pub max_file_size_bytes: usize,
pub tag_label_min_length: usize,
pub tag_label_max_length: usize,
pub tag_invalid_chars: &'static [char],
pub user_name_min_length: usize,
pub user_name_max_length: usize,
pub user_bio_max_length: usize,
pub user_image_url_max_length: usize,
pub user_links_max_count: usize,
pub user_link_title_max_length: usize,
pub user_link_url_max_length: usize,
pub user_status_max_length: usize,
pub post_short_content_max_length: usize,
pub post_long_content_max_length: usize,
pub post_attachments_max_count: usize,
pub post_attachment_url_max_length: usize,
pub post_allowed_attachment_protocols: &'static [&'static str],
pub file_name_min_length: usize,
pub file_name_max_length: usize,
pub file_src_max_length: usize,
pub feed_tags_max_count: usize,
}
pub const VALIDATION_LIMITS: ValidationLimits = ValidationLimits {
max_blob_size_bytes: 100 * (1 << 20), max_file_size_bytes: 100 * (1 << 20), tag_label_min_length: 1,
tag_label_max_length: 20,
tag_invalid_chars: &[',', ':', ' ', '\t', '\n', '\r'],
user_name_min_length: 3,
user_name_max_length: 50,
user_bio_max_length: 160,
user_image_url_max_length: 300,
user_links_max_count: 5,
user_link_title_max_length: 100,
user_link_url_max_length: 300,
user_status_max_length: 50,
post_short_content_max_length: 2000,
post_long_content_max_length: 50_000,
post_attachments_max_count: 4,
post_attachment_url_max_length: 200,
post_allowed_attachment_protocols: &["pubky", "http", "https"],
file_name_min_length: 1,
file_name_max_length: 255,
file_src_max_length: 1024,
feed_tags_max_count: 5,
};