Aventuras/src-tauri/src/lib.rs
2026-01-07 06:25:31 -07:00

69 lines
2.3 KiB
Rust

use tauri_plugin_sql::{Migration, MigrationKind};
mod sync;
use sync::commands::{
clear_received_stories, get_received_stories, start_sync_server, stop_sync_server,
sync_connect, sync_pull_story, sync_push_story,
};
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
let migrations = vec![
Migration {
version: 1,
description: "create_initial_tables",
sql: include_str!("../migrations/001_initial.sql"),
kind: MigrationKind::Up,
},
Migration {
version: 2,
description: "add_chapters_checkpoints_mode",
sql: include_str!("../migrations/002_chapters_checkpoints.sql"),
kind: MigrationKind::Up,
},
Migration {
version: 3,
description: "add_entries_lorebook",
sql: include_str!("../migrations/003_entries.sql"),
kind: MigrationKind::Up,
},
Migration {
version: 4,
description: "add_entry_lore_blacklist",
sql: include_str!("../migrations/004_entry_lore_blacklist.sql"),
kind: MigrationKind::Up,
},
Migration {
version: 5,
description: "add_story_beats_resolved_at",
sql: include_str!("../migrations/005_story_beats_resolved_at.sql"),
kind: MigrationKind::Up,
},
];
tauri::Builder::default()
.manage(sync::SyncState::default())
.plugin(tauri_plugin_opener::init())
.plugin(
tauri_plugin_sql::Builder::default()
.add_migrations("sqlite:aventura.db", migrations)
.build(),
)
.plugin(tauri_plugin_fs::init())
.plugin(tauri_plugin_dialog::init())
.plugin(tauri_plugin_updater::Builder::new().build())
.plugin(tauri_plugin_process::init())
.plugin(tauri_plugin_http::init())
.invoke_handler(tauri::generate_handler![
start_sync_server,
stop_sync_server,
get_received_stories,
clear_received_stories,
sync_connect,
sync_pull_story,
sync_push_story,
])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}