112 lines
4.4 KiB
PHP
112 lines
4.4 KiB
PHP
<?php
|
|
|
|
namespace Modules\Linksehat\Transformers\User;
|
|
|
|
use Illuminate\Http\Resources\Json\JsonResource;
|
|
use App\Models\OLDLMS\User;
|
|
use App\Models\OLDLMS\UserDetail;
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
|
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){
|
|
|
|
$urlAvatarDefault = $this->detail->nIDJenisKelamin == 1 ? 'https://linksehat.dev/assets/img/users/male-avatar.png' : 'https://linksehat.dev/assets/img/users/male-avatar.png';
|
|
$avatarMember = $this->detail->sImage ?? $urlAvatarDefault;
|
|
$dataUser = [
|
|
'id' => $this->nID,
|
|
'name' => $this->sFirstName . ' ' . $this->sLastName,
|
|
'relationship' => 'Me',
|
|
'avatar' => $avatarMember
|
|
];
|
|
|
|
array_push($dataMemberProfile, $dataUser);
|
|
|
|
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);
|
|
}
|
|
|
|
|
|
} else {
|
|
$nID = (Auth::user()->nID);
|
|
if ($nID){
|
|
$memberProfile = User::with('detail')->where('nIDUser', $nID)->get()->toArray();
|
|
|
|
$dataMember = User::with('detail')->where('nID', $nID)->get()->first();
|
|
|
|
$urlAvatarDefault = $dataMember->detail->nIDJenisKelamin == 1 ? 'https://linksehat.dev/assets/img/users/male-avatar.png' : 'https://linksehat.dev/assets/img/users/male-avatar.png';
|
|
$avatarMember = $dataMember->detail->sImage ?? $urlAvatarDefault;
|
|
$dataUser = [
|
|
'id' => $dataMember->nID,
|
|
'name' => $dataMember->sFirstName . ' ' . $dataMember->sLastName,
|
|
'relationship' => 'Me',
|
|
'avatar' => $avatarMember
|
|
];
|
|
|
|
array_push($dataMemberProfile, $dataUser);
|
|
|
|
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,
|
|
|
|
];
|
|
}
|
|
}
|