api person create & update & add family

This commit is contained in:
Muhammad Fajar
2022-11-01 14:41:59 +07:00
parent a34fb34180
commit ba0023544f
10 changed files with 345 additions and 132 deletions

View File

@@ -29,6 +29,16 @@ class AuthController extends Controller
'otp' => rand(1000, 9999),
'otp_created_at' => now()
]);
$person = Person::query()->create([
'owner_user_id' => $user->id,
'email' => $request->phone_or_email,
'created_by' => $user->id,
]);
User::query()->find($user->id)->update([
'person_id' => $person->id
]);
} else {
$user = User::updateOrCreate([
'phone' => $request->phone_or_email
@@ -37,6 +47,16 @@ class AuthController extends Controller
'otp' => rand(1000, 9999),
'otp_created_at' => now()
]);
$person = Person::query()->create([
'owner_user_id' => $user->id,
'phone' => $request->phone_or_email,
'created_by' => $user->id,
]);
User::query()->find($user->id)->update([
'person_id' => $person->id
]);
}
if (!$user) {
@@ -57,6 +77,7 @@ class AuthController extends Controller
return response()->json([
'message' => 'OTP Terkirim',
'data' => [
'otp' => $user->otp,
'otp_valid_until' => $user->otp_created_at->addMinutes(config('linksehat.otp_valid_minutes'))
]
]);
@@ -181,16 +202,11 @@ class AuthController extends Controller
return Socialite::driver($provider)->redirect();
}
public function handleSocialLoginCallback(Request $request, $provider)
public function handleSocialLoginCallback($provider)
{
// get the provider's user. (In the provider server)
$providerUser = Socialite::driver($provider)->user();
$providerUser = Socialite::driver($provider)->stateless()->user();
$user = User::query()->firstWhere('email', $providerUser->email);
// check if access token exists etc..
// search for a user in our server with the specified provider id and provider name
$user = User::where('email', $providerUser->email)->first();
// // if there is no record with these data, create a new user
if (!$user) {
$user = User::query()->create([
'email' => $providerUser->email,
@@ -200,6 +216,7 @@ class AuthController extends Controller
'owner_user_id' => $user->id,
'name' => $providerUser->name,
'email' => $providerUser->email,
'created_by' => $user->id,
]);
User::query()->find($user->id)->update([
@@ -207,7 +224,6 @@ class AuthController extends Controller
]);
}
// // return the token for usage
return response([
'message' => 'Selamat Datang',
'user' => UserProfileResource::make($user),