repo module changes
This commit is contained in:
@@ -48,3 +48,49 @@ pub async fn get_passphrase(
|
|||||||
Err(err) => Err(err),
|
Err(err) => Err(err),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
pub async fn get_with_username(pool: &sqlx::PgPool, username: &String) -> Result<textsender_models::user::ServiceUser, sqlx::Error> {
|
||||||
|
match sqlx::query(
|
||||||
|
r#"SELECT id, username, passphrase, created, last_login FROM "service_user" WHERE username = $1"#
|
||||||
|
).bind(username)
|
||||||
|
.fetch_one(pool).await {
|
||||||
|
Ok(row) => {
|
||||||
|
let service_user = textsender_models::user::ServiceUser {
|
||||||
|
id: row.try_get("id")?,
|
||||||
|
username: row.try_get("username")?,
|
||||||
|
passphrase: row.try_get("passphrase")?,
|
||||||
|
created: row.try_get("created")?,
|
||||||
|
last_login: row.try_get("last_login")?,
|
||||||
|
salt_id: row.try_get("salt_id")?
|
||||||
|
};
|
||||||
|
|
||||||
|
Ok(service_user)
|
||||||
|
}
|
||||||
|
Err(err) => {
|
||||||
|
Err(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub async fn insert(pool: &sqlx::PgPool, service_user: &textsender_models::user::ServiceUser) -> Result<time::OffsetDateTime, sqlx::Error> {
|
||||||
|
match sqlx::query(
|
||||||
|
r#"INSERT INTO "service_user" (username, passphrase, salt_id)
|
||||||
|
VALUES ($1, $2, $3)
|
||||||
|
RETURNING created
|
||||||
|
"#
|
||||||
|
).bind(&service_user.username)
|
||||||
|
.bind(&service_user.passphrase)
|
||||||
|
.bind(service_user.salt_id)
|
||||||
|
.fetch_one(pool)
|
||||||
|
.await
|
||||||
|
{
|
||||||
|
Ok(row) => {
|
||||||
|
let created: time::OffsetDateTime = row.try_get("created")?;
|
||||||
|
Ok(created)
|
||||||
|
}
|
||||||
|
Err(err) => {
|
||||||
|
Err(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user