Spaces:
Runtime error
Runtime error
File size: 1,173 Bytes
4b3edef 6240f6b 8aa62f1 79bbee8 8aa62f1 79bbee8 68fc6df 6240f6b 8aa62f1 6240f6b 8aa62f1 79bbee8 8aa62f1 79bbee8 68fc6df 6240f6b 8aa62f1 79bbee8 8aa62f1 79bbee8 68fc6df 6240f6b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
use crate::models::entities::{keyframes::KeyframeEntity, videos::VideoEntity};
#[derive(Debug, Clone, serde::Serialize, utoipa::ToSchema)]
pub struct KeyframeDto {
id: i64,
name: String,
video_id: i64,
video_name: String,
watch_url: String,
frame_index: i64,
frame_timestamp: f32,
}
impl From<(KeyframeEntity, VideoEntity)> for KeyframeDto {
fn from((mut keyframe, mut video): (KeyframeEntity, VideoEntity)) -> Self {
let id = keyframe.id();
let name = std::mem::take(keyframe.name_mut());
let video_id = video.id();
let video_name = std::mem::take(video.name_mut());
let watch_url = std::mem::take(video.watch_url_mut());
let frame_index = keyframe.frame_index();
let frame_timestamp = keyframe.frame_timestamp();
Self {
id,
name,
video_id,
video_name,
watch_url,
frame_index,
frame_timestamp,
}
}
}
impl From<(VideoEntity, KeyframeEntity)> for KeyframeDto {
fn from((video, keyframe): (VideoEntity, KeyframeEntity)) -> Self {
Self::from((keyframe, video))
}
}
|