fix: use correct datetime representation in server episode action model

signup-links
Jef Roosens 2025-03-16 10:12:01 +01:00
parent ec07371cb3
commit 2249d986eb
No known key found for this signature in database
GPG Key ID: 21FD3D77D56BAF49
1 changed files with 4 additions and 6 deletions

View File

@ -1,4 +1,4 @@
use chrono::{DateTime, Utc};
use chrono::{DateTime, NaiveDateTime, Utc};
use serde::{Deserialize, Serialize};
use crate::gpodder;
@ -66,7 +66,7 @@ pub enum EpisodeActionType {
pub struct EpisodeAction {
pub podcast: String,
pub episode: String,
pub timestamp: Option<i64>,
pub timestamp: Option<NaiveDateTime>,
#[serde(default)]
pub device: Option<String>,
#[serde(flatten)]
@ -160,7 +160,7 @@ impl From<gpodder::EpisodeAction> for EpisodeAction {
Self {
podcast: value.podcast,
episode: value.episode,
timestamp: value.timestamp.map(|ts| ts.timestamp()),
timestamp: value.timestamp.map(|ts| ts.naive_utc()),
device: value.device,
action: value.action.into(),
}
@ -173,9 +173,7 @@ impl From<EpisodeAction> for gpodder::EpisodeAction {
podcast: value.podcast,
episode: value.episode,
// TODO remove this unwrap
timestamp: value
.timestamp
.map(|ts| DateTime::from_timestamp(ts, 0).unwrap()),
timestamp: value.timestamp.map(|ts| ts.and_utc()),
device: value.device,
action: value.action.into(),
time_changed: DateTime::<Utc>::MIN_UTC,