feat: added users command line.
This commit is contained in:
1 parent
fb26468175
commit
ded31da7a3
5 files changed
+239
-75
No files matched your search
+25
-2
@@ -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);
|
||||
}
|
||||
Reference in new issue
Block a user