improvement api mobile

This commit is contained in:
Linksehat Staging Server
2023-11-14 15:06:28 +07:00
parent c5e103fc57
commit c3b140d1f8
4 changed files with 69 additions and 41 deletions

View File

@@ -103,6 +103,8 @@ class ProfileController extends Controller
'gender' => 'nIDJenisKelamin', 'gender' => 'nIDJenisKelamin',
'blood_type' => 'nIDGolonganDarah', 'blood_type' => 'nIDGolonganDarah',
'marital_status' => 'sMartialStatus', 'marital_status' => 'sMartialStatus',
'weight' => 'sWeight',
'height' => 'sHeight',
]; ];
// Update user data // Update user data
@@ -113,10 +115,22 @@ class ProfileController extends Controller
} }
// Update user detail // Update user detail
foreach ($userDetailFields as $requestField => $column) { if($userDetail){
if ($request->filled($requestField)) { foreach ($userDetailFields as $requestField => $column) {
$userDetail->update([$column => $request->$requestField]); if ($request->filled($requestField)) {
$userDetail->update([$column => $request->$requestField]);
}
} }
} else {
UserDetail::create([
'nIDUser' => $request->id,
'dTanggalLahir' => $request->date_of_birth,
'nIDJenisKelamin' => $request->gender,
'nIDGolonganDarah' => $request->blood_type,
'sMartialStatus' => $request->marital_status,
'sWeight' => $request->weight,
'sHeight' => $request->height,
]);
} }

View File

@@ -24,36 +24,47 @@ class ShowProfileResource extends JsonResource
{ {
// Principal // Principal
$urlAvatarDefault = $this->detail->nIDJenisKelamin == 1 ? 'https://linksehat.dev/assets/img/users/male-avatar.png' : 'https://linksehat.dev/assets/img/users/male-avatar.png'; if ($this->detail){
$avatar = $this->detail->sImage ?? $urlAvatarDefault; 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;
}
$urlAvatarDefault = $this->detail->nIDJenisKelamin == 1 ? 'https://linksehat.dev/assets/img/users/male-avatar.png' : 'https://linksehat.dev/assets/img/users/female-avatar.png';
// Marital Status
$maritalStatus = DB::connection('oldlms')->table('tm_status_pernikahan')->where('nID', $this->detail->sMartialStatus)->first('sStatusPernikahan');
// Goldar // Hubungan Keluarga
switch ($this->detail->nIDGolonganDarah) { $relationship = DB::connection('oldlms')->table('tm_hubungan_keluarga')->where('nID', $this->nIDHubunganKeluarga)->first('sHubunganKeluarga');
case 1: // dd( $this->detail->nIDGolonganDarah);
$goldar = 'A'; $sWeight = $this->detail->sWeight ? $this->detail->sWeight : 0;
break; $sHeight = $this->detail->sHeight ? $this->detail->sHeight : 0;
case 2: $nIDJenisKelamin = $this->detail->nIDJenisKelamin == 1 ? 'Male' : 'Female';
$goldar = 'B'; } else {
break; $urlAvatarDefault = 'https://linksehat.dev/assets/img/users/male-avatar.png';
case 3: $goldar = '-';
$goldar = 'AB'; $relationship = false;
break; $maritalStatus = false;
case 4: $sWeight = 0;
$goldar = 'O'; $sHeight = 0;
break; $nIDJenisKelamin = false;
default:
$goldar = '-';
break;
} }
$avatar = $this->detail->sImage ?? $urlAvatarDefault;
// Marital Status
$maritalStatus = DB::connection('oldlms')->table('tm_status_pernikahan')->where('nID', $this->detail->sMartialStatus)->first('sStatusPernikahan');
// Hubungan Keluarga
$relationship = DB::connection('oldlms')->table('tm_hubungan_keluarga')->where('nID', $this->nIDHubunganKeluarga)->first('sHubunganKeluarga');
// dd( $this->detail->nIDGolonganDarah);
$userInsurance = UserInsurance::where('nIDUser', $this->nID)->get()->first(); $userInsurance = UserInsurance::where('nIDUser', $this->nID)->get()->first();
$memberId = Null; $memberId = Null;
if($userInsurance){ if($userInsurance){
@@ -63,16 +74,16 @@ class ShowProfileResource extends JsonResource
'id' => $this->nID, 'id' => $this->nID,
'first_name' => $this->sFirstName, 'first_name' => $this->sFirstName,
'last_name' => $this->sLastName, 'last_name' => $this->sLastName,
'date_of_birth' => $this->detail->dTanggalLahir, 'date_of_birth' => $this->detail ? $this->detail->dTanggalLahir : null,
'avatar' => $avatar, 'avatar' => $avatar,
'gender' => $this->detail->nIDJenisKelamin == 1 ? 'Male' : 'Female', 'gender' => $nIDJenisKelamin ? $nIDJenisKelamin : '-',
'phone' => $this->sPhone, 'phone' => $this->sPhone,
'email' => $this->sEmail, 'email' => $this->sEmail,
'blood_type' => $goldar, 'blood_type' => $goldar,
'marital_status' => $maritalStatus ? $maritalStatus->sStatusPernikahan : '-', 'marital_status' => $maritalStatus ? $maritalStatus->sStatusPernikahan : '-',
'relationship' => $relationship ? $relationship->sHubunganKeluarga : '-', 'relationship' => $relationship ? $relationship->sHubunganKeluarga : '-',
'weight' => $this->detail->sWeight, 'weight' => $sWeight,
'height' => $this->detail->sHeight, 'height' => $sHeight,
'member_id' => $memberId, 'member_id' => $memberId,
]; ];
} }

