Dependency name change (#103)
sidm / build (push) Successful in 1m36s

Reviewed-on: #103
This commit was merged in pull request #103.
This commit is contained in:
2026-07-16 13:47:33 -04:00
parent 592c5aaf60
commit 68c0b06280
13 changed files with 144 additions and 146 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
name: Rust
name: sidm
on:
push:
Generated
+60 -60
View File
@@ -60,9 +60,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
[[package]]
name = "bitflags"
version = "2.13.0"
version = "2.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8"
checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da"
[[package]]
name = "bumpalo"
@@ -78,9 +78,9 @@ checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04"
[[package]]
name = "cc"
version = "1.2.66"
version = "1.2.67"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f5d6cac793997bd970000024b2934968efe83b382de4fdcf4fcb46b6ee4ad996"
checksum = "e17dd265a7d0f31ef544e1b20e03add05d3b45b491b633b10d67145d2acc1a38"
dependencies = [
"find-msvc-tools",
"jobserver",
@@ -96,9 +96,9 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
[[package]]
name = "cfg_aliases"
version = "0.2.1"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
checksum = "f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527"
[[package]]
name = "chacha20"
@@ -402,9 +402,9 @@ dependencies = [
[[package]]
name = "http-body"
version = "1.0.1"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184"
checksum = "ca2a8f2913ee65f60facd6a5905613afaa448497a0230cc41ce022d93290bc2c"
dependencies = [
"bytes",
"http",
@@ -412,9 +412,9 @@ dependencies = [
[[package]]
name = "http-body-util"
version = "0.1.3"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a"
checksum = "e9f41fd6a08e4d4ec69df65976da761afd5ad5e58a9d4acb46bd1c953a9e3ff2"
dependencies = [
"bytes",
"futures-core",
@@ -490,20 +490,6 @@ dependencies = [
"windows-registry",
]
[[package]]
name = "icarus_models"
version = "0.11.3"
source = "git+ssh://git@git.kundeng.us/phoenix/icarus_models.git?tag=v0.11.3#859b0fb1b377370d8171e22e59893d86e41b258b"
dependencies = [
"josekit",
"rand",
"serde",
"serde_json",
"time",
"utoipa",
"uuid",
]
[[package]]
name = "icu_collections"
version = "2.2.0"
@@ -586,20 +572,6 @@ dependencies = [
"zerovec",
]
[[package]]
name = "idm"
version = "0.10.1"
dependencies = [
"http",
"icarus_models",
"reqwest",
"serde",
"serde_json",
"tokio",
"tokio-util",
"uuid",
]
[[package]]
name = "idna"
version = "1.1.0"
@@ -799,9 +771,9 @@ dependencies = [
[[package]]
name = "mio"
version = "1.2.1"
version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "02bd0af71c67b473010cbbc60715ee815645a4dc942899111f494b4b737d6fda"
checksum = "30d65c71f1ce40ab09135ce117d742b9f8a19ff91a41a8b57ed50bc2de59c427"
dependencies = [
"libc",
"wasi",
@@ -1037,9 +1009,9 @@ dependencies = [
[[package]]
name = "regex"
version = "1.13.0"
version = "1.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a0e75113e14dc5acb068cd0786884f214f1312650a3d36d269f5c4f3cdee8a2"
checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d"
dependencies = [
"aho-corasick",
"memchr",
@@ -1049,9 +1021,9 @@ dependencies = [
[[package]]
name = "regex-automata"
version = "0.4.15"
version = "0.4.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1f388202e4b80542a0921078cc23b6333bcf1409c1e3f86404cae4766a6131db"
checksum = "8fcfdb36bda0c880c5931cdc7a2bcdc8ba4556847b9d912bca70bc94708711ad"
dependencies = [
"aho-corasick",
"memchr",
@@ -1140,9 +1112,9 @@ dependencies = [
[[package]]
name = "rustls"
version = "0.23.41"
version = "0.23.42"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6b92b125634d9b795e7beca796cc790df15a7fb38323bf3196fda83292d06b1f"
checksum = "3c54fcab019b409d04215d3a17cb438fd7fbf192ee61461f20f4fe18704bc138"
dependencies = [
"aws-lc-rs",
"once_cell",
@@ -1322,6 +1294,20 @@ version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
[[package]]
name = "sidm"
version = "0.10.1"
dependencies = [
"http",
"reqwest",
"serde",
"serde_json",
"simodels",
"tokio",
"tokio-util",
"uuid",
]
[[package]]
name = "signal-hook-registry"
version = "1.4.8"
@@ -1334,15 +1320,15 @@ dependencies = [
[[package]]
name = "simd-adler32"
version = "0.3.9"
version = "0.3.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214"
checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea"
[[package]]
name = "simd_cesu8"
version = "1.1.1"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94f90157bb87cddf702797c5dadfa0be7d266cdf49e22da2fcaa32eff75b2c33"
checksum = "11031e251abf8611c80f460e19dbdeb54a66db918e49c65a7065b46ac7aec520"
dependencies = [
"rustc_version",
"simdutf8",
@@ -1354,6 +1340,20 @@ version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e"
[[package]]
name = "simodels"
version = "0.11.3"
source = "git+ssh://git@git.kundeng.us/phoenix/simodels.git?tag=v0.11.3-main-fe9d101bd0-111#fe9d101bd019f91fe8c99c29721ccb0e6e90c92c"
dependencies = [
"josekit",
"rand",
"serde",
"serde_json",
"time",
"utoipa",
"uuid",
]
[[package]]
name = "slab"
version = "0.4.12"
@@ -1368,9 +1368,9 @@ checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90"
[[package]]
name = "socket2"
version = "0.6.4"
version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52d1cfed4120b4d927bf7c0f86d2087a4a7d6027c906d9f9d525a80573b9be51"
checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4"
dependencies = [
"libc",
"windows-sys 0.61.2",
@@ -1390,9 +1390,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
[[package]]
name = "syn"
version = "2.0.118"
version = "2.0.119"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b9ae57f904213ebb649ce6895b8a66c66f0203b9319718f69a5612a065b1422"
checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
dependencies = [
"proc-macro2",
"quote",
@@ -1517,9 +1517,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
version = "1.52.3"
version = "1.52.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8fc7f01b389ac15039e4dc9531aa973a135d7a4135281b12d7c1bc79fd57fffe"
checksum = "317fafbbe3f02fc663dad00ea6186197de963cd4190e86a26d8d0fae095539af"
dependencies = [
"bytes",
"libc",
@@ -1698,9 +1698,9 @@ dependencies = [
[[package]]
name = "uuid"
version = "1.23.4"
version = "1.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf80a72845275afea99e7f2b434723d3bc7e38470fcd1c7ed39a599c73319a53"
checksum = "bf3923a6f5c4c6382e0b653c4117f48d631ea17f38ed86e2a828e6f7412f5239"
dependencies = [
"getrandom 0.4.3",
"js-sys",
@@ -2053,6 +2053,6 @@ dependencies = [
[[package]]
name = "zmij"
version = "1.0.21"
version = "1.0.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"
+5 -3
View File
@@ -1,8 +1,10 @@
[package]
name = "idm"
name = "sidm"
version = "0.10.1"
rust-version = "1.95"
edition = "2024"
license = "MIT"
description = "CLI tool to download and upload music from soaricarus"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
@@ -10,7 +12,7 @@ http = { version = "1.4.2" }
reqwest = { version = "0.13.4", features = ["json", "blocking", "multipart", "stream"] }
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.150"
tokio = { version = "1.52.3", features = ["full"] }
tokio = { version = "1.52.4", features = ["full"] }
tokio-util = { version = "0.7.18", features = ["codec"] }
uuid = { version = "1.23.4", features = ["v4", "serde"] }
icarus_models = { git = "ssh://git@git.kundeng.us/phoenix/icarus_models.git", tag = "v0.11.3" }
simodels = { git = "ssh://git@git.kundeng.us/phoenix/simodels.git", tag = "v0.11.3-main-fe9d101bd0-111" }
+9 -9
View File
@@ -1,6 +1,6 @@
# idm
# sidm
idm (IcarusDownloadManager) is a CLI software client application that has the feature of uploading and downloading songs from the [icarus](https://git.kundeng.us/phoenix/icarus) Music Server.
sidm (SoarIcarusDownloadManager) is a CLI software client application that has the feature of uploading and downloading songs from the [soaricarus_api](https://git.kundeng.us/phoenix/soaricarus_api) Music Server.
@@ -9,14 +9,14 @@ idm (IcarusDownloadManager) is a CLI software client application that has the fe
Clone the repo
```BASH
git clone git@git.kundeng.us:phoenix/idm.git
git clone git@git.kundeng.us:phoenix/sidm.git
```
Build the project:
```BASH
cd idm
cd sidm
cargo build
```
@@ -24,31 +24,31 @@ cargo build
### Downloading Song
```BASH
idm download -u spacecadet -p stellar40 -h https://icarus.com -ha https://auth.icarus.com -b e8407fc6-edd2-44c1-993f-08dd7324d91a
sidm download -u spacecadet -p stellar40 -h https://icarus.com -ha https://auth.icarus.com -b e8407fc6-edd2-44c1-993f-08dd7324d91a
```
### Uploading Song with metadata
```BASH
idm upload-meta -u spacecadet -p stellar40 -h https://icarus.com -ha https://auth.icarus.com -s /path/of/song.flac -t 1 -m /path/to/metadata/config/collection.json -ca /path/to/cover/art/image.png
sidm upload-meta -u spacecadet -p stellar40 -h https://icarus.com -ha https://auth.icarus.com -s /path/of/song.flac -t 1 -m /path/to/metadata/config/collection.json -ca /path/to/cover/art/image.png
```
### Uploading Song with metadata from directory
```BASH
idm upload-meta -u spacecadet -p stellar40 -h https://icarus.com -ha https://auth.icarus.com -smca /path/where/songs/and/metadata/exists/
sidm upload-meta -u spacecadet -p stellar40 -h https://icarus.com -ha https://auth.icarus.com -smca /path/where/songs/and/metadata/exists/
```
### Retrieving Song in json
```Bash
idm retrieve -u spacecadet -p stellar40 -h https://icarus.com -ha https://auth.icarus.com -rt songs
sidm retrieve -u spacecadet -p stellar40 -h https://icarus.com -ha https://auth.icarus.com -rt songs
```
### Deleting Song
```BASH
idm delete -u spacecadet -p stellar40 -h https://icarus.com -ha https://auth.icarus.com -D e8407fc6-edd2-44c1-993f-08dd7324d91a
sidm delete -u spacecadet -p stellar40 -h https://icarus.com -ha https://auth.icarus.com -D e8407fc6-edd2-44c1-993f-08dd7324d91a
```
+4 -4
View File
@@ -51,7 +51,7 @@ mod tests {
assert!(false, "File does not exists: {meta_path:?}");
}
match icarus_models::album::collection::parse_album(&meta_path) {
match simodels::album::collection::parse_album(&meta_path) {
Ok(album) => {
for track in 1..3 {
let directory_path = std::path::Path::new(&meta_path);
@@ -59,17 +59,17 @@ mod tests {
let filename: String = if track < 10 {
String::from("track0")
+ &track.to_string()
+ icarus_models::constants::file_extensions::audio::DEFAULTMUSICEXTENSION
+ simodels::constants::file_extensions::audio::DEFAULTMUSICEXTENSION
} else {
String::from("track")
+ &track.to_string()
+ icarus_models::constants::file_extensions::audio::DEFAULTMUSICEXTENSION
+ simodels::constants::file_extensions::audio::DEFAULTMUSICEXTENSION
};
let disc = 1;
match managers::commit_manager::retrieve_song(
&album, track, disc, &directory, &filename,
) {
Ok(song) => match icarus_models::song::io::to_data(&song) {
Ok(song) => match simodels::song::io::to_data(&song) {
Ok(_) => {
print!("Success");
}
+37 -40
View File
@@ -36,21 +36,21 @@ enum En {
#[derive(Debug)]
struct UploadSongMembers {
pub song: icarus_models::song::Song,
pub coverart: icarus_models::coverart::CoverArt,
pub token: icarus_models::token::AccessToken,
pub album: icarus_models::album::collection::Album,
pub song: simodels::song::Song,
pub coverart: simodels::coverart::CoverArt,
pub token: simodels::token::AccessToken,
pub album: simodels::album::collection::Album,
}
pub fn retrieve_song(
album: &icarus_models::album::collection::Album,
album: &simodels::album::collection::Album,
track: i32,
disc: i32,
directory: &str,
filename: &str,
) -> Result<icarus_models::song::Song> {
) -> Result<simodels::song::Song> {
let mut found = false;
let mut song = icarus_models::song::Song::default();
let mut song = simodels::song::Song::default();
for song_i in &album.tracks {
if song_i.track == track && song_i.disc == disc {
@@ -58,9 +58,8 @@ pub fn retrieve_song(
song.album = album.title.clone();
song.album_artist = album.artist.clone();
song.artist = track.artist.clone();
song.audio_type = String::from(
icarus_models::constants::file_extensions::audio::DEFAULTMUSICEXTENSION,
);
song.audio_type =
String::from(simodels::constants::file_extensions::audio::DEFAULTMUSICEXTENSION);
song.disc = track.disc;
song.disc_count = album.disc_count;
song.duration = track.duration as i32;
@@ -143,13 +142,13 @@ impl CommitManager {
])
}
async fn delete_song(&self, token: &icarus_models::token::AccessToken) {
async fn delete_song(&self, token: &simodels::token::AccessToken) {
println!("Deleting song");
let mut del = syncers::delete::Delete {
api: self.api.clone(),
};
let mut song = icarus_models::song::Song::default();
let mut song = simodels::song::Song::default();
for arg in &self.ica_action.flags {
let flag = &arg.flag;
@@ -170,13 +169,13 @@ impl CommitManager {
}
}
async fn download_song(&self, token: &icarus_models::token::AccessToken) {
async fn download_song(&self, token: &simodels::token::AccessToken) {
println!("Downloading song");
let dwn = self.ica_action.retrieve_flag_value(&String::from("-b"));
let mut dwn_loader = syncers::download::Download {
api: self.api.clone(),
};
let mut song = icarus_models::song::Song {
let mut song = simodels::song::Song {
id: uuid::Uuid::from_str(dwn.as_str()).unwrap(),
..Default::default()
};
@@ -187,8 +186,8 @@ impl CommitManager {
song.data = o.as_bytes().to_vec();
song.directory = String::from(".");
song.filename = match icarus_models::song::generate_filename(
icarus_models::types::MusicType::FlacExtension,
song.filename = match simodels::song::generate_filename(
simodels::types::MusicType::FlacExtension,
true,
) {
Ok(filename) => filename,
@@ -221,7 +220,7 @@ impl CommitManager {
}
}
async fn retrieve_object(&self, token: &icarus_models::token::AccessToken) {
async fn retrieve_object(&self, token: &simodels::token::AccessToken) {
println!("Retrieving song");
let rt = self.ica_action.retrieve_flag_value(&String::from("-rt"));
@@ -250,12 +249,12 @@ impl CommitManager {
}
}
async fn parse_token(&self, api: &models::api::Api) -> icarus_models::token::AccessToken {
async fn parse_token(&self, api: &models::api::Api) -> simodels::token::AccessToken {
println!("Fetching token");
let mut usr_mgr: managers::user_manager::UserManager =
managers::user_manager::UserManager {
user: icarus_models::user::User::default(),
user: simodels::user::User::default(),
ica_action: self.ica_action.clone(),
};
usr_mgr.parse_user_from_actions();
@@ -272,7 +271,7 @@ impl CommitManager {
token.unwrap()
}
async fn upload_song_with_metadata(&mut self, token: &icarus_models::token::AccessToken) {
async fn upload_song_with_metadata(&mut self, token: &simodels::token::AccessToken) {
println!("Uplodaring song with metadara");
let songpath = self.ica_action.retrieve_flag_value(&String::from("-s"));
@@ -316,7 +315,7 @@ impl CommitManager {
track_id: &str,
meta_path: &String,
cover_path: &str,
token: &icarus_models::token::AccessToken,
token: &simodels::token::AccessToken,
) -> Result<()> {
let song_file = std::path::Path::new(&songpath);
@@ -327,7 +326,7 @@ impl CommitManager {
let pa = std::path::Path::new(&cover_path);
let mut cover_art = icarus_models::coverart::CoverArt {
let mut cover_art = simodels::coverart::CoverArt {
directory: String::from(pa.parent().unwrap().to_str().unwrap()),
filename: String::from(pa.file_name().unwrap().to_str().unwrap()),
..Default::default()
@@ -339,7 +338,7 @@ impl CommitManager {
Ok(s) => {
println!("file name: {file_name:?}");
match icarus_models::album::collection::parse_album(meta_path) {
match simodels::album::collection::parse_album(meta_path) {
Ok(album) => {
let filename = s.clone();
let directory = song_file.parent().unwrap().display().to_string();
@@ -349,9 +348,8 @@ impl CommitManager {
println!("Directory: {:?}", s.directory);
println!("Filename: {:?}", s.filename);
println!("Path: {:?}", s.song_path());
s.data = icarus_models::song::io::to_data(&s).unwrap();
cover_art.data =
icarus_models::coverart::io::to_data(&cover_art).unwrap();
s.data = simodels::song::io::to_data(&s).unwrap();
cover_art.data = simodels::coverart::io::to_data(&cover_art).unwrap();
let members = UploadSongMembers {
song: s,
@@ -448,23 +446,23 @@ impl CommitManager {
&self,
metadata_path: &String,
source_directory: &str,
) -> Result<Vec<icarus_models::song::Song>> {
match icarus_models::album::collection::parse_album(metadata_path) {
) -> Result<Vec<simodels::song::Song>> {
match simodels::album::collection::parse_album(metadata_path) {
Ok(albums) => {
let mut songs: Vec<icarus_models::song::Song> = Vec::new();
let mut songs: Vec<simodels::song::Song> = Vec::new();
for track in &albums.tracks {
let song_filename = if track.track < 10 {
"track0".to_owned()
+ &track.track.to_string()
+ icarus_models::constants::file_extensions::audio::DEFAULTMUSICEXTENSION
+ simodels::constants::file_extensions::audio::DEFAULTMUSICEXTENSION
} else {
"track".to_owned()
+ &track.track.to_string()
+ icarus_models::constants::file_extensions::audio::DEFAULTMUSICEXTENSION
+ simodels::constants::file_extensions::audio::DEFAULTMUSICEXTENSION
};
songs.push(icarus_models::song::Song {
songs.push(simodels::song::Song {
title: track.title.clone(),
artist: track.artist.clone(),
disc: track.disc,
@@ -491,7 +489,7 @@ impl CommitManager {
async fn multi_target_upload(
&mut self,
sourcepath: &String,
token: &icarus_models::token::AccessToken,
token: &simodels::token::AccessToken,
) -> std::io::Result<()> {
let directory_path = std::path::Path::new(&sourcepath);
@@ -501,7 +499,7 @@ impl CommitManager {
let (coverart_directory, coverart_filename) =
self.get_coverart_dir_and_filename(sourcepath).unwrap();
let mut cover_art = icarus_models::coverart::init::init_coverart_dir_and_filename(
let mut cover_art = simodels::coverart::init::init_coverart_dir_and_filename(
&coverart_directory,
&coverart_filename,
);
@@ -511,10 +509,10 @@ impl CommitManager {
let host = self.ica_action.retrieve_flag_value(&String::from("-h"));
up.set_api(&host);
cover_art.data = icarus_models::coverart::io::to_data(&cover_art).unwrap();
cover_art.data = simodels::coverart::io::to_data(&cover_art).unwrap();
match self.get_songs(&metadatapath, sourcepath) {
Ok(sngs) => match icarus_models::album::collection::parse_album(&metadatapath) {
Ok(sngs) => match simodels::album::collection::parse_album(&metadatapath) {
Ok(album) => {
for song in sngs {
let members = UploadSongMembers {
@@ -595,15 +593,14 @@ impl CommitManager {
index += 1;
}
if extension == icarus_models::constants::file_extensions::audio::WAVEXTENSION[1..]
|| extension
== icarus_models::constants::file_extensions::audio::FLACEXTENSION[1..]
if extension == simodels::constants::file_extensions::audio::WAVEXTENSION[1..]
|| extension == simodels::constants::file_extensions::audio::FLACEXTENSION[1..]
{
return En::SongFile;
} else if extension == "json" {
return En::MetadataFile;
} else if extension
== icarus_models::constants::file_extensions::image::JPGEXTENSION[1..]
== simodels::constants::file_extensions::image::JPGEXTENSION[1..]
|| extension == "jpeg"
|| extension == "png"
{
+5 -5
View File
@@ -7,20 +7,20 @@ mod response {
#[derive(Debug, serde::Deserialize, serde::Serialize)]
pub struct Response {
pub message: String,
pub data: Vec<icarus_models::login_result::LoginResult>,
pub data: Vec<simodels::login_result::LoginResult>,
}
}
}
pub struct TokenManager {
pub user: icarus_models::user::User,
pub user: simodels::user::User,
pub api: models::api::Api,
}
impl Default for TokenManager {
fn default() -> Self {
let mut token = TokenManager {
user: icarus_models::user::User::default(),
user: simodels::user::User::default(),
api: models::api::Api::default(),
};
token.init();
@@ -30,13 +30,13 @@ impl Default for TokenManager {
}
impl TokenManager {
pub async fn request_token(&self) -> Result<icarus_models::token::AccessToken, std::io::Error> {
pub async fn request_token(&self) -> Result<simodels::token::AccessToken, std::io::Error> {
println!("Sending request for a token");
let url = self.retrieve_url();
println!("URL: {url}");
let mut token = icarus_models::token::AccessToken {
let mut token = simodels::token::AccessToken {
user_id: uuid::Uuid::nil(),
username: String::new(),
token: String::new(),
+2 -2
View File
@@ -4,12 +4,12 @@ use crate::models::{self};
#[derive(Debug, Default)]
pub struct UserManager {
pub user: icarus_models::user::User,
pub user: simodels::user::User,
pub ica_action: models::icarus_action::IcarusAction,
}
impl UserManager {
pub fn retrieve_user(&self) -> icarus_models::user::User {
pub fn retrieve_user(&self) -> simodels::user::User {
self.user.clone()
}
+1 -1
View File
@@ -17,7 +17,7 @@ fn retrieve_url_with_id(api: &models::api::Api, id: &uuid::Uuid) -> String {
}
pub async fn auth_header(
token: &icarus_models::token::AccessToken,
token: &simodels::token::AccessToken,
) -> Result<(http::HeaderName, http::HeaderValue), http::header::InvalidHeaderValue> {
match http::HeaderValue::from_str(&token.bearer_token()) {
Ok(auth_value) => Ok((reqwest::header::AUTHORIZATION, auth_value)),
+5 -6
View File
@@ -13,8 +13,8 @@ mod response {
pub mod delete_song {
#[derive(Debug, serde::Deserialize)]
pub struct SongAndCoverArt {
pub song: icarus_models::song::Song,
pub coverart: icarus_models::coverart::CoverArt,
pub song: simodels::song::Song,
pub coverart: simodels::coverart::CoverArt,
}
#[derive(Debug, serde::Deserialize)]
@@ -28,10 +28,9 @@ mod response {
impl Delete {
pub async fn delete_song(
&mut self,
token: &icarus_models::token::AccessToken,
song: &icarus_models::song::Song,
) -> Result<(icarus_models::song::Song, icarus_models::coverart::CoverArt), std::io::Error>
{
token: &simodels::token::AccessToken,
song: &simodels::song::Song,
) -> Result<(simodels::song::Song, simodels::coverart::CoverArt), std::io::Error> {
self.api.endpoint = "api/v2/song".to_owned();
let url = format!("{}{}/{}", self.api.url, self.api.endpoint, song.id);
println!("Url: {url:?}");
+2 -2
View File
@@ -17,8 +17,8 @@ pub enum MyError {
impl Download {
pub async fn download_song(
&mut self,
token: &icarus_models::token::AccessToken,
song: &icarus_models::song::Song,
token: &simodels::token::AccessToken,
song: &simodels::song::Song,
) -> Result<String, MyError> {
self.api.endpoint = String::from("song/download");
let url = syncers::common::retrieve_url(&self.api, true, &song.id);
+3 -3
View File
@@ -13,7 +13,7 @@ mod response {
#[derive(Debug, serde::Deserialize)]
pub struct Response {
pub message: String,
pub data: Vec<icarus_models::song::Song>,
pub data: Vec<simodels::song::Song>,
}
}
}
@@ -21,8 +21,8 @@ mod response {
impl RetrieveRecords {
pub async fn get_all_songs(
&mut self,
token: &icarus_models::token::AccessToken,
) -> Result<Vec<icarus_models::song::Song>, Error> {
token: &simodels::token::AccessToken,
) -> Result<Vec<simodels::song::Song>, Error> {
self.api.endpoint = String::from("api/v2/song/all");
let url = format!("{}{}", self.api.url, self.api.endpoint);
let access_token = token.bearer_token();
+10 -10
View File
@@ -40,8 +40,8 @@ mod response {
impl Upload {
pub async fn queue_song(
&self,
token: &icarus_models::token::AccessToken,
song: &icarus_models::song::Song,
token: &simodels::token::AccessToken,
song: &simodels::song::Song,
) -> Result<uuid::Uuid, reqwest::Error> {
let songpath = song.song_path().unwrap();
let file = tokio::fs::File::open(&songpath).await.unwrap();
@@ -92,7 +92,7 @@ impl Upload {
pub async fn link_user_to_queued_song(
&self,
token: &icarus_models::token::AccessToken,
token: &simodels::token::AccessToken,
queued_song_id: &uuid::Uuid,
) -> Result<(), reqwest::Error> {
let endpoint = String::from("api/v2/song/queue/link");
@@ -123,9 +123,9 @@ impl Upload {
pub async fn queue_metadata(
&self,
token: &icarus_models::token::AccessToken,
album: &icarus_models::album::collection::Album,
song: &icarus_models::song::Song,
token: &simodels::token::AccessToken,
album: &simodels::album::collection::Album,
song: &simodels::song::Song,
queued_song_id: &uuid::Uuid,
) -> Result<uuid::Uuid, reqwest::Error> {
let endpoint = String::from("api/v2/song/metadata/queue");
@@ -173,8 +173,8 @@ impl Upload {
pub async fn queue_coverart(
&self,
token: &icarus_models::token::AccessToken,
coverart: &icarus_models::coverart::CoverArt,
token: &simodels::token::AccessToken,
coverart: &simodels::coverart::CoverArt,
) -> Result<uuid::Uuid, reqwest::Error> {
let coverartpath = coverart.get_path().unwrap();
let file = tokio::fs::File::open(&coverartpath).await.unwrap();
@@ -231,7 +231,7 @@ impl Upload {
pub async fn link_queued_song_to_queued_coverart(
&self,
token: &icarus_models::token::AccessToken,
token: &simodels::token::AccessToken,
queued_song_id: &uuid::Uuid,
queued_coverart_id: &uuid::Uuid,
) -> Result<(), reqwest::Error> {
@@ -263,7 +263,7 @@ impl Upload {
pub async fn update_queued_song_status(
&self,
token: &icarus_models::token::AccessToken,
token: &simodels::token::AccessToken,
queued_song_id: &uuid::Uuid,
status: &str,
) -> Result<(), reqwest::Error> {