summaryrefslogtreecommitdiff
path: root/src/commands/list.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/list.rs')
-rw-r--r--src/commands/list.rs17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/commands/list.rs b/src/commands/list.rs
index 13176f4..4aa4306 100644
--- a/src/commands/list.rs
+++ b/src/commands/list.rs
@@ -2,9 +2,9 @@ use crate::{
2 config::Cfg, 2 config::Cfg,
3 db::{ 3 db::{
4 config_change_current_list, config_get_current_list, lists_get, lists_insert, lists_remove, 4 config_change_current_list, config_get_current_list, lists_get, lists_insert, lists_remove,
5 lists_version, 5 lists_version, lists_get_all_ids,
6 }, 6 },
7 error::MLE, 7 error::{MLE, MLError, ErrorType},
8 update, Modloader, 8 update, Modloader,
9}; 9};
10 10
@@ -32,7 +32,9 @@ pub fn list_add(
32} 32}
33 33
34pub fn list_change(config: Cfg, id: String) -> MLE<()> { 34pub fn list_change(config: Cfg, id: String) -> MLE<()> {
35 //TODO check if list exists 35 if lists_get_all_ids(config.clone())?.into_iter().find(|l| l == &id).is_none() {
36 return Err(MLError::new(ErrorType::ArgumentError, "List not found"));
37 };
36 println!("Change default list to: {}", id); 38 println!("Change default list to: {}", id);
37 config_change_current_list(config, id) 39 config_change_current_list(config, id)
38} 40}
@@ -68,3 +70,12 @@ pub async fn list_version(
68 let list = lists_get(config.clone(), id)?; 70 let list = lists_get(config.clone(), id)?;
69 update(config, vec![list], true, download, delete).await 71 update(config, vec![list], true, download, delete).await
70} 72}
73
74pub fn list_list(config: Cfg) -> MLE<()> {
75 let lists = lists_get_all_ids(config.clone())?;
76 for list in lists {
77 let l = lists_get(config.clone(), list)?;
78 println!("{}: | {} | {}", l.id, l.mc_version, l.modloader)
79 }
80 Ok(())
81}