31 lines
626 B
Rust
31 lines
626 B
Rust
|
use rusqlite::Connection;
|
||
|
|
||
|
use crate::{types::Time, error};
|
||
|
|
||
|
pub trait Database {
|
||
|
fn entry_insert(&mut self, at: Time, note: String) -> error::Result<()>;
|
||
|
}
|
||
|
|
||
|
pub struct SqliteDatabase {
|
||
|
}
|
||
|
|
||
|
impl SqliteDatabase {
|
||
|
pub fn from_memory() -> error::Result<impl Database> {
|
||
|
Ok(SqliteDatabase {
|
||
|
})
|
||
|
}
|
||
|
|
||
|
pub fn from_path(path: &str) -> error::Result<impl Database> {
|
||
|
let conn = Connection::open(path)?;
|
||
|
|
||
|
Ok(SqliteDatabase {
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
|
||
|
impl Database for SqliteDatabase {
|
||
|
fn entry_insert(&mut self, at: Time, note: String) -> error::Result<()> {
|
||
|
unimplemented!()
|
||
|
}
|
||
|
}
|