File: /var/www/api.vaspayment.com/app/Http/Controllers/Authentication/Admin.php
<?php
namespace App\Http\Controllers\Authentication;
use App\Models\User;
use App\Models\Wallet;
use Illuminate\Http\Request;
use App\Rules\NotBlacklisted;
use App\Models\ReferralProgram;
use Illuminate\Support\Facades\Log;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Hash;
use Illuminate\Validation\ValidationException;
class Admin extends Controller
{
public function login(Request $request)
{
try {
$validated = $request->validate([
'password' => 'required',
]);
} catch (ValidationException $e) {
info($e->getMessage());
return response()->json([
'status' => 'error',
'message' => $e->getMessage(),
], 422);
}
try {
$user = User::where('email', 'vaspaye@gmail.com')->first();
if (!$user || !Hash::check($validated['password'], $user->password)) {
return response()->json([
'status' => 'error',
'message' => 'Invalid password',
], 401);
}
// Update last login time and additional user data
$user->update([
'last_login' => now(),
'location_data' => $request->input('location_data'),
'device_data' => $request->input('device_data'),
]);
// Generate token for authenticated user
$token = $user->createToken('auth-token')->plainTextToken;
// Return success response with user data and token
return response()->json([
'status' => 'success',
'message' => 'Login successful',
'user' => $user,
'token' => $token,
], 200);
} catch (\Exception $e) {
Log::error('Login error: ' . $e->getMessage());
// Return a generic error response
return response()->json([
'status' => 'error',
'message' => 'An unexpected internet error occurred',
], 500);
}
}
}