tsk-69: repo module changes
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
pub mod service;
|
||||||
|
|
||||||
pub mod user {
|
pub mod user {
|
||||||
use sqlx::Row;
|
use sqlx::Row;
|
||||||
|
|
||||||
@@ -195,56 +197,3 @@ pub mod salt {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub mod service {
|
|
||||||
use sqlx::Row;
|
|
||||||
|
|
||||||
pub async fn valid_passphrase(
|
|
||||||
pool: &sqlx::PgPool,
|
|
||||||
passphrase: &String,
|
|
||||||
) -> Result<(uuid::Uuid, String, time::OffsetDateTime), sqlx::Error> {
|
|
||||||
let result = sqlx::query(
|
|
||||||
r#"
|
|
||||||
SELECT id, username, date_created FROM "passphrase" WHERE passphrase = $1
|
|
||||||
"#,
|
|
||||||
)
|
|
||||||
.bind(passphrase)
|
|
||||||
.fetch_one(pool)
|
|
||||||
.await;
|
|
||||||
|
|
||||||
match result {
|
|
||||||
Ok(row) => {
|
|
||||||
let id: uuid::Uuid = row.try_get("id")?;
|
|
||||||
let username: String = row.try_get("username")?;
|
|
||||||
let date_created: Option<time::OffsetDateTime> = row.try_get("date_created")?;
|
|
||||||
|
|
||||||
Ok((id, username, date_created.unwrap()))
|
|
||||||
}
|
|
||||||
Err(err) => Err(err),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub async fn get_passphrase(
|
|
||||||
pool: &sqlx::PgPool,
|
|
||||||
id: &uuid::Uuid,
|
|
||||||
) -> Result<(String, String, time::OffsetDateTime), sqlx::Error> {
|
|
||||||
let result = sqlx::query(
|
|
||||||
r#"
|
|
||||||
SELECT username, passphrase, date_created FROM "passphrase" WHERE id = $1;
|
|
||||||
"#,
|
|
||||||
)
|
|
||||||
.bind(id)
|
|
||||||
.fetch_one(pool)
|
|
||||||
.await;
|
|
||||||
|
|
||||||
match result {
|
|
||||||
Ok(row) => {
|
|
||||||
let username: String = row.try_get("username")?;
|
|
||||||
let passphrase: String = row.try_get("passphrase")?;
|
|
||||||
let date_created: time::OffsetDateTime = row.try_get("date_created")?;
|
|
||||||
Ok((username, passphrase, date_created))
|
|
||||||
}
|
|
||||||
Err(err) => Err(err),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
50
src/repo/service.rs
Normal file
50
src/repo/service.rs
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
use sqlx::Row;
|
||||||
|
|
||||||
|
pub async fn valid_passphrase(
|
||||||
|
pool: &sqlx::PgPool,
|
||||||
|
passphrase: &String,
|
||||||
|
) -> Result<(uuid::Uuid, String, time::OffsetDateTime), sqlx::Error> {
|
||||||
|
let result = sqlx::query(
|
||||||
|
r#"
|
||||||
|
SELECT id, username, date_created FROM "passphrase" WHERE passphrase = $1
|
||||||
|
"#,
|
||||||
|
)
|
||||||
|
.bind(passphrase)
|
||||||
|
.fetch_one(pool)
|
||||||
|
.await;
|
||||||
|
|
||||||
|
match result {
|
||||||
|
Ok(row) => {
|
||||||
|
let id: uuid::Uuid = row.try_get("id")?;
|
||||||
|
let username: String = row.try_get("username")?;
|
||||||
|
let date_created: Option<time::OffsetDateTime> = row.try_get("date_created")?;
|
||||||
|
|
||||||
|
Ok((id, username, date_created.unwrap()))
|
||||||
|
}
|
||||||
|
Err(err) => Err(err),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub async fn get_passphrase(
|
||||||
|
pool: &sqlx::PgPool,
|
||||||
|
id: &uuid::Uuid,
|
||||||
|
) -> Result<(String, String, time::OffsetDateTime), sqlx::Error> {
|
||||||
|
let result = sqlx::query(
|
||||||
|
r#"
|
||||||
|
SELECT username, passphrase, date_created FROM "passphrase" WHERE id = $1;
|
||||||
|
"#,
|
||||||
|
)
|
||||||
|
.bind(id)
|
||||||
|
.fetch_one(pool)
|
||||||
|
.await;
|
||||||
|
|
||||||
|
match result {
|
||||||
|
Ok(row) => {
|
||||||
|
let username: String = row.try_get("username")?;
|
||||||
|
let passphrase: String = row.try_get("passphrase")?;
|
||||||
|
let date_created: time::OffsetDateTime = row.try_get("date_created")?;
|
||||||
|
Ok((username, passphrase, date_created))
|
||||||
|
}
|
||||||
|
Err(err) => Err(err),
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user