mirror of
https://github.com/markuryy/shark.git
synced 2025-12-12 11:41:02 +00:00
feat(dz): add local caching and UI for user favorites
This commit is contained in:
@@ -26,7 +26,7 @@ fn tag_audio_file(
|
||||
|
||||
#[cfg_attr(mobile, tauri::mobile_entry_point)]
|
||||
pub fn run() {
|
||||
let migrations = vec![
|
||||
let library_migrations = vec![
|
||||
Migration {
|
||||
version: 1,
|
||||
description: "create_library_tables",
|
||||
@@ -65,10 +65,64 @@ pub fn run() {
|
||||
}
|
||||
];
|
||||
|
||||
let deezer_migrations = vec![
|
||||
Migration {
|
||||
version: 1,
|
||||
description: "create_deezer_cache_tables",
|
||||
sql: "
|
||||
CREATE TABLE IF NOT EXISTS deezer_playlists (
|
||||
id TEXT PRIMARY KEY,
|
||||
title TEXT NOT NULL,
|
||||
nb_tracks INTEGER DEFAULT 0,
|
||||
creator_name TEXT,
|
||||
picture_small TEXT,
|
||||
picture_medium TEXT,
|
||||
cached_at INTEGER NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS deezer_albums (
|
||||
id TEXT PRIMARY KEY,
|
||||
title TEXT NOT NULL,
|
||||
artist_name TEXT NOT NULL,
|
||||
nb_tracks INTEGER DEFAULT 0,
|
||||
release_date TEXT,
|
||||
picture_small TEXT,
|
||||
picture_medium TEXT,
|
||||
cached_at INTEGER NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS deezer_artists (
|
||||
id TEXT PRIMARY KEY,
|
||||
name TEXT NOT NULL,
|
||||
nb_album INTEGER DEFAULT 0,
|
||||
picture_small TEXT,
|
||||
picture_medium TEXT,
|
||||
cached_at INTEGER NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS deezer_tracks (
|
||||
id TEXT PRIMARY KEY,
|
||||
title TEXT NOT NULL,
|
||||
artist_name TEXT NOT NULL,
|
||||
album_title TEXT,
|
||||
duration INTEGER DEFAULT 0,
|
||||
cached_at INTEGER NOT NULL
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_deezer_playlists_title ON deezer_playlists(title);
|
||||
CREATE INDEX IF NOT EXISTS idx_deezer_albums_artist ON deezer_albums(artist_name);
|
||||
CREATE INDEX IF NOT EXISTS idx_deezer_artists_name ON deezer_artists(name);
|
||||
CREATE INDEX IF NOT EXISTS idx_deezer_tracks_title ON deezer_tracks(title);
|
||||
",
|
||||
kind: MigrationKind::Up,
|
||||
}
|
||||
];
|
||||
|
||||
tauri::Builder::default()
|
||||
.plugin(
|
||||
tauri_plugin_sql::Builder::new()
|
||||
.add_migrations("sqlite:library.db", migrations)
|
||||
.add_migrations("sqlite:library.db", library_migrations)
|
||||
.add_migrations("sqlite:deezer.db", deezer_migrations)
|
||||
.build()
|
||||
)
|
||||
.plugin(tauri_plugin_http::init())
|
||||
|
||||
Reference in New Issue
Block a user