View File

@@ -77,7 +77,7 @@ class UserProfileResource extends JsonResource
if (count($memberProfile) > 0){ 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'; $urlAvatarDefault = $this->detail->nIDJenisKelamin == 1 ? 'https://linksehat.dev/assets/img/users/male-avatar.png' : 'https://linksehat.dev/assets/img/users/female-avatar.png';
$avatarMember = $this->detail->sImage ?? $urlAvatarDefault; $avatarMember = $this->detail->sImage ?? $urlAvatarDefault;
$relationship = DB::connection('oldlms')->table('tm_hubungan_keluarga')->where('nID', $this->nIDHubunganKeluarga)->first('sHubunganKeluarga'); $relationship = DB::connection('oldlms')->table('tm_hubungan_keluarga')->where('nID', $this->nIDHubunganKeluarga)->first('sHubunganKeluarga');
@@ -91,7 +91,7 @@ class UserProfileResource extends JsonResource
array_push($dataMemberProfile, $dataUser); array_push($dataMemberProfile, $dataUser);
foreach($memberProfile as $m){ 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'; $urlAvatarDefault = $m['detail']['nIDJenisKelamin'] == 1 ? 'https://linksehat.dev/assets/img/users/male-avatar.png' : 'https://linksehat.dev/assets/img/users/female-avatar.png';
$avatarMember = $m['detail']['sImage'] ?? $urlAvatarDefault; $avatarMember = $m['detail']['sImage'] ?? $urlAvatarDefault;
$relationship = DB::connection('oldlms')->table('tm_hubungan_keluarga')->where('nID', $m['nIDHubunganKeluarga'])->first('sHubunganKeluarga'); $relationship = DB::connection('oldlms')->table('tm_hubungan_keluarga')->where('nID', $m['nIDHubunganKeluarga'])->first('sHubunganKeluarga');
@@ -114,7 +114,7 @@ class UserProfileResource extends JsonResource
$dataMember = User::with('detail')->where('nID', $nID)->get()->first(); $dataMember = User::with('detail')->where('nID', $nID)->get()->first();
if ($this->detail){ if ($this->detail){
$urlAvatarDefault = $this->detail->nIDJenisKelamin == 1 ? 'https://linksehat.dev/assets/img/users/male-avatar.png' : 'https://linksehat.dev/assets/img/users/male-avatar.png'; $urlAvatarDefault = $this->detail->nIDJenisKelamin == 1 ? 'https://linksehat.dev/assets/img/users/male-avatar.png' : 'https://linksehat.dev/assets/img/users/female-avatar.png';
} else { } else {
$urlAvatarDefault = 'https://linksehat.dev/assets/img/users/male-avatar.png'; $urlAvatarDefault = 'https://linksehat.dev/assets/img/users/male-avatar.png';
} }
@@ -126,14 +126,14 @@ class UserProfileResource extends JsonResource
$dataUser = [ $dataUser = [
'id' => $dataMember->nID, 'id' => $dataMember->nID,
'name' => $dataMember->sFirstName . ' ' . $dataMember->sLastName, 'name' => $dataMember->sFirstName . ' ' . $dataMember->sLastName,
'relationship' => $relationship ? $relationship->sHubunganKeluarga : '-', 'relationship' => 'Me',
'avatar' => $avatarMember 'avatar' => $avatarMember
]; ];
array_push($dataMemberProfile, $dataUser); array_push($dataMemberProfile, $dataUser);
if (count($memberProfile) > 0){ if (count($memberProfile) > 0){
foreach($memberProfile as $m){ 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'; $urlAvatarDefault = $m['detail']['nIDJenisKelamin'] == 1 ? 'https://linksehat.dev/assets/img/users/male-avatar.png' : 'https://linksehat.dev/assets/img/users/female-avatar.png';
$avatarMember = $m['detail']['sImage'] ?? $urlAvatarDefault; $avatarMember = $m['detail']['sImage'] ?? $urlAvatarDefault;
$relationship = DB::connection('oldlms')->table('tm_hubungan_keluarga')->where('nID', $m['nIDHubunganKeluarga'])->first('sHubunganKeluarga'); $relationship = DB::connection('oldlms')->table('tm_hubungan_keluarga')->where('nID', $m['nIDHubunganKeluarga'])->first('sHubunganKeluarga');
@@ -154,7 +154,7 @@ class UserProfileResource extends JsonResource
// Principal // Principal
if ($this->detail){ if ($this->detail){
$urlAvatarDefault = $this->detail->nIDJenisKelamin == 1 ? 'https://linksehat.dev/assets/img/users/male-avatar.png' : 'https://linksehat.dev/assets/img/users/male-avatar.png'; $urlAvatarDefault = $this->detail->nIDJenisKelamin == 1 ? 'https://linksehat.dev/assets/img/users/male-avatar.png' : 'https://linksehat.dev/assets/img/users/female-avatar.png';
} else { } else {
$urlAvatarDefault = 'https://linksehat.dev/assets/img/users/male-avatar.png'; $urlAvatarDefault = 'https://linksehat.dev/assets/img/users/male-avatar.png';
} }

View File

@@ -27,6 +27,9 @@ class UserDetail extends Model
'sCreateBy', 'sCreateBy',
'sKTP', 'sKTP',
'sImages', 'sImages',
'sWeight',
'sHeight',
'nIDGolonganDarah',
]; ];