From 0c9f69aaadd2b0a7186412b920e45f4c82ebf4d4 Mon Sep 17 00:00:00 2001 From: Linksehat Staging Server Date: Fri, 10 Nov 2023 11:23:20 +0700 Subject: [PATCH 1/6] manual linking apps --- .../Controllers/Api/LinkingController.php | 109 ++++++++++++++++-- Modules/Linksehat/Routes/api.php | 3 + app/Http/Resources/OLDLMS/MemberResource.php | 33 ++---- app/Models/Member.php | 9 ++ app/Models/OLDLMS/UserInsurance.php | 2 + 5 files changed, 127 insertions(+), 29 deletions(-) diff --git a/Modules/Linksehat/Http/Controllers/Api/LinkingController.php b/Modules/Linksehat/Http/Controllers/Api/LinkingController.php index cf3e1b7d..3c58c67e 100644 --- a/Modules/Linksehat/Http/Controllers/Api/LinkingController.php +++ b/Modules/Linksehat/Http/Controllers/Api/LinkingController.php @@ -5,7 +5,10 @@ namespace Modules\Linksehat\Http\Controllers\Api; use App\Helpers\Helper; use App\Http\Controllers\Controller; use App\Models\Person; +use App\Models\Corporate; +use App\Models\Member; use App\Models\OLDLMS\User; +use App\Models\OLDLMS\UserInsurance; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Hash; @@ -13,7 +16,10 @@ use Laravel\Socialite\Facades\Socialite; use Modules\Linksehat\Transformers\User\UserProfileResource; use Symfony\Component\HttpFoundation\Response; use Illuminate\Support\Facades\Http; -use Validator; +use Illuminate\Support\Facades\Validator; +use App\Http\Resources\OLDLMS\MemberResource; +use App\Rules\NikRule; + class LinkingController extends Controller { @@ -23,17 +29,104 @@ class LinkingController extends Controller $this->url = $_ENV['LMS_APP_URL']; } - public function manualLinking(Request $request){ - $request->validate([ + public function linkingValidate(Request $request) + { + $validator = Validator::make($request->all(), [ + 'corporate_id' => 'required', 'user_id' => 'required', - 'company_id' => 'required', ]); - $corporate = Corporate::find($request->company_id)->where('active', 1); - if (!$corporate){ - return response(['message' => 'Corporate Not Found or non active'], 403); + // $request->validate($validationRules); + if ($validator->fails()) { + return response()->json(['errors' => $validator->errors()], 422); } - + $corporate = Corporate::findOrFail($request->corporate_id); + // Make Validation from Linking Rules + $linkingRulesArr = $corporate->linking_rules->toArray(); + + $validationRules = []; + foreach ($linkingRulesArr as $field) { + $rules = ['required']; // Default is required if in the linking_rules + if ($field == 'email') { + $rules[] = 'email'; + } + + if ($field == 'nric') { + $rules[] = new NikRule; + } + + $validationRules[$field] = $rules; + } + + $validator = Validator::make($request->all(),$validationRules); + + // $request->validate($validationRules); + if ($validator->fails()) { + return response()->json(['errors' => $validator->errors()], 422); + } + + $member = Member::query() + ->when(in_array('nric', $linkingRulesArr), function($q) use ($request) { + $q->where('nric', $request->nric); + }) + ->when(in_array('member_id', $linkingRulesArr), function($q) use ($request) { + $q->where('member_id', $request->member_id); + }) + ->when(in_array('name', $linkingRulesArr), function($q) use ($request) { + $q->where('name', $request->name); + }) + ->when(in_array('dob', $linkingRulesArr), function($q) use ($request) { + $q->where('birth_date', $request->dob); + }) + ->when(in_array('phone', $linkingRulesArr), function($q) use ($request) { + $q->whereHas('person', function ($person) use ($request) { + $person->where('phone', $request->phone); + }); + }) + ->when(in_array('email', $linkingRulesArr), function($q) use ($request) { + $q->where('email', $request->email); + }) + ->when(in_array('nik', $linkingRulesArr), function($q) use ($request) { + $q->whereHas('employeds', function ($employed) use ($request) { + $employed->where('corporate_id', $request->corporate_id) + ->where('nik', $request->nik); + }); + }) + + ->with([ + 'memberPlans' => function ($memberPlan) { + $memberPlan->latest(); + }, + + ]) + + ->first(); + + if ($member) { + // Insert into database linksehat + $insurance = UserInsurance::updateOrCreate( + [ + 'nIDUser' => $request->user_id, + ], + [ + 'nIDUser' => $request->user_id, + 'nIDInsurance' => $_ENV['LINKSEHAT_ASO_INSURANCE_ID'], + 'sNoPolis' => $member->member_id, + 'sNamaPeserta' => $member->fullName, + 'sKartuPeserta' => '', + 'sLayanan' => 'RJ,TC', + 'dStartDate' => $member->members_effective_date, + 'dExpireDate' => $member->members_expire_date, + 'dTanggalLahir' => $member->birth_date, + 'nNoKTP' => $member->nric != '' ? $member->nric : 0 , + 'sIsConfrimed' => 1, + 'sStatus' => 1, + ]); + $message = $member->currentPolicy->corporate->welcome_message; + return Helper::responseJson(data: MemberResource::make($member), message: $message); + } + + return Helper::responseJson(data: [], message: 'Member Tidak ditemukan', statusCode: 404, status: 'error'); } } diff --git a/Modules/Linksehat/Routes/api.php b/Modules/Linksehat/Routes/api.php index 763ecab6..f34f75ab 100644 --- a/Modules/Linksehat/Routes/api.php +++ b/Modules/Linksehat/Routes/api.php @@ -11,6 +11,7 @@ use Modules\Linksehat\Http\Controllers\Api\PersonController; use Modules\Linksehat\Http\Controllers\Api\ProfileController; use Modules\Linksehat\Http\Controllers\Api\SearchController; use Modules\Linksehat\Http\Controllers\Api\SpecialityController; +use Modules\Linksehat\Http\Controllers\Api\LinkingController; /* |-------------------------------------------------------------------------- @@ -75,5 +76,7 @@ Route::prefix('linksehat')->group(function () { Route::get('autocomplete/relationship', [AutocompleteController::class, 'relationship']); Route::get('autocomplete/corporate', [AutocompleteController::class, 'corporate']); + Route::post('manual-linking', [LinkingController::class, 'linkingValidate']); + }); }); diff --git a/app/Http/Resources/OLDLMS/MemberResource.php b/app/Http/Resources/OLDLMS/MemberResource.php index f5ba6cf7..e5db86af 100644 --- a/app/Http/Resources/OLDLMS/MemberResource.php +++ b/app/Http/Resources/OLDLMS/MemberResource.php @@ -3,8 +3,10 @@ namespace App\Http\Resources\OLDLMS; use App\Services\ClaimService; +use App\Models\Corporate; use Illuminate\Http\Resources\Json\JsonResource; + class MemberResource extends JsonResource { /** @@ -21,28 +23,17 @@ class MemberResource extends JsonResource $limitTelecon = $this->totalUsage >= 6 ? null : $limitTelecon; $data = [ + 'id' => $this->id, + 'member_name' => $this->full_name, 'member_id' => $this->member_id, - 'birth_date' => $this->birth_date, - 'email' => $this->email, - 'phone' => $this->person->phone ?? null, - 'full_name' => $this->full_name, - 'nric' => $this->nric, - 'plan' => $currentMemberPlan ? [ - 'code' => $currentMemberPlan->plan->code ?? null, - 'start' => $currentMemberPlan->start, - 'end' => $currentMemberPlan->end, - 'limit' => $this->currentPlan->limit_rules, - 'limit_consultation' => 6 - ] : null, - 'policy_code' => $this->currentPolicy?->code ?? null, - 'corporate' => [ - 'code' => $this->currentPolicy?->corporate->code ?? null, - 'name' => $this->currentPolicy?->corporate->name, - 'welcome_message' => $this->currentPolicy?->corporate->welcome_message, - 'help_text' => $this->currentPolicy?->corporate?->help_text, - 'avatar_url' => $this->currentpolicy?->corporate?->avatar_url - ], - 'limit_usage' => $this->totalUsage ?? null + 'policy_holder' => $this->currentPolicy->corporate->name, + 'policy_number' => $this->currentPolicy->code ?? null, + 'date_of_birth' => $this->birth_date, + 'gender' => $this->gender, + 'start_date' => $this->members_effective_date, + 'corporate_logo' => $this->full_name, + 'valid_until' => $this->members_expire_date, + ]; return $data; } diff --git a/app/Models/Member.php b/app/Models/Member.php index cb0caa13..53ccd9fd 100644 --- a/app/Models/Member.php +++ b/app/Models/Member.php @@ -246,5 +246,14 @@ class Member extends Model get: fn () => $this->person->gender ?? null ); } + + protected function corporateLogo(): Attribute + { + $avatar = File::where(['type' => 'avatar', 'fileable_id' => $this->currentPolicy->corporate->id])->orderBy('id', 'desc')->get()->first(); + $path = $_ENV['LMS_APP_STORAGE'] . $avatar->path; + return Attribute::make( + get: fn () => $avatar ? $path : null + ); + } /* -------------------------------------------------------------------------- */ } diff --git a/app/Models/OLDLMS/UserInsurance.php b/app/Models/OLDLMS/UserInsurance.php index c935f123..3b49d6fd 100644 --- a/app/Models/OLDLMS/UserInsurance.php +++ b/app/Models/OLDLMS/UserInsurance.php @@ -26,5 +26,7 @@ class UserInsurance extends Model 'dTanggalLahir', 'nNoKTP', 'sNoPolis', + 'nIDInsurance', + 'sLayanan', ]; } From bc73088e4ad26f282409eeb0fccca51b13be5b11 Mon Sep 17 00:00:00 2001 From: Linksehat Staging Server Date: Fri, 10 Nov 2023 14:06:13 +0700 Subject: [PATCH 2/6] bugs fix relation --- .../Transformers/User/UserProfileResource.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Modules/Linksehat/Transformers/User/UserProfileResource.php b/Modules/Linksehat/Transformers/User/UserProfileResource.php index 3bc07332..9f1ec0ab 100644 --- a/Modules/Linksehat/Transformers/User/UserProfileResource.php +++ b/Modules/Linksehat/Transformers/User/UserProfileResource.php @@ -30,10 +30,12 @@ class UserProfileResource extends JsonResource $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; + $relationship = DB::connection('oldlms')->table('tm_hubungan_keluarga')->where('nID', $this->nIDHubunganKeluarga)->first('sHubunganKeluarga'); + $dataUser = [ 'id' => $this->nID, 'name' => $this->sFirstName . ' ' . $this->sLastName, - 'relationship' => 'Me', + 'relationship' => $relationship ? $relationship->sHubunganKeluarga : '-', 'avatar' => $avatarMember ]; @@ -56,7 +58,7 @@ class UserProfileResource extends JsonResource } else { - $nID = (Auth::user()->nID); + $nID = $this->nID; if ($nID){ $memberProfile = User::with('detail')->where('nIDUser', $nID)->get()->toArray(); @@ -64,10 +66,12 @@ class UserProfileResource extends JsonResource $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; + $relationship = DB::connection('oldlms')->table('tm_hubungan_keluarga')->where('nID', $this->nIDHubunganKeluarga)->first('sHubunganKeluarga'); + $dataUser = [ 'id' => $dataMember->nID, 'name' => $dataMember->sFirstName . ' ' . $dataMember->sLastName, - 'relationship' => 'Me', + 'relationship' => $relationship ? $relationship->sHubunganKeluarga : '-', 'avatar' => $avatarMember ]; From 6bd48241f0607b40c39bbc384db7253e34d3c946 Mon Sep 17 00:00:00 2001 From: Linksehat Staging Server Date: Fri, 10 Nov 2023 15:36:15 +0700 Subject: [PATCH 3/6] bugs fix avatar --- app/Models/Member.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/app/Models/Member.php b/app/Models/Member.php index 53ccd9fd..7d0c0ff7 100644 --- a/app/Models/Member.php +++ b/app/Models/Member.php @@ -250,10 +250,16 @@ class Member extends Model protected function corporateLogo(): Attribute { $avatar = File::where(['type' => 'avatar', 'fileable_id' => $this->currentPolicy->corporate->id])->orderBy('id', 'desc')->get()->first(); - $path = $_ENV['LMS_APP_STORAGE'] . $avatar->path; - return Attribute::make( - get: fn () => $avatar ? $path : null - ); + if ($avatar){ + $path = $_ENV['LMS_APP_STORAGE'] . $avatar->path ? $avatar->path :''; + return Attribute::make( + get: fn () => $avatar ? $path : null + ); + } else { + return Attribute::make( + get: fn () => null + ); + } } /* -------------------------------------------------------------------------- */ } From 3a83f90ee3ad505b0a4e94f601687dca58218ca3 Mon Sep 17 00:00:00 2001 From: Linksehat Staging Server Date: Mon, 13 Nov 2023 09:00:13 +0700 Subject: [PATCH 4/6] update error message --- Modules/Linksehat/Http/Controllers/Api/LinkingController.php | 2 +- app/Http/Resources/OLDLMS/MemberResource.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Modules/Linksehat/Http/Controllers/Api/LinkingController.php b/Modules/Linksehat/Http/Controllers/Api/LinkingController.php index 3c58c67e..d401aa46 100644 --- a/Modules/Linksehat/Http/Controllers/Api/LinkingController.php +++ b/Modules/Linksehat/Http/Controllers/Api/LinkingController.php @@ -63,7 +63,7 @@ class LinkingController extends Controller // $request->validate($validationRules); if ($validator->fails()) { - return response()->json(['errors' => $validator->errors()], 422); + return Helper::responseJson(data: [], message: 'Member Tidak ditemukan', statusCode: 422, status: 'error'); } $member = Member::query() diff --git a/app/Http/Resources/OLDLMS/MemberResource.php b/app/Http/Resources/OLDLMS/MemberResource.php index e5db86af..e5244f71 100644 --- a/app/Http/Resources/OLDLMS/MemberResource.php +++ b/app/Http/Resources/OLDLMS/MemberResource.php @@ -31,7 +31,7 @@ class MemberResource extends JsonResource 'date_of_birth' => $this->birth_date, 'gender' => $this->gender, 'start_date' => $this->members_effective_date, - 'corporate_logo' => $this->full_name, + 'corporate_logo' => $this->corporateLogo, 'valid_until' => $this->members_expire_date, ]; From db275c152d14b14741fa9f4c42d7002ddf02a941 Mon Sep 17 00:00:00 2001 From: Linksehat Staging Server Date: Mon, 13 Nov 2023 10:23:45 +0700 Subject: [PATCH 5/6] autolinking dan manual linking --- .../Controllers/Api/LinkingController.php | 6 +++ Modules/Linksehat/Routes/api.php | 2 + .../Transformers/User/ShowProfileResource.php | 7 +++ .../Transformers/User/UserProfileResource.php | 54 ++++++++++++++++++- app/Http/Resources/OLDLMS/MemberResource.php | 2 +- 5 files changed, 68 insertions(+), 3 deletions(-) diff --git a/Modules/Linksehat/Http/Controllers/Api/LinkingController.php b/Modules/Linksehat/Http/Controllers/Api/LinkingController.php index d401aa46..899dbfe2 100644 --- a/Modules/Linksehat/Http/Controllers/Api/LinkingController.php +++ b/Modules/Linksehat/Http/Controllers/Api/LinkingController.php @@ -129,4 +129,10 @@ class LinkingController extends Controller return Helper::responseJson(data: [], message: 'Member Tidak ditemukan', statusCode: 404, status: 'error'); } + + public function card($member_id){ + $member = Member::where('member_id', $member_id)->get()->first(); + $message = $member->currentPolicy->corporate->welcome_message; + return Helper::responseJson(data: MemberResource::make($member), message: $message); + } } diff --git a/Modules/Linksehat/Routes/api.php b/Modules/Linksehat/Routes/api.php index f34f75ab..2ac3adfc 100644 --- a/Modules/Linksehat/Routes/api.php +++ b/Modules/Linksehat/Routes/api.php @@ -78,5 +78,7 @@ Route::prefix('linksehat')->group(function () { Route::post('manual-linking', [LinkingController::class, 'linkingValidate']); + Route::get('card/{member_id}', [LinkingController::class, 'card']); + }); }); diff --git a/Modules/Linksehat/Transformers/User/ShowProfileResource.php b/Modules/Linksehat/Transformers/User/ShowProfileResource.php index 1d0b5433..a6d3e0f7 100644 --- a/Modules/Linksehat/Transformers/User/ShowProfileResource.php +++ b/Modules/Linksehat/Transformers/User/ShowProfileResource.php @@ -5,6 +5,7 @@ namespace Modules\Linksehat\Transformers\User; use Illuminate\Http\Resources\Json\JsonResource; use App\Models\OLDLMS\User; use App\Models\OLDLMS\UserDetail; +use App\Models\OLDLMS\UserInsurance; use DB; @@ -53,6 +54,11 @@ class ShowProfileResource extends JsonResource $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(); + $memberId = Null; + if($userInsurance){ + $memberId = $userInsurance->sNoPolis; + } return [ 'id' => $this->nID, 'first_name' => $this->sFirstName, @@ -67,6 +73,7 @@ class ShowProfileResource extends JsonResource 'relationship' => $relationship ? $relationship->sHubunganKeluarga : '-', 'weight' => $this->detail->sWeight, 'height' => $this->detail->sHeight, + 'member_id' => $memberId, ]; } } diff --git a/Modules/Linksehat/Transformers/User/UserProfileResource.php b/Modules/Linksehat/Transformers/User/UserProfileResource.php index 9f1ec0ab..df3b0438 100644 --- a/Modules/Linksehat/Transformers/User/UserProfileResource.php +++ b/Modules/Linksehat/Transformers/User/UserProfileResource.php @@ -5,6 +5,11 @@ namespace Modules\Linksehat\Transformers\User; use Illuminate\Http\Resources\Json\JsonResource; use App\Models\OLDLMS\User; use App\Models\OLDLMS\UserDetail; +use App\Models\OLDLMS\UserInsurance; +use App\Models\Member; +use App\Models\Person; +use App\Models\CorporateEmployee; +use App\Models\Corporate; use Illuminate\Support\Facades\Auth; use DB; @@ -26,6 +31,50 @@ class UserProfileResource extends JsonResource $memberProfile = User::with('detail')->where('nIDUser', $this->nID)->get()->toArray(); $dataMemberProfile = []; + $userInsurance = UserInsurance::where('nIDUser', $this->nID)->get()->first(); + $memberId = null; + $linking = false; + if($userInsurance){ + $memberId = $userInsurance->sNoPolis; + $linking = true; + } else { + $member = Member::where('email', $this->sEmail)->get()->first(); + $person = Person::where('phone', $this->sPhone)->get()->first(); + if ($member || $person){ // Autolinking + $corporateEmployee = CorporateEmployee::where('member_id', $member->id)->get()->first(); // cek corporate id empolyee/member + if ($corporateEmployee){ + $corporate = Corporate::findOrFail($corporateEmployee->corporate_id)->automatic_linking; // cek autocomplete + if ($corporate){ + if($member) { + // Insert into database linksehat + $insurance = UserInsurance::updateOrCreate( + [ + 'nIDUser' => $this->nID, + ], + [ + 'nIDUser' => $this->nID, + 'nIDInsurance' => $_ENV['LINKSEHAT_ASO_INSURANCE_ID'], + 'sNoPolis' => $member->member_id, + 'sNamaPeserta' => $member->fullName, + 'sKartuPeserta' => '', + 'sLayanan' => 'RJ,TC', + 'dStartDate' => $member->members_effective_date, + 'dExpireDate' => $member->members_expire_date, + 'dTanggalLahir' => $member->birth_date, + 'nNoKTP' => $member->nric != '' ? $member->nric : 0 , + 'sIsConfrimed' => 1, + 'sStatus' => 1, + ]); + $message = $member->currentPolicy->corporate->welcome_message; + $linking = true; + + $memberId = $member->member_id; + } + } + } + } + }; + 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'; @@ -107,8 +156,9 @@ class UserProfileResource extends JsonResource 'full_name' => $this->sFirstName . ' '. $this->sLastName, 'avatar' => $avatar, 'member_type' => $this->nIDUser ? 'Dependent' : 'Principal', - 'member_profile' => $dataMemberProfile, - + 'member_profile' => $dataMemberProfile, + 'member_id' => $memberId, + 'linking' => $linking, ]; } } diff --git a/app/Http/Resources/OLDLMS/MemberResource.php b/app/Http/Resources/OLDLMS/MemberResource.php index e5244f71..610ce9cf 100644 --- a/app/Http/Resources/OLDLMS/MemberResource.php +++ b/app/Http/Resources/OLDLMS/MemberResource.php @@ -31,7 +31,7 @@ class MemberResource extends JsonResource 'date_of_birth' => $this->birth_date, 'gender' => $this->gender, 'start_date' => $this->members_effective_date, - 'corporate_logo' => $this->corporateLogo, + 'corporate_logo' => $_ENV['LMS_APP_STORAGE'] . $this->corporateLogo, 'valid_until' => $this->members_expire_date, ]; From d6831f3bfa7bb9cf0d10d94eef7adffb79f3268d Mon Sep 17 00:00:00 2001 From: Linksehat Staging Server Date: Mon, 13 Nov 2023 15:29:00 +0700 Subject: [PATCH 6/6] update --- .../Transformers/User/UserProfileResource.php | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/Modules/Linksehat/Transformers/User/UserProfileResource.php b/Modules/Linksehat/Transformers/User/UserProfileResource.php index df3b0438..69ab8693 100644 --- a/Modules/Linksehat/Transformers/User/UserProfileResource.php +++ b/Modules/Linksehat/Transformers/User/UserProfileResource.php @@ -107,13 +107,19 @@ class UserProfileResource extends JsonResource } else { - $nID = $this->nID; + $nID = $this->nIDUser ? $this->nIDUser : $this->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'; + + 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'; + } else { + $urlAvatarDefault = 'https://linksehat.dev/assets/img/users/male-avatar.png'; + } + $avatar = $this->detail->sImage ?? $urlAvatarDefault; + $avatarMember = $dataMember->detail->sImage ?? $urlAvatarDefault; $relationship = DB::connection('oldlms')->table('tm_hubungan_keluarga')->where('nID', $this->nIDHubunganKeluarga)->first('sHubunganKeluarga'); @@ -123,7 +129,6 @@ class UserProfileResource extends JsonResource 'relationship' => $relationship ? $relationship->sHubunganKeluarga : '-', 'avatar' => $avatarMember ]; - array_push($dataMemberProfile, $dataUser); if (count($memberProfile) > 0){ @@ -137,17 +142,22 @@ class UserProfileResource extends JsonResource 'name' => $m['full_name'], 'relationship' => $relationship->sHubunganKeluarga, 'avatar' => $avatarMember, - ]; array_push( $dataMemberProfile, $data); } } + } else { + } } // 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){ + $urlAvatarDefault = $this->detail->nIDJenisKelamin == 1 ? 'https://linksehat.dev/assets/img/users/male-avatar.png' : 'https://linksehat.dev/assets/img/users/male-avatar.png'; + } else { + $urlAvatarDefault = 'https://linksehat.dev/assets/img/users/male-avatar.png'; + } $avatar = $this->detail->sImage ?? $urlAvatarDefault;