update API profile member

This commit is contained in:
2023-11-06 15:13:41 +07:00
parent 4aa6eaa889
commit f4e17d4aec
4 changed files with 117 additions and 7 deletions

View File

@@ -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;

View File

@@ -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));
}
/**

View File

@@ -0,0 +1,112 @@
<?php
namespace Modules\Linksehat\Transformers\User;
use Illuminate\Http\Resources\Json\JsonResource;
use App\Models\OLDLMS\User;
use App\Models\OLDLMS\UserDetail;
use DB;
class ShowProfileResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request
* @return array
*/
protected $connection = 'oldlms';
public function toArray($request)
{
// Principal
$urlAvatarDefault = $this->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,
];
}
}

View File

@@ -1,6 +1,6 @@
<?php
namespace Modules\Linksehat\Transformers;
namespace Modules\Linksehat\Transformers\User;
use Illuminate\Http\Resources\Json\JsonResource;
use App\Models\OLDLMS\User;