Remove diesel
This commit is contained in:
10
src/app.rs
10
src/app.rs
@@ -6,7 +6,6 @@ use crate::widgets::views::View;
|
||||
use color_eyre::Result;
|
||||
use crossterm::event::Event as CrosstermEvent;
|
||||
use crossterm::event::{Event, KeyEvent};
|
||||
use diesel::{Connection, SqliteConnection};
|
||||
use rat_cursor::HasScreenCursor;
|
||||
use ratatui::{DefaultTerminal, Frame};
|
||||
use std::any::Any;
|
||||
@@ -16,7 +15,6 @@ use crate::crawler::DLSITE_IMG_FOLDER;
|
||||
|
||||
pub(crate) struct App {
|
||||
events: EventHandler,
|
||||
db_connection: SqliteConnection,
|
||||
state: AppState,
|
||||
}
|
||||
|
||||
@@ -27,24 +25,16 @@ struct AppState {
|
||||
impl App {
|
||||
pub async fn create() -> Result<Self> {
|
||||
let config = ApplicationConfig::get_config()?;
|
||||
let db_conn = Self::establish_db_connection(&config);
|
||||
let state = AppState {
|
||||
view: Some(Box::new(MainView::new())),
|
||||
};
|
||||
let app = Self {
|
||||
events: EventHandler::new(Duration::from_millis(config.basic_config.tick_rate)),
|
||||
db_connection: db_conn,
|
||||
state,
|
||||
};
|
||||
Ok(app)
|
||||
}
|
||||
|
||||
fn establish_db_connection(application_config: &ApplicationConfig) -> SqliteConnection {
|
||||
let database_url = application_config.clone().basic_config.db_path;
|
||||
SqliteConnection::establish(&database_url)
|
||||
.unwrap_or_else(|_| panic!("Error connecting to {}", database_url))
|
||||
}
|
||||
|
||||
pub async fn run(mut self, terminal: &mut DefaultTerminal) -> Result<()> {
|
||||
loop {
|
||||
terminal.draw(|frame| self.draw(frame))?;
|
||||
|
||||
Reference in New Issue
Block a user