From f4e17d4aec6b61193268c5e0611e9487ff49d92d Mon Sep 17 00:00:00 2001 From: Tb Fajri Date: Mon, 6 Nov 2023 15:13:41 +0700 Subject: [PATCH] update API profile member --- .../Http/Controllers/Api/AuthController.php | 2 +- .../Controllers/Api/ProfileController.php | 8 +- .../Transformers/User/ShowProfileResource.php | 112 ++++++++++++++++++ .../{ => User}/UserProfileResource.php | 2 +- 4 files changed, 117 insertions(+), 7 deletions(-) create mode 100644 Modules/Linksehat/Transformers/User/ShowProfileResource.php rename Modules/Linksehat/Transformers/{ => User}/UserProfileResource.php (97%) diff --git a/Modules/Linksehat/Http/Controllers/Api/AuthController.php b/Modules/Linksehat/Http/Controllers/Api/AuthController.php index f019a80e..8aff0150 100644 --- a/Modules/Linksehat/Http/Controllers/Api/AuthController.php +++ b/Modules/Linksehat/Http/Controllers/Api/AuthController.php @@ -10,7 +10,7 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Hash; use Laravel\Socialite\Facades\Socialite; -use Modules\Linksehat\Transformers\UserProfileResource; +use Modules\Linksehat\Transformers\User\UserProfileResource; use Symfony\Component\HttpFoundation\Response; use Illuminate\Support\Facades\Http; use Validator; diff --git a/Modules/Linksehat/Http/Controllers/Api/ProfileController.php b/Modules/Linksehat/Http/Controllers/Api/ProfileController.php index 535719d4..e5b3bcb5 100644 --- a/Modules/Linksehat/Http/Controllers/Api/ProfileController.php +++ b/Modules/Linksehat/Http/Controllers/Api/ProfileController.php @@ -8,7 +8,7 @@ use Illuminate\Contracts\Support\Renderable; use Illuminate\Http\Request; use Illuminate\Routing\Controller; use Illuminate\Support\Facades\Auth; -use Modules\Linksehat\Transformers\UserProfileResource; +use Modules\Linksehat\Transformers\User\ShowProfileResource; class ProfileController extends Controller { @@ -18,11 +18,9 @@ class ProfileController extends Controller */ public function index(Request $request, $id) { - $user = User::where('nID', $id); + $user = User::with(['detail'])->where('nID', $id)->get()->first(); - dd($user); - - return Helper::responseJson(new UserProfileResource($user)); + return Helper::responseJson(new ShowProfileResource($user)); } /** diff --git a/Modules/Linksehat/Transformers/User/ShowProfileResource.php b/Modules/Linksehat/Transformers/User/ShowProfileResource.php new file mode 100644 index 00000000..47eaef1a --- /dev/null +++ b/Modules/Linksehat/Transformers/User/ShowProfileResource.php @@ -0,0 +1,112 @@ +detail->nIDJenisKelamin == 1 ? 'https://linksehat.dev/assets/img/users/male-avatar.png' : 'https://linksehat.dev/assets/img/users/male-avatar.png'; + $avatar = $this->detail->sImage ?? $urlAvatarDefault; + + // Goldar + switch ($this->detail->nIDGolonganDarah) { + case 1: + $goldar = 'A'; + break; + case 2: + $goldar = 'B'; + break; + case 3: + $goldar = 'AB'; + break; + case 4: + $goldar = 'O'; + break; + + default: + $goldar = '-'; + break; + } + + // Marital Status + switch ($this->detail->sMartialStatus) { + case "1": + $maritalStatus = 'Single'; + break; + case "2": + $maritalStatus = 'Merried'; + break; + case "3": + $maritalStatus = 'Widowed'; + break; + default: + $maritalStatus = '-'; + break; + } + + // Hubungan Keluarga + switch ($this->detail->nIDHubunganKeluarga) { + case 1: + $relationship = 'Father'; + break; + case 2: + $relationship = 'Mother'; + break; + case 3: + $relationship = 'Husband'; + break; + case 4: + $relationship = 'Wife'; + break; + case 5: + $relationship = 'Child'; + break; + case 6: + $relationship = 'Grandmother'; + break; + case 7: + $relationship = 'Grandfather'; + break; + case 8: + $relationship = 'Sibling'; + break; + default: + $relationship = '-'; + break; + } + + return [ + 'id' => $this->nID, + 'first_name' => $this->sFirstName, + 'last_name' => $this->sLastName, + 'date_of_birth' => $this->detail->dTanggalLahir, + 'avatar' => $avatar, + 'gender' => $this->detail->nIDJenisKelamin == 1 ? 'Male' : 'Female', + 'phone' => $this->sPhone, + 'email' => $this->sEmail, + 'blood_type' => $goldar, + 'marital_status' => $maritalStatus, + 'relationship' => $relationship, + 'weight' => $this->detail->sWeight, + 'height' => $this->detail->sHeight, + ]; + } +} diff --git a/Modules/Linksehat/Transformers/UserProfileResource.php b/Modules/Linksehat/Transformers/User/UserProfileResource.php similarity index 97% rename from Modules/Linksehat/Transformers/UserProfileResource.php rename to Modules/Linksehat/Transformers/User/UserProfileResource.php index 6ed9bafe..780b2c1b 100644 --- a/Modules/Linksehat/Transformers/UserProfileResource.php +++ b/Modules/Linksehat/Transformers/User/UserProfileResource.php @@ -1,6 +1,6 @@