Migrate to Zed and add proper newtypes

This commit is contained in:
2026-01-04 20:00:13 -07:00
parent dd2cf5c942
commit 994a80c45c
18 changed files with 828 additions and 449 deletions
+9 -9
View File
@@ -384,7 +384,7 @@ pub mod test {
$crate::entity::info::test::make_info_season!($db, $show, $season);
$crate::entity::content::seasons::ActiveModel {
show_id: Set(::flix_model::id::ShowId::from_raw($show)),
season_number: Set($season),
season_number: Set(::flix_model::numbers::SeasonNumber::new($season)),
slug: Set(concat!("SS ", $show, $season).to_string()),
library_id: Set(::flix_model::id::LibraryId::from_raw($lid)),
directory: Set(::std::path::PathBuf::new().into()),
@@ -408,8 +408,8 @@ pub mod test {
$crate::entity::info::test::make_info_episode!($db, $show, $season, $episode);
$crate::entity::content::episodes::ActiveModel {
show_id: Set(::flix_model::id::ShowId::from_raw($show)),
season_number: Set($season),
episode_number: Set($episode),
season_number: Set(::flix_model::numbers::SeasonNumber::new($season)),
episode_number: Set(::flix_model::numbers::EpisodeNumber::new($episode)),
count: Set($count),
slug: Set(concat!("SSE ", $show, $season, $episode).to_string()),
library_id: Set(::flix_model::id::LibraryId::from_raw($lid)),
@@ -690,7 +690,7 @@ mod tests {
.expect("insert");
assert_eq!(model.show_id, ShowId::from_raw($id));
assert_eq!(model.season_number, $season);
assert_eq!(model.season_number, ::flix_model::numbers::SeasonNumber::new($season));
assert_eq!(model.slug, concat!("SS Slug ", $id, ",", $season).to_string());
assert_eq!(model.library_id, LibraryId::from_raw($lid));
assert_eq!(model.directory, Path::new(concat!("SS Directory ", $id, ",", $season)).to_owned().into());
@@ -705,7 +705,7 @@ mod tests {
(@insert, $db:expr, $id:literal, $season:literal, $lid:literal $(; $($skip:ident),+)?) => {
super::seasons::ActiveModel {
show_id: notsettable!(show_id, ShowId::from_raw($id) $(, $($skip),+)?),
season_number: notsettable!(season_number, $season $(, $($skip),+)?),
season_number: notsettable!(season_number, ::flix_model::numbers::SeasonNumber::new($season) $(, $($skip),+)?),
slug: notsettable!(slug, concat!("SS Slug ", $id, ",", $season).to_string() $(, $($skip),+)?),
library_id: notsettable!(library_id, LibraryId::from_raw($lid) $(, $($skip),+)?),
directory: notsettable!(directory, Path::new(concat!("SS Directory ", $id, ",", $season)).to_owned().into() $(, $($skip),+)?),
@@ -745,8 +745,8 @@ mod tests {
.expect("insert");
assert_eq!(model.show_id, ShowId::from_raw($id));
assert_eq!(model.season_number, $season);
assert_eq!(model.episode_number, $episode);
assert_eq!(model.season_number, ::flix_model::numbers::SeasonNumber::new($season));
assert_eq!(model.episode_number, ::flix_model::numbers::EpisodeNumber::new($episode));
assert_eq!(model.slug, concat!("SS Slug ", $id, ",", $season, $episode).to_string());
assert_eq!(model.library_id, LibraryId::from_raw($lid));
assert_eq!(model.directory, Path::new(concat!("SS Directory ", $id, ",", $season, $episode)).to_owned().into());
@@ -762,8 +762,8 @@ mod tests {
(@insert, $db:expr, $id:literal, $season:literal, $episode:literal, $lid:literal $(; $($skip:ident),+)?) => {
super::episodes::ActiveModel {
show_id: notsettable!(show_id, ShowId::from_raw($id) $(, $($skip),+)?),
season_number: notsettable!(season_number, $season $(, $($skip),+)?),
episode_number: notsettable!(episode_number, $episode $(, $($skip),+)?),
season_number: notsettable!(season_number, ::flix_model::numbers::SeasonNumber::new($season) $(, $($skip),+)?),
episode_number: notsettable!(episode_number, ::flix_model::numbers::EpisodeNumber::new($episode) $(, $($skip),+)?),
count: notsettable!(count, 0 $(, $($skip),+)?),
slug: notsettable!(slug, concat!("SS Slug ", $id, ",", $season, $episode).to_string() $(, $($skip),+)?),
library_id: notsettable!(library_id, LibraryId::from_raw($lid) $(, $($skip),+)?),
+9 -9
View File
@@ -228,7 +228,7 @@ pub mod test {
($db:expr, $show:literal, $season:literal) => {
$crate::entity::info::seasons::ActiveModel {
show_id: Set(::flix_model::id::ShowId::from_raw($show)),
season_number: Set($season),
season_number: Set(::flix_model::numbers::SeasonNumber::new($season)),
title: Set(::std::string::String::new()),
overview: Set(::std::string::String::new()),
date: Set(::chrono::NaiveDate::from_yo_opt(1, 1).expect("from_yo_opt")),
@@ -244,8 +244,8 @@ pub mod test {
($db:expr, $show:literal, $season:literal, $episode:literal) => {
$crate::entity::info::episodes::ActiveModel {
show_id: Set(::flix_model::id::ShowId::from_raw($show)),
season_number: Set($season),
episode_number: Set($episode),
season_number: Set(::flix_model::numbers::SeasonNumber::new($season)),
episode_number: Set(::flix_model::numbers::EpisodeNumber::new($episode)),
title: Set(::std::string::String::new()),
overview: Set(::std::string::String::new()),
date: Set(::chrono::NaiveDate::from_yo_opt(1, 1).expect("from_yo_opt")),
@@ -422,7 +422,7 @@ mod tests {
.expect("insert");
assert_eq!(model.show_id, ShowId::from_raw($show));
assert_eq!(model.season_number, $season);
assert_eq!(model.season_number, ::flix_model::numbers::SeasonNumber::new($season));
assert_eq!(model.title, concat!("SS Title ", $show, ",", $season));
assert_eq!(model.overview, concat!("SS Overview ", $show, ",", $season));
assert_eq!(model.date, NaiveDate::from_yo_opt($show + $season, 1).expect("from_yo_opt"));
@@ -439,7 +439,7 @@ mod tests {
(@insert, $db:expr, $show:literal, $season:literal $(; $($skip:ident),+)?) => {
super::seasons::ActiveModel {
show_id: notsettable!(show_id, ShowId::from_raw($show) $(, $($skip),+)?),
season_number: notsettable!(season_number, $season $(, $($skip),+)?),
season_number: notsettable!(season_number, ::flix_model::numbers::SeasonNumber::new($season) $(, $($skip),+)?),
title: notsettable!(title, concat!("SS Title ", $show, ",", $season).to_string() $(, $($skip),+)?),
overview: notsettable!(overview, concat!("SS Overview ", $show, ",", $season).to_string() $(, $($skip),+)?),
date: notsettable!(date, NaiveDate::from_yo_opt($show + $season, 1).expect("from_yo_opt") $(, $($skip),+)?),
@@ -473,8 +473,8 @@ mod tests {
.expect("insert");
assert_eq!(model.show_id, ShowId::from_raw($show));
assert_eq!(model.season_number, $season);
assert_eq!(model.episode_number, $episode);
assert_eq!(model.season_number, ::flix_model::numbers::SeasonNumber::new($season));
assert_eq!(model.episode_number, ::flix_model::numbers::EpisodeNumber::new($episode));
assert_eq!(model.title, concat!("SSE Title ", $show, ",", $season, ",", $episode));
assert_eq!(model.overview, concat!("SSE Overview ", $show, ",", $season, ",", $episode));
assert_eq!(model.date, NaiveDate::from_yo_opt($show + $season, 1).expect("from_yo_opt"));
@@ -491,8 +491,8 @@ mod tests {
(@insert, $db:expr, $show:literal, $season:literal, $episode:literal $(; $($skip:ident),+)?) => {
super::episodes::ActiveModel {
show_id: notsettable!(show_id, ShowId::from_raw($show) $(, $($skip),+)?),
season_number: notsettable!(season_number, $season $(, $($skip),+)?),
episode_number: notsettable!(episode_number, $episode $(, $($skip),+)?),
season_number: notsettable!(season_number, ::flix_model::numbers::SeasonNumber::new($season) $(, $($skip),+)?),
episode_number: notsettable!(episode_number, ::flix_model::numbers::EpisodeNumber::new($episode) $(, $($skip),+)?),
title: notsettable!(title, concat!("SSE Title ", $show, ",", $season, ",", $episode).to_string() $(, $($skip),+)?),
overview: notsettable!(overview, concat!("SSE Overview ", $show, ",", $season, ",", $episode).to_string() $(, $($skip),+)?),
date: notsettable!(date, NaiveDate::from_yo_opt($show + $season, 1).expect("from_yo_opt") $(, $($skip),+)?),
+18 -18
View File
@@ -280,9 +280,9 @@ pub mod test {
($db:expr, $show:literal, $season:literal, $flix_show:literal, $flix_season:literal) => {
$crate::entity::tmdb::seasons::ActiveModel {
tmdb_show: Set(::flix_tmdb::model::id::ShowId::from_raw($show)),
tmdb_season: Set($season),
tmdb_season: Set(::flix_model::numbers::SeasonNumber::new($season)),
flix_show: Set(::flix_model::id::ShowId::from_raw($flix_show)),
flix_season: Set($flix_season),
flix_season: Set(::flix_model::numbers::SeasonNumber::new($flix_season)),
last_update: Set(::chrono::Utc::now()),
}
.insert($db)
@@ -296,11 +296,11 @@ pub mod test {
($db:expr, $show:literal, $season:literal, $episode:literal, $flix_show:literal, $flix_season:literal, $flix_episode:literal) => {
$crate::entity::tmdb::episodes::ActiveModel {
tmdb_show: Set(::flix_tmdb::model::id::ShowId::from_raw($show)),
tmdb_season: Set($season),
tmdb_episode: Set($episode),
tmdb_season: Set(::flix_model::numbers::SeasonNumber::new($season)),
tmdb_episode: Set(::flix_model::numbers::EpisodeNumber::new($episode)),
flix_show: Set(::flix_model::id::ShowId::from_raw($flix_show)),
flix_season: Set($flix_season),
flix_episode: Set($flix_episode),
flix_season: Set(::flix_model::numbers::SeasonNumber::new($flix_season)),
flix_episode: Set(::flix_model::numbers::EpisodeNumber::new($flix_episode)),
last_update: Set(::chrono::Utc::now()),
runtime: Set(::core::default::Default::default()),
}
@@ -514,9 +514,9 @@ mod tests {
.expect("insert");
assert_eq!(model.tmdb_show, TmdbShowId::from_raw($tshow));
assert_eq!(model.tmdb_season, $tseason);
assert_eq!(model.tmdb_season, ::flix_model::numbers::SeasonNumber::new($tseason));
assert_eq!(model.flix_show, ShowId::from_raw($show));
assert_eq!(model.flix_season, $season);
assert_eq!(model.flix_season, ::flix_model::numbers::SeasonNumber::new($season));
assert_eq!(model.last_update, NaiveDate::from_yo_opt($tshow, 1).expect("from_yo_opt").and_hms_opt(0, 0, 0).expect("and_hms_opt").and_utc());
};
($db:expr, $show:literal, $season:literal, $tshow:literal, $tseason:literal, $error:ident $(; $($skip:ident),+)?) => {
@@ -531,9 +531,9 @@ mod tests {
(@insert, $db:expr, $show:literal, $season:literal, $tshow:literal, $tseason:literal $(; $($skip:ident),+)?) => {
super::seasons::ActiveModel {
tmdb_show: notsettable!(tmdb_show, TmdbShowId::from_raw($tshow) $(, $($skip),+)?),
tmdb_season: notsettable!(tmdb_season, $tseason $(, $($skip),+)?),
tmdb_season: notsettable!(tmdb_season, ::flix_model::numbers::SeasonNumber::new($tseason) $(, $($skip),+)?),
flix_show: notsettable!(flix_show, ShowId::from_raw($show) $(, $($skip),+)?),
flix_season: notsettable!(flix_season, $season $(, $($skip),+)?),
flix_season: notsettable!(flix_season, ::flix_model::numbers::SeasonNumber::new($season) $(, $($skip),+)?),
last_update: notsettable!(last_update, NaiveDate::from_yo_opt($tshow, 1).expect("from_yo_opt").and_hms_opt(0, 0, 0).expect("and_hms_opt").and_utc() $(, $($skip),+)?),
}.insert($db).await
};
@@ -569,11 +569,11 @@ mod tests {
.expect("insert");
assert_eq!(model.tmdb_show, TmdbShowId::from_raw($tshow));
assert_eq!(model.tmdb_season, $tseason);
assert_eq!(model.tmdb_episode, $tepisode);
assert_eq!(model.tmdb_season, ::flix_model::numbers::SeasonNumber::new($tseason));
assert_eq!(model.tmdb_episode, ::flix_model::numbers::EpisodeNumber::new($tepisode));
assert_eq!(model.flix_show, ShowId::from_raw($show));
assert_eq!(model.flix_season, $season);
assert_eq!(model.flix_episode, $episode);
assert_eq!(model.flix_season, ::flix_model::numbers::SeasonNumber::new($season));
assert_eq!(model.flix_episode, ::flix_model::numbers::EpisodeNumber::new($episode));
assert_eq!(model.last_update, NaiveDate::from_yo_opt($tshow, 1).expect("from_yo_opt").and_hms_opt(0, 0, 0).expect("and_hms_opt").and_utc());
assert_eq!(model.runtime, Duration::from_secs($tshow).into());
};
@@ -589,11 +589,11 @@ mod tests {
(@insert, $db:expr, $show:literal, $season:literal, $episode:literal, $tshow:literal, $tseason:literal, $tepisode:literal $(; $($skip:ident),+)?) => {
super::episodes::ActiveModel {
tmdb_show: notsettable!(tmdb_show, TmdbShowId::from_raw($tshow) $(, $($skip),+)?),
tmdb_season: notsettable!(tmdb_season, $tseason $(, $($skip),+)?),
tmdb_episode: notsettable!(tmdb_episode, $tepisode $(, $($skip),+)?),
tmdb_season: notsettable!(tmdb_season, ::flix_model::numbers::SeasonNumber::new($tseason) $(, $($skip),+)?),
tmdb_episode: notsettable!(tmdb_episode, ::flix_model::numbers::EpisodeNumber::new($tepisode) $(, $($skip),+)?),
flix_show: notsettable!(flix_show, ShowId::from_raw($show) $(, $($skip),+)?),
flix_season: notsettable!(flix_season, $season $(, $($skip),+)?),
flix_episode: notsettable!(flix_episode, $episode $(, $($skip),+)?),
flix_season: notsettable!(flix_season, ::flix_model::numbers::SeasonNumber::new($season) $(, $($skip),+)?),
flix_episode: notsettable!(flix_episode, ::flix_model::numbers::EpisodeNumber::new($episode) $(, $($skip),+)?),
last_update: notsettable!(last_update, NaiveDate::from_yo_opt($tshow, 1).expect("from_yo_opt").and_hms_opt(0, 0, 0).expect("and_hms_opt").and_utc() $(, $($skip),+)?),
runtime: notsettable!(runtime, Duration::from_secs($tshow).into() $(, $($skip),+)?),
}.insert($db).await
+6 -6
View File
@@ -224,8 +224,8 @@ pub mod test {
($db:expr, $show:literal, $season:literal, $episode:literal, $user:literal) => {
$crate::entity::watched::episodes::ActiveModel {
show_id: Set(::flix_model::id::ShowId::from_raw($show)),
season_number: Set($season),
episode_number: Set($episode),
season_number: Set(::flix_model::numbers::SeasonNumber::new($season)),
episode_number: Set(::flix_model::numbers::EpisodeNumber::new($episode)),
user_id: Set($user),
watched_date: Set(::chrono::Utc::now()),
}
@@ -326,8 +326,8 @@ mod tests {
.expect("insert");
assert_eq!(model.show_id, ShowId::from_raw($show));
assert_eq!(model.season_number, $season);
assert_eq!(model.episode_number, $episode);
assert_eq!(model.season_number, ::flix_model::numbers::SeasonNumber::new($season));
assert_eq!(model.episode_number, ::flix_model::numbers::EpisodeNumber::new($episode));
assert_eq!(model.user_id, $uid);
assert_eq!(model.watched_date, NaiveDate::from_yo_opt($uid, 1).expect("from_yo_opt").and_hms_opt(0, 0, 0).expect("and_hms_opt").and_utc());
};
@@ -340,8 +340,8 @@ mod tests {
(@insert, $db:expr, $show:literal, $season:literal, $episode:literal, $uid:literal $(; $($skip:ident),+)?) => {
super::episodes::ActiveModel {
show_id: notsettable!(show_id, ShowId::from_raw($show) $(, $($skip),+)?),
season_number: notsettable!(season_number, $season $(, $($skip),+)?),
episode_number: notsettable!(episode_number, $episode $(, $($skip),+)?),
season_number: notsettable!(season_number, ::flix_model::numbers::SeasonNumber::new($season) $(, $($skip),+)?),
episode_number: notsettable!(episode_number, ::flix_model::numbers::EpisodeNumber::new($episode) $(, $($skip),+)?),
user_id: notsettable!(user_id, $uid $(, $($skip),+)?),
watched_date: notsettable!(watched_date, NaiveDate::from_yo_opt($uid, 1).expect("from_yo_opt").and_hms_opt(0, 0, 0).expect("and_hms_opt").and_utc() $(, $($skip),+)?),
}.insert($db).await