database (user table): move to `types` from `database`
This commit is contained in:
parent
6ae8d6fa9f
commit
b2a4b84f6d
|
@ -607,6 +607,7 @@ name = "homedisk-database"
|
|||
version = "0.0.0"
|
||||
dependencies = [
|
||||
"futures-util",
|
||||
"homedisk-types",
|
||||
"log",
|
||||
"rust_utilities",
|
||||
"serde",
|
||||
|
@ -639,7 +640,9 @@ dependencies = [
|
|||
"anyhow",
|
||||
"axum",
|
||||
"dirs",
|
||||
"rust_utilities",
|
||||
"serde",
|
||||
"sqlx",
|
||||
"thiserror",
|
||||
"toml",
|
||||
"uuid",
|
||||
|
|
|
@ -10,6 +10,7 @@ serde = { version = "1.0.136", features = ["derive"] }
|
|||
sqlx = { version = "0.5.13", features = ["runtime-tokio-rustls", "sqlite"] }
|
||||
uuid = { version = "1.0.0", features = ["v5"] }
|
||||
rust_utilities = { version = "0.2.0", features = ["sha"] }
|
||||
homedisk-types = { path = "../types", features = ["database"] }
|
||||
|
||||
[dev-dependencies]
|
||||
tokio = { version = "1.17.0", features = ["full"] }
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
mod error;
|
||||
mod sqlite;
|
||||
mod user;
|
||||
|
||||
pub use {error::*, sqlite::*, user::*};
|
||||
pub use homedisk_types::database::User;
|
||||
pub use {error::*, sqlite::*};
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
use futures_util::TryStreamExt;
|
||||
use log::debug;
|
||||
use sqlx::{sqlite::SqliteQueryResult, Executor, Row, SqlitePool};
|
||||
use user::User;
|
||||
|
||||
use super::{user, Error};
|
||||
use super::{Error, User};
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct Database {
|
||||
|
@ -32,7 +31,7 @@ impl Database {
|
|||
/// let user = User::new("username", "password");
|
||||
/// db.create_user(&user).await?;
|
||||
/// ```
|
||||
pub async fn create_user(&self, user: &user::User) -> Result<SqliteQueryResult, Error> {
|
||||
pub async fn create_user(&self, user: &User) -> Result<SqliteQueryResult, Error> {
|
||||
debug!("creating user - {}", user.username);
|
||||
|
||||
let query = sqlx::query("INSERT INTO user (id, username, password) VALUES (?, ?, ?)")
|
||||
|
|
|
@ -5,6 +5,7 @@ edition = "2021"
|
|||
|
||||
[features]
|
||||
config = ["toml", "dirs"]
|
||||
database = ["rust_utilities", "sqlx"]
|
||||
|
||||
[dependencies]
|
||||
thiserror = "1.0.30"
|
||||
|
@ -17,3 +18,7 @@ axum = { version = "0.5.3", optional = true }
|
|||
# config
|
||||
toml = { version = "0.5.9", optional = true }
|
||||
dirs = { version = "4.0.0", optional = true }
|
||||
|
||||
# database
|
||||
rust_utilities = { version = "0.2.0", optional = true }
|
||||
sqlx = { version = "0.5.13", features = ["sqlite"], optional = true }
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
mod user;
|
||||
|
||||
pub use {user::*};
|
|
@ -1,6 +1,7 @@
|
|||
use rust_utilities::crypto::sha::{encode, Algorithm, CryptographicHash};
|
||||
use uuid::Uuid;
|
||||
|
||||
/// SQL `user` Table
|
||||
#[derive(Debug, sqlx::FromRow)]
|
||||
pub struct User {
|
||||
pub id: String,
|
||||
|
@ -14,7 +15,7 @@ impl User {
|
|||
/// This function creates a unique UUID for a user and creates a password hash using SHA-512
|
||||
/// and returns in the User type
|
||||
/// ```
|
||||
/// use homedisk_database::User;
|
||||
/// use homedisk_types::database::User;
|
||||
///
|
||||
/// let user = User::new("medzik", "SuperSecretPassword123!");
|
||||
/// ```
|
|
@ -2,3 +2,6 @@ pub mod auth;
|
|||
pub mod config;
|
||||
pub mod errors;
|
||||
pub mod macros;
|
||||
|
||||
#[cfg(feature = "database")]
|
||||
pub mod database;
|
||||
|
|
Loading…
Reference in New Issue