Labrinth ID cleanup (#3681)

* Put all ID types in the labrinth::models::ids, and reduce code duplication with them

* Rewrite labrinth::database::models::ids and rename most DB interface ID structs to be prefixed with DB

* Run sqlx prepare

---------

Co-authored-by: Alejandro González <7822554+AlexTMjugador@users.noreply.github.com>
This commit is contained in:
Josiah Glosson
2025-05-22 03:34:36 -05:00
committed by GitHub
parent c6022ad977
commit 9e527ff141
111 changed files with 1477 additions and 1965 deletions

View File

@@ -17,37 +17,37 @@ const FLOWS_NAMESPACE: &str = "flows";
#[serde(tag = "type", rename_all = "snake_case")]
pub enum Flow {
OAuth {
user_id: Option<UserId>,
user_id: Option<DBUserId>,
url: String,
provider: AuthProvider,
},
Login2FA {
user_id: UserId,
user_id: DBUserId,
},
Initialize2FA {
user_id: UserId,
user_id: DBUserId,
secret: String,
},
ForgotPassword {
user_id: UserId,
user_id: DBUserId,
},
ConfirmEmail {
user_id: UserId,
user_id: DBUserId,
confirm_email: String,
},
MinecraftAuth,
InitOAuthAppApproval {
user_id: UserId,
client_id: OAuthClientId,
existing_authorization_id: Option<OAuthClientAuthorizationId>,
user_id: DBUserId,
client_id: DBOAuthClientId,
existing_authorization_id: Option<DBOAuthClientAuthorizationId>,
scopes: Scopes,
redirect_uris: OAuthRedirectUris,
state: Option<String>,
},
OAuthAuthorizationCodeSupplied {
user_id: UserId,
client_id: OAuthClientId,
authorization_id: OAuthClientAuthorizationId,
user_id: DBUserId,
client_id: DBOAuthClientId,
authorization_id: DBOAuthClientAuthorizationId,
scopes: Scopes,
original_redirect_uri: Option<String>, // Needed for https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.3
},