Added the watch and scheduler systems

This commit is contained in:
Connor Johnstone
2026-03-20 16:28:15 -04:00
parent 15a4efe1e9
commit 85e24671a3
2 changed files with 14 additions and 9 deletions

View File

@@ -24,4 +24,5 @@ chrono = { version = "0.4", features = ["serde"] }
dirs = "6"
[dev-dependencies]
shanty-data = { path = "../shanty-data" }
tokio = { version = "1", features = ["full", "test-util"] }

View File

@@ -1,9 +1,9 @@
use chrono::Utc;
use sea_orm::ActiveValue::Set;
use shanty_data::DataResult;
use shanty_db::entities::wanted_item::{ItemType, WantedStatus};
use shanty_db::{Database, queries};
use shanty_tag::error::TagResult;
use shanty_tag::provider::*;
use shanty_watch::{add_album, add_artist, add_track, library_summary, list_items, remove_item};
@@ -46,10 +46,10 @@ impl MetadataProvider for MockProvider {
&self,
_artist: &str,
_title: &str,
) -> TagResult<Vec<RecordingMatch>> {
) -> DataResult<Vec<RecordingMatch>> {
Ok(vec![])
}
async fn search_release(&self, _artist: &str, _album: &str) -> TagResult<Vec<ReleaseMatch>> {
async fn search_release(&self, _artist: &str, _album: &str) -> DataResult<Vec<ReleaseMatch>> {
Ok(vec![ReleaseMatch {
mbid: "release-123".into(),
title: "Test Album".into(),
@@ -60,10 +60,14 @@ impl MetadataProvider for MockProvider {
score: 100,
}])
}
async fn get_recording(&self, _mbid: &str) -> TagResult<RecordingDetails> {
Err(shanty_tag::TagError::Other("not found".into()))
async fn get_recording(&self, _mbid: &str) -> DataResult<RecordingDetails> {
Err(shanty_data::DataError::Other("not found".into()))
}
async fn search_artist(&self, _query: &str, _limit: u32) -> TagResult<Vec<ArtistSearchResult>> {
async fn search_artist(
&self,
_query: &str,
_limit: u32,
) -> DataResult<Vec<ArtistSearchResult>> {
Ok(vec![ArtistSearchResult {
mbid: "artist-456".into(),
name: "Test Artist".into(),
@@ -77,7 +81,7 @@ impl MetadataProvider for MockProvider {
&self,
_mbid: &str,
_limit: u32,
) -> TagResult<Vec<DiscographyEntry>> {
) -> DataResult<Vec<DiscographyEntry>> {
Ok(vec![DiscographyEntry {
mbid: "release-123".into(),
title: "Test Album".into(),
@@ -86,7 +90,7 @@ impl MetadataProvider for MockProvider {
track_count: Some(2),
}])
}
async fn get_release_tracks(&self, _release_mbid: &str) -> TagResult<Vec<ReleaseTrack>> {
async fn get_release_tracks(&self, _release_mbid: &str) -> DataResult<Vec<ReleaseTrack>> {
Ok(vec![
ReleaseTrack {
recording_mbid: "rec-1".into(),
@@ -108,7 +112,7 @@ impl MetadataProvider for MockProvider {
async fn get_artist_release_groups(
&self,
_artist_mbid: &str,
) -> TagResult<Vec<shanty_tag::provider::ReleaseGroupEntry>> {
) -> DataResult<Vec<shanty_tag::provider::ReleaseGroupEntry>> {
Ok(vec![])
}
}