use chrono::NaiveDateTime;
use crate::schema::time_entries;
#[derive(Debug, Queryable)]
pub(crate) struct TimeEntry {
pub(crate) id: i32,
pub(crate) server_id: Option<i64>,
pub(crate) description: String,
pub(crate) start: NaiveDateTime,
pub(crate) stop: Option<NaiveDateTime>,
}
#[derive(Insertable, AsChangeset)]
#[table_name = "time_entries"]
pub(crate) struct ServerTimeEntry {
pub(crate) server_id: Option<i64>,
pub(crate) description: String,
pub(crate) start: NaiveDateTime,
pub(crate) stop: Option<NaiveDateTime>,
}
impl From<toggl_api::TimeEntry> for ServerTimeEntry {
fn from(entry: toggl_api::TimeEntry) -> Self {
Self {
server_id: Some(entry.id.into()),
description: entry.description,
start: entry.start.naive_utc(),
stop: entry.stop.map(|m| m.naive_utc()),
}
}
}