fix login google without customers data

This commit is contained in:
Bayu Lukman Yusuf 2026-01-15 14:34:25 +07:00
parent f8af8541f6
commit 2f293642ea
4 changed files with 26 additions and 7 deletions

View File

@ -59,12 +59,7 @@ class GoogleController extends Controller
if (!$user) {
// auto register
$customer = $this->memberAuthRepository->register([
'email' => $email,
'name' => $name,
]);
$user = $customer->user;
$user = $this->memberAuthRepository->loginGoogle($name, $email, $avatar);
}

View File

@ -350,7 +350,7 @@ class MemberAuthRepository
$customer = Customer::create([
'number' => $number,
'name' => $data['name'],
'phone' => $data['phone'] ?? '08',
'phone' => $data['phone'] ?? null,
'email' => $data['email'] ?? null,
'referal' => $data['referral'] ?? null,
'company' => 'AGI',
@ -429,4 +429,26 @@ class MemberAuthRepository
throw $e;
}
}
public function loginGoogle($name, $email, $photo = null)
{
// check users table
$user = User::where('email', $email)->first();
if ($user == null) {
$role = Role::where("name","CUSTOMER")->firstOrCreate([
"name" => "CUSTOMER"
]);
$user = User::create([
'name'=> $name,
'email'=> $email,
'password' => bcrypt(str()->random(8) . uniqid()),
'photo' => $photo,
'role_id'=> $role->id, // customer
]);
}
return $user;
}
}

View File

@ -40,4 +40,5 @@ return [
'login_success' => 'Login successful',
'login_failed' => 'Login failed. Please try again.',
'password_field_required' => 'Password field is required for email login',
'google_failed' => 'Login with Google failed. Please try again.',
];

View File

@ -40,4 +40,5 @@ return [
'login_success' => 'Login berhasil',
'login_failed' => 'Login gagal. Silakan coba lagi.',
'password_field_required' => 'Kolom kata sandi diperlukan untuk login email',
'google_failed' => 'Login dengan Google gagal. Silakan coba lagi.',
];