use serde::Deserialize; #[derive(Deserialize)] pub struct WebApiLoginRequest { pub email: String, pub password: String, } #[derive(Deserialize)] pub struct WebApiPutUserRequest { pub password: String, } #[derive(Deserialize)] pub struct WebApiChangePasswordRequest { pub new_password: String, pub confirm_password: String, } #[derive(Deserialize)] pub struct WebApiAdminCreateUserRequest { pub email: String, pub password: String, pub require_email_verification: bool, } #[derive(Deserialize)] pub struct WebApiInviteUserRequest { pub email: String, } #[derive(Deserialize)] pub struct WebApiCreateSSOProviderRequest { #[serde(rename = "type")] pub type_: String, pub metadata_url: String, } #[derive(Deserialize)] pub struct WebAppOAuthLoginRequest { // Use for Login pub refresh_token: Option, // Use actions (with params) after login pub action: Option, pub workspace_invitation_id: Option, pub workspace_name: Option, pub workspace_icon: Option, pub user_name: Option, pub user_icon: Option, pub workspace_member_count: Option, // Errors pub error: Option, pub error_code: Option, pub error_description: Option, } #[derive(Deserialize)] #[serde(rename_all = "snake_case")] pub enum OAuthLoginAction { AcceptWorkspaceInvite, }