aboutsummaryrefslogblamecommitdiffstats
path: root/src/db.rs
blob: dd35e4d52b1fdbe705e0b04d82b400b60f6ded17 (plain) (tree)



























                                                                                                
use sqlx::sqlite::SqlitePool;

use crate::{task::Task, Result};

struct Db {
    pool: SqlitePool,
}

impl Db {
    pub async fn create_task(&self, task: Task) -> Result<i64> {
        let id = sqlx::query!(
            "insert into tasks ( name, cron, archived, description ) values ( ?1, ?2, ?3, ?4 )",
            task.name,
            task.cron,
            task.archived,
            task.description
        )
        .execute(&self.pool)
        .await?
        .last_insert_rowid();

        Ok(id)
    }

    pub async fn read_tasks(&self) -> Result<Vec<Task>> {
        todo!()
    }
}