feat(auth): add profile update and password change endpoints; enhance provider list handling
This commit is contained in:
@@ -56,6 +56,13 @@ def get_user_from_api_token() -> dict[str, Any] | None:
|
||||
|
||||
user = User.find_by_api_token(api_token)
|
||||
if user and user.is_active:
|
||||
# Build comprehensive providers list
|
||||
providers = [p.provider for p in user.oauth_providers]
|
||||
if user.password_hash:
|
||||
providers.append("password")
|
||||
if user.api_token:
|
||||
providers.append("api_token")
|
||||
|
||||
return {
|
||||
"id": str(user.id),
|
||||
"email": user.email,
|
||||
@@ -64,8 +71,7 @@ def get_user_from_api_token() -> dict[str, Any] | None:
|
||||
"role": user.role,
|
||||
"is_active": user.is_active,
|
||||
"provider": "api_token",
|
||||
"providers": [p.provider for p in user.oauth_providers]
|
||||
+ ["api_token"],
|
||||
"providers": providers,
|
||||
"plan": user.plan.to_dict() if user.plan else None,
|
||||
"credits": user.credits,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user