feat: added users command line.

This commit is contained in:
didier amyot committed 2022-12-04 14:31:21 -05:00
1 parent fb26468175
commit ded31da7a3
5 files changed
+239 -75

No files matched your search

+25 -2
View File
@@ -1,5 +1,28 @@
use rusqlite::Connection;
use rusqlite::{Connection, Result};
use serde::{Serialize};
fn create_user(conn: & Connection){
#[derive(Debug, Serialize)]
pub struct User {
id: i32,
name: String,
public_key: String,
}
pub fn create_user(conn: & Connection, name: &String, public_key: &String){
conn.execute("INSERT INTO users (name, public_key) VALUES (?1, ?2)",
(name, public_key)).unwrap();
}
pub fn list_users(conn: & Connection) -> Result<Vec<Result<User>>>{
let mut stmt = conn.prepare("SELECT id, name, public_key FROM users")?;
let ret: Vec<Result<User>> = stmt.query_map([], |row| {
Ok(User {
id: row.get(0)?,
name: row.get(1)?,
public_key: row.get(2)?,
})
}).unwrap().collect();
return Ok(ret);
}