Add subcription feature
This commit is contained in:
@@ -182,4 +182,82 @@ class AuthServiceClient(BaseServiceClient):
|
||||
email=user_data.get("email"),
|
||||
error=str(e)
|
||||
)
|
||||
raise
|
||||
raise
|
||||
|
||||
async def get_user_details(self, user_id: str) -> Optional[Dict[str, Any]]:
|
||||
"""
|
||||
Get detailed user information including payment details
|
||||
|
||||
Args:
|
||||
user_id: User ID to fetch details for
|
||||
|
||||
Returns:
|
||||
Dict with user details including:
|
||||
- id, email, full_name, is_active, is_verified
|
||||
- phone, language, timezone, role
|
||||
- payment_customer_id, default_payment_method_id
|
||||
- created_at, last_login, etc.
|
||||
Returns None if user not found or request fails
|
||||
"""
|
||||
try:
|
||||
logger.info("Fetching user details from auth service",
|
||||
user_id=user_id)
|
||||
|
||||
result = await self.get(f"/users/{user_id}")
|
||||
|
||||
if result and result.get("id"):
|
||||
logger.info("Successfully retrieved user details",
|
||||
user_id=user_id,
|
||||
email=result.get("email"),
|
||||
has_payment_info="payment_customer_id" in result)
|
||||
return result
|
||||
else:
|
||||
logger.warning("No user details found",
|
||||
user_id=user_id)
|
||||
return None
|
||||
|
||||
except Exception as e:
|
||||
logger.error("Failed to get user details from auth service",
|
||||
user_id=user_id,
|
||||
error=str(e))
|
||||
return None
|
||||
|
||||
async def update_user_tenant_id(self, user_id: str, tenant_id: str) -> bool:
|
||||
"""
|
||||
Update the user's tenant_id after tenant registration
|
||||
|
||||
Args:
|
||||
user_id: User ID to update
|
||||
tenant_id: Tenant ID to link to the user
|
||||
|
||||
Returns:
|
||||
True if successful, False otherwise
|
||||
"""
|
||||
try:
|
||||
logger.info("Updating user tenant_id",
|
||||
user_id=user_id,
|
||||
tenant_id=tenant_id)
|
||||
|
||||
result = await self.patch(
|
||||
f"/users/{user_id}/tenant",
|
||||
{"tenant_id": tenant_id}
|
||||
)
|
||||
|
||||
if result:
|
||||
logger.info("Successfully updated user tenant_id",
|
||||
user_id=user_id,
|
||||
tenant_id=tenant_id)
|
||||
return True
|
||||
else:
|
||||
logger.warning("Failed to update user tenant_id",
|
||||
user_id=user_id,
|
||||
tenant_id=tenant_id)
|
||||
return False
|
||||
|
||||
except Exception as e:
|
||||
logger.error("Error updating user tenant_id",
|
||||
user_id=user_id,
|
||||
tenant_id=tenant_id,
|
||||
error=str(e))
|
||||
return False
|
||||
|
||||
|
||||
Reference in New Issue
Block a user