store/app/Services/Setting/ProfileService.php

31 lines
877 B
PHP

<?php
namespace App\Services\Setting;
use Illuminate\Support\Facades\DB;
class ProfileService
{
public function update(array $validated): void
{
$user = auth()->user();
DB::transaction(function () use ($user, $validated): void {
$user->email = $validated['email'];
$user->username = $validated['username'];
$user->save();
$user->profile()->updateOrCreate(
['user_id' => $user->id],
[
'full_name' => $validated['full_name'],
'phone_number' => $validated['phone_number'] ?? null,
'gender' => $validated['gender'] ?? null,
'birth_date' => $validated['birth_date'] ?? null,
'address' => $validated['address'] ?? null,
],
);
});
}
}