From 9458c7714cb88f13b506c17758285924fee2d7e9 Mon Sep 17 00:00:00 2001 From: Fu Zi Xiang Date: Fri, 13 Oct 2023 15:50:43 +0800 Subject: [PATCH] feat: generate link for user --- admin_frontend/src/web_api.rs | 23 +++++++- admin_frontend/templates/user_details.html | 64 ++++++++++++++++++---- 2 files changed, 76 insertions(+), 11 deletions(-) diff --git a/admin_frontend/src/web_api.rs b/admin_frontend/src/web_api.rs index 361df18e..abaaf3b9 100644 --- a/admin_frontend/src/web_api.rs +++ b/admin_frontend/src/web_api.rs @@ -9,7 +9,9 @@ use axum::Json; use axum::{extract::State, routing::post, Router}; use axum_extra::extract::cookie::Cookie; use axum_extra::extract::CookieJar; -use gotrue::params::{AdminDeleteUserParams, AdminUserParams}; +use gotrue::params::{ + AdminDeleteUserParams, AdminUserParams, GenerateLinkParams, GenerateLinkResponse, +}; use gotrue_entity::User; pub fn router() -> Router { @@ -18,6 +20,25 @@ pub fn router() -> Router { .route("/login", post(login_handler)) .route("/logout", post(logout_handler)) .route("/user/:param", post(post_user_handler).delete(delete_user_handler)) + .route("/user/:email/generate-link", post(post_user_generate_link_handler)) +} + +pub async fn post_user_generate_link_handler( + State(state): State, + session: UserSession, + Path(email): Path, +) -> Result, WebApiError<'static>> { + let res = state + .gotrue_client + .generate_link( + &session.access_token, + &GenerateLinkParams { + email, + ..Default::default() + }, + ) + .await?; + Ok(res.into()) } pub async fn delete_user_handler( diff --git a/admin_frontend/templates/user_details.html b/admin_frontend/templates/user_details.html index b68f775d..bd3f8e94 100644 --- a/admin_frontend/templates/user_details.html +++ b/admin_frontend/templates/user_details.html @@ -1,13 +1,12 @@ -

User Detail

-

- {{ user.email|escape }} - - -

+ Back to User List +

User Detail

+

{{ user.email|escape }}

+ +
+
+ + + +
+

Phone: {{ user.phone|escape }}

Email Confirmed At: {{ user.email_confirmed_at|default("-") }}

Phone Confirmed At: {{ user.phone_confirmed_at|default("-")|escape }}

@@ -24,21 +29,18 @@

Created At: {{ user.created_at|escape }}

Updated At: {{ user.updated_at|escape }}

- Back to User List -