2022-06-12 22:01:02 +08:00
|
|
|
use crate::entities::trash::{Trash, TrashType};
|
2022-06-13 20:59:46 +08:00
|
|
|
use crate::entities::{RepeatedTrash, TrashId};
|
2022-06-12 22:01:02 +08:00
|
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
|
2022-06-13 20:59:46 +08:00
|
|
|
#[derive(Default, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
|
2022-06-12 22:01:02 +08:00
|
|
|
pub struct TrashRevision {
|
|
|
|
pub id: String,
|
|
|
|
|
|
|
|
pub name: String,
|
|
|
|
|
|
|
|
pub modified_time: i64,
|
|
|
|
|
|
|
|
pub create_time: i64,
|
|
|
|
|
|
|
|
pub ty: TrashType,
|
|
|
|
}
|
|
|
|
|
2022-06-13 20:59:46 +08:00
|
|
|
impl std::convert::From<Vec<TrashRevision>> for RepeatedTrash {
|
|
|
|
fn from(trash_revs: Vec<TrashRevision>) -> Self {
|
|
|
|
let items: Vec<Trash> = trash_revs.into_iter().map(|trash_rev| trash_rev.into()).collect();
|
|
|
|
RepeatedTrash { items }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-06-12 22:01:02 +08:00
|
|
|
impl std::convert::From<TrashRevision> for Trash {
|
2022-06-13 20:59:46 +08:00
|
|
|
fn from(trash_rev: TrashRevision) -> Self {
|
2022-06-12 22:01:02 +08:00
|
|
|
Trash {
|
2022-06-13 20:59:46 +08:00
|
|
|
id: trash_rev.id,
|
|
|
|
name: trash_rev.name,
|
|
|
|
modified_time: trash_rev.modified_time,
|
|
|
|
create_time: trash_rev.create_time,
|
|
|
|
ty: trash_rev.ty,
|
2022-06-12 22:01:02 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl std::convert::From<Trash> for TrashRevision {
|
|
|
|
fn from(trash: Trash) -> Self {
|
|
|
|
TrashRevision {
|
|
|
|
id: trash.id,
|
|
|
|
name: trash.name,
|
|
|
|
modified_time: trash.modified_time,
|
|
|
|
create_time: trash.create_time,
|
|
|
|
ty: trash.ty,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2022-06-13 20:59:46 +08:00
|
|
|
|
|
|
|
impl std::convert::From<&TrashRevision> for TrashId {
|
|
|
|
fn from(trash: &TrashRevision) -> Self {
|
|
|
|
TrashId {
|
|
|
|
id: trash.id.clone(),
|
|
|
|
ty: trash.ty.clone(),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|