Compare commits

..

No commits in common. "ffe79e9a545c24135931c8c290ff4f5277672238" and "d844a69cdb7bf8aa95868d0598a42d82d7a27d33" have entirely different histories.

3 changed files with 13 additions and 27 deletions

View File

@ -1,11 +0,0 @@
{
"identifier": "default",
"description": "Default capabilities for the main Wraith window",
"windows": ["main"],
"permissions": [
"core:default",
"core:event:default",
"core:window:default",
"shell:allow-open"
]
}

View File

@ -38,8 +38,10 @@ pub struct ConnectionRecord {
pub group_id: Option<i64>,
pub credential_id: Option<i64>,
pub color: Option<String>,
pub tags: Vec<String>,
/// JSON array string, e.g. `["linux","prod"]`
pub tags: String,
pub notes: Option<String>,
/// JSON object string, e.g. `{"keepalive":30}`
pub options: String,
pub sort_order: i64,
pub last_connected: Option<String>,
@ -252,7 +254,7 @@ impl ConnectionService {
group_id: input.group_id,
credential_id: input.credential_id,
color: input.color,
tags: input.tags,
tags: tags_json,
notes: input.notes,
options: options_json,
sort_order,
@ -437,8 +439,6 @@ impl ConnectionService {
///
/// Column order must match the SELECT lists used throughout this module.
fn map_connection_row(row: &rusqlite::Row<'_>) -> rusqlite::Result<ConnectionRecord> {
let tags_json: String = row.get(8)?;
let tags: Vec<String> = serde_json::from_str(&tags_json).unwrap_or_default();
Ok(ConnectionRecord {
id: row.get(0)?,
name: row.get(1)?,
@ -448,7 +448,7 @@ fn map_connection_row(row: &rusqlite::Row<'_>) -> rusqlite::Result<ConnectionRec
group_id: row.get::<_, Option<i64>>(5)?,
credential_id: row.get::<_, Option<i64>>(6)?,
color: row.get::<_, Option<String>>(7)?,
tags,
tags: row.get(8)?,
notes: row.get::<_, Option<String>>(9)?,
options: row.get(10)?,
sort_order: row.get(11)?,
@ -556,10 +556,12 @@ mod tests {
}
#[test]
fn tags_serialised_as_vec() {
fn tags_serialised_as_json_array() {
let svc = make_service();
let rec = svc.create_connection(default_input("tagged")).unwrap();
assert_eq!(rec.tags, vec!["linux", "prod"]);
// tags should be a valid JSON array
let parsed: Vec<String> = serde_json::from_str(&rec.tags).unwrap();
assert_eq!(parsed, vec!["linux", "prod"]);
}
#[test]
@ -627,7 +629,8 @@ mod tests {
.unwrap();
let updated = svc.get_connection(rec.id).unwrap();
assert_eq!(updated.tags, vec!["windows"]);
let parsed: Vec<String> = serde_json::from_str(&updated.tags).unwrap();
assert_eq!(parsed, vec!["windows"]);
}
#[test]

View File

@ -87,14 +87,8 @@ pub fn run() {
.plugin(tauri_plugin_shell::init())
.manage(app_state)
.setup(|app| {
#[cfg(debug_assertions)]
{
use tauri::Manager;
if let Some(window) = app.get_webview_window("main") {
window.open_devtools();
}
}
let _ = app;
if let Some(window) = app.get_webview_window("main") { let _ = window.open_devtools(); }
Ok(())
})
.invoke_handler(tauri::generate_handler![