Indeed it does haha, thanks
I’m new to multithreaded programming. How would some other thread create it? Like what’s the real-world scenario?
I think I had that in a few attempts, I can’t remember why I removed it. Thanks for pointing this out.
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)
}
}
}
It should be wrapped in an array, not an object. Then it’s valid. The problem was that I was trying to use an enum.
Yes, that’s what I meant, but no I can’t edit it :/
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?
Oh man, I didn’t know debug_handler existed. Sure enough I had a missing derived attribute… not sure how but Serde serialize and deserialize were missing, so when I was trying to return Ok(Json(army)) it was failing. Thanks so much!
Thanks for the reply! I don’t know what you mean by extensions, but the state is literally just the DB connection:
struct AppState { conn: DatabaseConnection, }
This is really good to hear, I don’t think I’m as far off base as I thought; maybe I’ve been over thinking it a bit. And thanks for that refactoring resource. I’m very big into making my TS code clean and maintainable. I’m just thrown off a bit with the new paradigm.
Eh , its probably just temporary. People just had apps they’ve used for 10 years yanked away and it’s jaring how it all went down. Of course people are going to want to talk about it.
Sqlbolt has been good so far, just started myself