controller/src/return_models.rs

25 lines
535 B
Rust
Raw Normal View History

2022-07-17 18:19:36 +00:00
use serde::Serialize;
2022-04-02 23:35:51 +00:00
use crate::db::models::Schedule;
use crate::db::schedules::get_schedule_tags;
2022-04-02 23:35:51 +00:00
#[derive(Debug, Serialize)]
pub struct ReturnSchedule {
2022-07-19 22:38:09 +00:00
#[serde(flatten)]
pub schedule: Schedule,
pub tags: Vec<String>,
2022-04-02 23:35:51 +00:00
}
impl From<Schedule> for ReturnSchedule {
2022-07-19 22:38:09 +00:00
fn from(schedule: Schedule) -> Self {
let tags: Vec<String> = get_schedule_tags(&schedule);
ReturnSchedule { schedule, tags }
}
2022-07-17 18:19:36 +00:00
}
impl From<&Schedule> for ReturnSchedule {
2022-07-19 22:38:09 +00:00
fn from(schedule: &Schedule) -> Self {
ReturnSchedule::from(schedule.clone())
}
2022-07-17 18:19:36 +00:00
}