nerdblood
nerdblood@programming.dev
Joined
11 posts • 38 comments
Sqlbolt has been good so far, just started myself
I managed to get this working, but there has to be a better way. How else could I write this?
pub async fn insert_or_return_user(
db: &DbConn,
partial_user: Auth0UserPart,
) -> Result {
let user = users::ActiveModel {
email: Set(partial_user.email.to_owned()),
email_verified: Set(partial_user.email_verified.to_owned()),
auth0_sub: Set(partial_user.sub.to_owned()),
..Default::default()
};
let result = user.clone().insert(db).await;
match result {
Ok(u) => {
println!("{u:#?}");
Ok(u.try_into_model().unwrap() as UsersModel)
}
Err(error) => {
let user = Users::find()
.filter(users::Column::Auth0Sub.eq(&partial_user.sub))
.one(db)
.await?;
Ok(user.unwrap() as UsersModel)
}
}
}
I got the response wrong, here’s what I’m using that isn’t working:
enum NationResponse {
Nation(Nation),
People(Vec),
}
Why the heck can’t I edit the original post after a comment is made?