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

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

@@ -0,0 +1,59 @@
<?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 UserProfileResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request
* @return array
*/
protected $connection = 'oldlms';
public function toArray($request)
{
$memberProfile = User::with('detail')->where('nIDUser', $this->nID)->get()->toArray();
$dataMemberProfile = [];
if (count($memberProfile) > 0){
foreach($memberProfile as $m){
$urlAvatarDefault = $m['detail']['nIDJenisKelamin'] == 1 ? 'https://linksehat.dev/assets/img/users/male-avatar.png' : 'https://linksehat.dev/assets/img/users/male-avatar.png';
$avatarMember = $m['detail']['sImage'] ?? $urlAvatarDefault;
$relationship = DB::connection('oldlms')->table('tm_hubungan_keluarga')->where('nID', $m['nIDHubunganKeluarga'])->first('sHubunganKeluarga');
$data = [
'id' => $m['nID'],
'name' => $m['full_name'],
'relationship' => $relationship->sHubunganKeluarga,
'avatar' => $avatarMember,
];
array_push( $dataMemberProfile, $data);
}
}
// 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;
return [
'id' => $this->nID,
'full_name' => $this->sFirstName . ' '. $this->sLastName,
'avatar' => $avatar,
'member_type' => $this->nIDUser ? 'Dependent' : 'Principal',
'member_profile' => $dataMemberProfile,
];
}
}