admin/users: add new user
This commit is contained in:
parent
85facf7dc6
commit
306f2a60c4
8 changed files with 167 additions and 5 deletions
|
|
@ -43,15 +43,43 @@ impl User {
|
|||
is_admin: bool,
|
||||
username: &Username,
|
||||
password: Option<&Password>,
|
||||
) -> Result<Option<()>, Error> {
|
||||
Ok(DatabaseUsers::insert(
|
||||
) -> Result<(), Error> {
|
||||
DatabaseUsers::insert(
|
||||
conn,
|
||||
&id.0,
|
||||
is_admin,
|
||||
username.as_ref(),
|
||||
password.map(|p| p.hash()),
|
||||
)
|
||||
.await?)
|
||||
.await
|
||||
.map_err(|e| match e {
|
||||
DatabaseError::UniqueConstraintPrimaryKey => Error::IdNotAvailable(id.to_string()),
|
||||
DatabaseError::UniqueConstraint(column) => {
|
||||
if &column == "username" {
|
||||
Error::UsernameNotAvailable(username.into())
|
||||
} else {
|
||||
Error::ColumnNotAvailable(column)
|
||||
}
|
||||
}
|
||||
_ => e.into(),
|
||||
})?;
|
||||
|
||||
Ok(())
|
||||
|
||||
// DatabaseUsers::set_username(conn, self.id.as_ref(), username.as_ref())
|
||||
// .await
|
||||
// .map_err(|e| match e {
|
||||
// DatabaseError::UniqueConstraint(column) => {
|
||||
// if &column == "username" {
|
||||
// Error::UsernameNotAvailable(username.into())
|
||||
// } else {
|
||||
// Error::ColumnNotAvailable(column)
|
||||
// }
|
||||
// }
|
||||
// _ => e.into(),
|
||||
// })?;
|
||||
//
|
||||
// Ok(())
|
||||
}
|
||||
|
||||
pub async fn get_by_id(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue