fedimovies/src/models/attachments/types.rs
2021-09-14 12:24:05 +00:00

35 lines
767 B
Rust

use chrono::{DateTime, Utc};
use postgres_types::FromSql;
use uuid::Uuid;
#[derive(Clone, FromSql)]
#[postgres(name = "media_attachment")]
pub struct DbMediaAttachment {
pub id: Uuid,
pub owner_id: Uuid,
pub media_type: Option<String>,
pub file_name: String,
pub post_id: Option<Uuid>,
pub created_at: DateTime<Utc>,
}
pub enum AttachmentType {
Unknown,
Image,
}
impl AttachmentType {
pub fn from_media_type(value: Option<String>) -> Self {
match value {
Some(media_type) => {
if media_type.starts_with("image/") {
Self::Image
} else {
Self::Unknown
}
},
None => Self::Unknown,
}
}
}