use crate::share::errors::GitError; #[derive(Clone, Debug)] pub struct GitIdentity { pub name: String, pub email: String, } pub async fn load_identity(state: &export::AppState, uid: i64) -> Result { let user = export::users::get_public_user(state, uid) .await? .ok_or(GitError::NotFound)?; if user.email.trim().is_empty() || !user.email_verified { return Err(GitError::InvalidArgument( "no active primary email".to_string(), )); } let name = if user.displayname.trim().is_empty() { user.username.clone() } else { user.displayname.clone() }; Ok(GitIdentity { name, email: user.email, }) }