This commit is contained in:
2023-02-05 20:15:55 +09:00
2 changed files with 35 additions and 1 deletions

View File

@@ -2,6 +2,7 @@
all(not(debug_assertions), target_os = "windows"),
windows_subsystem = "windows"
)]
use serde_json::json;
use wana_kana::to_katakana::*;
use wana_kana::to_hiragana::*;
mod model;
@@ -107,6 +108,31 @@ fn search_move(index: i64) -> MoveSearchResult {
condition: None,
}
}
#[tauri::command]
fn get_items() -> Vec<ItemSearchResult> {
let connection = sqlite::open("./pokemon.db").unwrap();
let query = "SELECT * FROM item WHERE 1";
let mut items: Vec<ItemSearchResult> = vec![];
for row in connection
.prepare(query)
.unwrap()
.into_iter()
.map(|row| row.unwrap())
{
let row_result = ItemSearchResult {
id: row.read::<i64, _>("id"),
name: row.read::<&str, _>("name").to_string(),
image: row.read::<&str, _>("image").to_string(),
effect: match row.read::<Option<&str>, _>("effect") {
Some(t) => Some(serde_json::from_str(t).unwrap_or(json!({}))),
_ => None,
},
};
items.push(row_result);
}
return items;
}
#[tauri::command]
fn search(index: i64) -> SearchResult {
let connection = sqlite::open("./pokemon.db").unwrap();
@@ -173,7 +199,7 @@ fn search(index: i64) -> SearchResult {
}
fn main() {
tauri::Builder::default()
.invoke_handler(tauri::generate_handler![autosearch_move, search_move, autosearch, search])
.invoke_handler(tauri::generate_handler![autosearch_move, search_move, autosearch, search, get_items])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}

View File

@@ -39,4 +39,12 @@ pub struct MoveSearchResult {
pub struct Autosearch {
pub id: i64,
pub name: String,
}
#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct ItemSearchResult {
pub id: i64,
pub name: String,
pub image: String,
pub effect: Option<serde_json::Value>,
}