email thingsboard

This commit is contained in:
kshitige
2025-04-23 19:43:24 +05:30
parent d07dc2fd6a
commit 494d7b7ea5
2 changed files with 129 additions and 17 deletions

View File

@@ -404,6 +404,78 @@ class UsersController extends Controller
// public function activate(Request $request, $id)
// {
// Log::info('Full Request URL: ' . $request->fullUrl());
// try {
// $user = User::find($id);
// if (!$user) {
// Log::error("User not found for ID: {$id}");
// return response()->json([
// 'status' => false,
// 'message' => 'User not found.'
// ], 404);
// }
// $token = $request->query('token');
// if (!$token) {
// Log::error("Token missing for User ID: {$id}");
// return response()->json([
// 'status' => false,
// 'message' => 'Invalid activation link.'
// ], 401);
// }
// // Update password in Laravel
// $user->password = Hash::make('password');
// $user->save();
// Log::info("Password updated for User ID: {$id} in Laravel.");
// // Activate user in ThingsBoard
// $activateToken = $token;
// $password = 'password';
// try {
// $this->adminService->activateUser($user, $password, $activateToken);
// Log::info("User ID: {$id} activated successfully in ThingsBoard.");
// return response()->json([
// 'status' => true,
// 'message' => 'User activated and password updated successfully!',
// 'user_id' => $user->id
// ], 200);
// } catch (\Exception $e) {
// Log::error("ThingsBoard activation failed: " . $e->getMessage());
// // If token is invalid or user is already activated, skip activation
// if (str_contains($e->getMessage(), 'Unable to find user credentials')) {
// return response()->json([
// 'status' => true,
// 'message' => 'User is already activated. Password updated successfully.'
// ], 200);
// }
// return response()->json([
// 'status' => false,
// 'message' => 'Failed to activate user in ThingsBoard.',
// 'error' => $e->getMessage()
// ], 500);
// }
// } catch (\Exception $e) {
// Log::error("Error activating user ID: {$id}. Exception: " . $e->getMessage());
// return response()->json([
// 'status' => false,
// 'message' => 'An error occurred. Please try again later.',
// 'error' => $e->getMessage()
// ], 500);
// }
// }
public function activate(Request $request, $id)
{
Log::info('Full Request URL: ' . $request->fullUrl());
@@ -433,28 +505,31 @@ class UsersController extends Controller
$user->save();
Log::info("Password updated for User ID: {$id} in Laravel.");
// Activate user in ThingsBoard
$activateToken = $token;
$password = 'password';
// Dummy email for ThingsBoardg
// $dummyEmail = 'dummy+' . $user->id . '@example.com';
try {
$this->adminService->activateUser($user, $password, $activateToken);
$this->adminService->activateUser($user, 'password', $token);
Log::info("User ID: {$id} activated successfully in ThingsBoard.");
return response()->json([
'status' => true,
'message' => 'User activated and password updated successfully!',
'user_id' => $user->id
'user_id' => $user->id,
'real_email' => $user->email,
// 'tb_email' => $dummyEmail
], 200);
} catch (\Exception $e) {
Log::error("ThingsBoard activation failed: " . $e->getMessage());
// If token is invalid or user is already activated, skip activation
if (str_contains($e->getMessage(), 'Unable to find user credentials')) {
return response()->json([
'status' => true,
'message' => 'User is already activated. Password updated successfully.'
'message' => 'User is already activated. Password updated successfully.',
'user_id' => $user->id,
'real_email' => $user->email,
// 'tb_email' => $dummyEmail
], 200);
}
@@ -479,7 +554,6 @@ class UsersController extends Controller
// public function autoLogin(Request $request)
// {
// $request->validate([