generated from PlexSheep/rs-base
feat(store): add store
cargo devel CI / cargo CI (push) Successful in 3m9s
Details
cargo devel CI / cargo CI (push) Successful in 3m9s
Details
This commit is contained in:
parent
af3135462a
commit
876e2d68e0
|
@ -29,6 +29,7 @@ image = { version = "0.25.2", default-features = true, features = [
|
||||||
] }
|
] }
|
||||||
|
|
||||||
libpt = { version = "0.6.0", features = ["cli", "full"] }
|
libpt = { version = "0.6.0", features = ["cli", "full"] }
|
||||||
|
serde = { version = "1.0.208", features = ["derive"] }
|
||||||
strum = { version = "0.26.3", features = ["derive"] }
|
strum = { version = "0.26.3", features = ["derive"] }
|
||||||
thiserror = "1.0.63"
|
thiserror = "1.0.63"
|
||||||
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
|
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
|
||||||
|
|
|
@ -2,3 +2,5 @@ pub mod backend;
|
||||||
pub mod error;
|
pub mod error;
|
||||||
pub mod music;
|
pub mod music;
|
||||||
pub mod player;
|
pub mod player;
|
||||||
|
pub mod store;
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@ use libpt::cli::args::VerbosityLevel;
|
||||||
use libpt::log::{debug, info};
|
use libpt::log::{debug, info};
|
||||||
|
|
||||||
use crate::error::Error;
|
use crate::error::Error;
|
||||||
|
use crate::store::Store;
|
||||||
|
|
||||||
use self::ui::entry::{Entry, Kind};
|
use self::ui::entry::{Entry, Kind};
|
||||||
|
|
||||||
|
@ -24,6 +25,9 @@ pub struct Player {
|
||||||
|
|
||||||
#[clap(skip)]
|
#[clap(skip)]
|
||||||
kind: Kind,
|
kind: Kind,
|
||||||
|
|
||||||
|
#[clap(skip)]
|
||||||
|
store: Store,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Player {
|
impl Player {
|
||||||
|
@ -75,16 +79,12 @@ impl Player {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn entries(&self) -> Vec<Entry> {
|
fn entries(&self) -> Vec<Entry> {
|
||||||
let mut v = Vec::new();
|
|
||||||
match self.category() {
|
match self.category() {
|
||||||
Kind::Album => {
|
Kind::Album => self.store.albums(),
|
||||||
let e = Entry::new(Kind::Album, "boom boom boom", "boomerboom", None);
|
Kind::Song => self.store.songs(),
|
||||||
for _ in 0..100 {
|
Kind::Playlist => self.store.playlists(),
|
||||||
v.push(e.clone());
|
Kind::Artist => self.store.artists(),
|
||||||
|
Kind::Genre => self.store.genres(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_ => todo!("not all categories are implemented yet"),
|
|
||||||
}
|
|
||||||
v
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ pub enum Kind {
|
||||||
Album,
|
Album,
|
||||||
Song,
|
Song,
|
||||||
Artist,
|
Artist,
|
||||||
|
Genre,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug)]
|
#[derive(Clone, Debug)]
|
||||||
|
@ -53,6 +54,7 @@ impl std::fmt::Display for Kind {
|
||||||
"{}",
|
"{}",
|
||||||
match self {
|
match self {
|
||||||
Self::Song => "Song",
|
Self::Song => "Song",
|
||||||
|
Self::Genre => "Genre",
|
||||||
Self::Album => "Album",
|
Self::Album => "Album",
|
||||||
Self::Playlist => "Playlist",
|
Self::Playlist => "Playlist",
|
||||||
Self::Artist => "Artist",
|
Self::Artist => "Artist",
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
pub struct Store {}
|
||||||
|
|
||||||
|
impl Default for Store {
|
||||||
|
fn default() -> Self {
|
||||||
|
Store {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Store {
|
||||||
|
pub fn genres(&self) -> Vec<crate::player::ui::entry::Entry> {
|
||||||
|
todo!()
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn artists(&self) -> Vec<crate::player::ui::entry::Entry> {
|
||||||
|
todo!()
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn playlists(&self) -> Vec<crate::player::ui::entry::Entry> {
|
||||||
|
todo!()
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn songs(&self) -> Vec<crate::player::ui::entry::Entry> {
|
||||||
|
todo!()
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn albums(&self) -> Vec<crate::player::ui::entry::Entry> {
|
||||||
|
todo!()
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue