parent
1dedd8b327
commit
a6da2b9e1e
@ -0,0 +1,37 @@
|
|||||||
|
use mediarepo_database::entities::file;
|
||||||
|
use mediarepo_database::entities::file_metadata;
|
||||||
|
use mediarepo_database::entities::content_descriptor;
|
||||||
|
use crate::dto::FileMetadataDto;
|
||||||
|
|
||||||
|
#[derive(Clone, Debug)]
|
||||||
|
pub struct FileDto {
|
||||||
|
model: file::Model,
|
||||||
|
content_descriptor: content_descriptor::Model,
|
||||||
|
metadata: Option<FileMetadataDto>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl FileDto {
|
||||||
|
pub(crate) fn new(model: file::Model, content_descriptor: content_descriptor::Model, metadata: Option<file_metadata::Model>) -> Self {
|
||||||
|
Self {
|
||||||
|
model,
|
||||||
|
content_descriptor,
|
||||||
|
metadata: metadata.map(FileMetadataDto::new)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn id(&self) -> i64 {
|
||||||
|
self.model.id
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn cd_id(&self) -> i64 {
|
||||||
|
self.model.cd_id
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn cd(&self) -> &[u8] {
|
||||||
|
&self.content_descriptor.descriptor
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn metadata(&self) -> Option<&FileMetadataDto> {
|
||||||
|
self.metadata.as_ref()
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,41 @@
|
|||||||
|
use chrono::NaiveDateTime;
|
||||||
|
use mediarepo_database::entities::file_metadata;
|
||||||
|
|
||||||
|
#[derive(Clone, Debug)]
|
||||||
|
pub struct FileMetadataDto {
|
||||||
|
model: file_metadata::Model,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl FileMetadataDto {
|
||||||
|
pub(crate) fn new(model: file_metadata::Model) -> Self {
|
||||||
|
Self {model}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn file_id(&self) -> i64 {
|
||||||
|
self.model.file_id
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn name(&self) -> Option<&String> {
|
||||||
|
self.model.name.as_ref()
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn comment(&self) -> Option<&String> {
|
||||||
|
self.model.comment.as_ref()
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn size(&self) -> i64 {
|
||||||
|
self.model.size
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn import_time(&self) -> NaiveDateTime {
|
||||||
|
self.model.import_time
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn creation_time(&self) -> NaiveDateTime {
|
||||||
|
self.model.creation_time
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn change_time(&self) -> NaiveDateTime {
|
||||||
|
self.model.change_time
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,11 @@
|
|||||||
|
mod file;
|
||||||
|
mod file_metadata;
|
||||||
|
mod tag;
|
||||||
|
mod namespace;
|
||||||
|
mod thumbnail;
|
||||||
|
|
||||||
|
pub use file::*;
|
||||||
|
pub use file_metadata::*;
|
||||||
|
pub use tag::*;
|
||||||
|
pub use namespace::*;
|
||||||
|
pub use thumbnail::*;
|
@ -0,0 +1,20 @@
|
|||||||
|
use mediarepo_database::entities::namespace;
|
||||||
|
|
||||||
|
#[derive(Clone, Debug)]
|
||||||
|
pub struct NamespaceDto {
|
||||||
|
model: namespace::Model,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl NamespaceDto {
|
||||||
|
pub(crate) fn new(model: namespace::Model) -> Self {
|
||||||
|
Self {model}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn id(&self) -> i64 {
|
||||||
|
self.model.id
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn name(&self) -> &String {
|
||||||
|
&self.model.name
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
pub use mediarepo_database::entities::tag;
|
||||||
|
pub use mediarepo_database::entities::namespace;
|
||||||
|
use crate::dto::NamespaceDto;
|
||||||
|
|
||||||
|
#[derive(Clone, Debug)]
|
||||||
|
pub struct TagDto {
|
||||||
|
model: tag::Model,
|
||||||
|
namespace: Option<NamespaceDto>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl TagDto {
|
||||||
|
pub(crate) fn new(model: tag::Model, namespace_model: Option<namespace::Model>) -> Self {
|
||||||
|
Self {
|
||||||
|
model,
|
||||||
|
namespace: namespace_model.map(NamespaceDto::new)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn id(&self) -> i64 {
|
||||||
|
self.model.id
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn name(&self) -> &String {
|
||||||
|
&self.model.name
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn namespace(&self) -> Option<&NamespaceDto> {
|
||||||
|
self.namespace.as_ref()
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,26 @@
|
|||||||
|
use mediarepo_core::fs::thumbnail_store::Dimensions;
|
||||||
|
|
||||||
|
#[derive(Clone, Debug)]
|
||||||
|
pub struct ThumbnailDto {
|
||||||
|
parent_cd: String,
|
||||||
|
size: Dimensions,
|
||||||
|
mime_type: String,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl ThumbnailDto {
|
||||||
|
pub fn new(parent_cd: String, size: Dimensions, mime_type: String) -> Self {
|
||||||
|
Self {parent_cd, size, mime_type}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn parent_cd(&self) -> &String {
|
||||||
|
&self.parent_cd
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn size(&self) -> &Dimensions {
|
||||||
|
&self.size
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn mime_type(&self) -> &String {
|
||||||
|
&self.mime_type
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue