diff options
Diffstat (limited to 'src/app.rs')
-rw-r--r-- | src/app.rs | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/src/app.rs b/src/app.rs deleted file mode 100644 index b7d136e..0000000 --- a/src/app.rs +++ /dev/null @@ -1,41 +0,0 @@ -// yt - A fully featured command line YouTube client -// -// Copyright (C) 2024 Benedikt Peetz <benedikt.peetz@b-peetz.de> -// SPDX-License-Identifier: GPL-3.0-or-later -// -// This file is part of Yt. -// -// You should have received a copy of the License along with this program. -// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>. - -use anyhow::{Context, Result}; -use sqlx::{query, sqlite::SqliteConnectOptions, SqlitePool}; - -use crate::config::Config; - -pub struct App { - pub database: SqlitePool, - pub config: Config, -} - -impl App { - pub async fn new(config: Config) -> Result<Self> { - let options = SqliteConnectOptions::new() - .filename(&config.paths.database_path) - .optimize_on_close(true, None) - .create_if_missing(true); - - let pool = SqlitePool::connect_with(options) - .await - .context("Failed to connect to database!")?; - - query(include_str!("storage/video_database/schema.sql")) - .execute(&pool) - .await?; - - Ok(App { - database: pool, - config, - }) - } -} |