update bugs user notification

This commit is contained in:
Linksehat Staging Server
2024-05-28 09:00:27 +07:00
parent 2645a7d785
commit 151248d448
10 changed files with 353 additions and 46 deletions

View File

@@ -48,8 +48,18 @@ class AuthController extends Controller
$user = User::with('detail')
->where('sEmail', $request->phone_or_email)
->first();
$user->fcm_token = $request->fcm_token;
$user->save();
$user->notificationTokens()->updateOrCreate([
'device_id' => $request->device_id,
'token' => $request->fcm_token,
], [
'origin' => $request->origin,
'device_id' => $request->device_id,
'type' => $request->type,
'token' => $request->fcm_token,
'status' => $request->status,
]);
return Helper::responseJson(
data: [
'token' => $user->createToken('app')->plainTextToken,
@@ -134,7 +144,7 @@ class AuthController extends Controller
]);
$user->fcm_token = $request->fcm_token;
$user->save();
return Helper::responseJson(
data: [
'token' => $user->createToken('app')->plainTextToken,

View File

@@ -25,11 +25,11 @@ class AuthDoctorController extends Controller
$data = [
'email' => $request->email,
'password' => $request->password,
'fcm_token' => $request->fcm_token
'fcm_token' => $request->fcm_token,
];
$validator = Validator::make($request->all(), [
'email' => 'required|email',
'password' => 'required',
'password' => 'required',
'fcm_token' => 'required'
], [
'email.required' => trans('Validation.required',['attribute' => 'Email']),
@@ -53,8 +53,17 @@ class AuthDoctorController extends Controller
return ApiResponse::apiResponse('Bad Request', $data, trans('Message.password'), 400);
}
$user->fcm_token = $request->fcm_token;
$user->save();
$user->notificationTokens()->updateOrCreate([
'device_id' => $request->device_id,
'token' => $request->fcm_token,
], [
'origin' => $request->origin,
'device_id' => $request->device_id,
'type' => $request->type,
'token' => $request->fcm_token,
'status' => $request->status,
]);
$res_data = [
// 'user' => $user,

View File

@@ -24,6 +24,8 @@ use Modules\HospitalPortal\Helpers\ApiResponse;
use App\Helpers\Helper;
use Illuminate\Support\Facades\View;
use Illuminate\Support\Facades\DB;
use Kreait\Firebase\Messaging\CloudMessage;
use Kreait\Laravel\Firebase\Facades\Firebase;
class ChatDoctorController extends Controller
{
@@ -160,7 +162,7 @@ class ChatDoctorController extends Controller
);
}
return ApiResponse::apiResponse("Success",['message' => 'Livechat updated successfully'], trans('Message.success'), 200);
} else {
return response()->json(['message' => 'Livechat not found'], 404);
@@ -192,7 +194,6 @@ class ChatDoctorController extends Controller
];
$user = UserLMS::where('nID',$livechat->patient_id)->first();
if ($user) {
$user->notify(new SendNotification($title, $body, $dataNotif));
return ApiResponse::apiResponse("Success",['message' => 'Livechat updated successfully'], trans('Message.success'), 200);
@@ -203,7 +204,7 @@ class ChatDoctorController extends Controller
message: 'Doctor not found.'
);
}
} else {
return response()->json(['message' => 'Livechat not found'], 404);
}
@@ -234,7 +235,7 @@ class ChatDoctorController extends Controller
];
$user = UserLMS::where('nID',$livechat->patient_id)->first();
if ($user) {
$user->notify(new SendNotification($title, $body, $dataNotif));
return ApiResponse::apiResponse("Success",['message' => 'Livechat updated successfully'], trans('Message.success'), 200);

View File

@@ -23,6 +23,9 @@ use Illuminate\Support\Facades\Validator;
use App\Http\Controllers\DuitkuController;
use DB;
use Illuminate\Contracts\Filesystem\Cloud;
use Kreait\Firebase\Messaging\CloudMessage;
use Kreait\Laravel\Firebase\Facades\Firebase;
use Str;
class LivechatController extends Controller
@@ -48,7 +51,7 @@ class LivechatController extends Controller
$urlAvatarDefault = $user->detail->nIDJenisKelamin == 1 ? 'https://linksehat.dev/assets/img/users/male-avatar.png' : 'https://linksehat.dev/assets/img/users/female-avatar.png';
$avatarMember = $user->detail->sImage ?? $urlAvatarDefault;
$relationship = DB::connection('oldlms')->table('tm_hubungan_keluarga')->where('nID', $user->nIDHubunganKeluarga)->first('sHubunganKeluarga');
$dataUser = [
'id' => $user->nID,
'name' => $user->sFirstName . ' ' . $user->sLastName,
@@ -62,7 +65,7 @@ class LivechatController extends Controller
$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;
$relationship = DB::connection('oldlms')->table('tm_hubungan_keluarga')->where('nID', $m['nIDHubunganKeluarga'])->first('sHubunganKeluarga');
$data = [
'id' => $m['nID'],
'name' => $m['full_name'],
@@ -78,17 +81,17 @@ class LivechatController extends Controller
$memberProfile = User::with('detail')->where('nIDUser', $nID)->get()->toArray();
$dataMember = User::with('detail')->where('nID', $nID)->get()->first();
if ($user->detail){
$urlAvatarDefault = $user->detail->nIDJenisKelamin == 1 ? 'https://linksehat.dev/assets/img/users/male-avatar.png' : 'https://linksehat.dev/assets/img/users/female-avatar.png';
} else {
$urlAvatarDefault = 'https://linksehat.dev/assets/img/users/male-avatar.png';
}
$avatar = $user->detail->sImage ?? $urlAvatarDefault;
$avatarMember = $dataMember->detail->sImage ?? $urlAvatarDefault;
$relationship = DB::connection('oldlms')->table('tm_hubungan_keluarga')->where('nID', $user->detail->nIDHubunganKeluarga)->first('sHubunganKeluarga');
$dataUser = [
'id' => $dataMember->nID,
'name' => $dataMember->sFirstName . ' ' . $dataMember->sLastName,
@@ -102,20 +105,20 @@ class LivechatController extends Controller
$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;
$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);
}
}
}
}
}
return Helper::responseJson([
'member' => $dataMemberProfile
]);
@@ -129,7 +132,7 @@ class LivechatController extends Controller
'organization_id' => $request->organization_id,
'descriptions' => $request->descriptions
];
$validator = Validator::make($request->all(), [
'doctor_id' => 'required',
'patient_id' => 'required',
@@ -139,7 +142,7 @@ class LivechatController extends Controller
'patient_id.required' => 'ID Pasien harus diisi',
'descriptions.required' => 'Deskripsi harus diisi',
]);
if ($validator->fails()) {
return Helper::responseJson(
status: 'Bad Request',
@@ -148,18 +151,18 @@ class LivechatController extends Controller
);
} else {
// insert table livechat
/**
* Status Livechat
* 1=Request, 2=Accept, 3=Decline, 4=Waiting Payment, 5=Success Payment, 6 = End Chat, 7=Payment Failed
*/
$timezone = date_default_timezone_get();
$data['request_date'] = date('Y-m-d H:i:s');
$data['timezone'] = $timezone;
$data['uuid'] = (string) Str::orderedUuid();
$data['status'] = 1; // Request
$livechat = Livechat::create($data);
$doctor = $livechat->doctor;
$responseData = [
@@ -167,7 +170,7 @@ class LivechatController extends Controller
'request_date' => $livechat->request_date,
'image_path' => 'https' // Ganti dengan path yang benar jika ada
];
// Send Notification
$doctorId = $livechat->doctor_id;
$user = UserAso::find($doctorId);
@@ -183,7 +186,7 @@ class LivechatController extends Controller
'livechat_id' => $livechat->id,
'type' => 'request-chat'
];
if ($user) {
$user->notify(new SendNotification($title, $body, $dataNotif));
return Helper::responseJson(data: $responseData);
@@ -195,8 +198,8 @@ class LivechatController extends Controller
);
}
}
}
}
public function consultation_request_show($id){
$livechat = Livechat::where('id', $id)->with(['doctor', 'practitioner'])->first();
$practitionerRole = PractitionerRole::where('id',$livechat->practitioner->id)->first();
@@ -226,7 +229,7 @@ class LivechatController extends Controller
],
],
'total' => $totalPay
];
return Helper::responseJson(data: $data);
}
@@ -244,9 +247,9 @@ class LivechatController extends Controller
'active' => 1,
'config_pmc_id' => 2,
])->get()->toArray();
$payment = DuitkuHelper::paymentMethod();
$price = $practitionerRole->price ? $practitionerRole->price : 30000;
$discount = 0;
$adminFee = 5000;
@@ -262,7 +265,7 @@ class LivechatController extends Controller
'va' => $va
]
// 'payment_method' => json_decode($payment)
];
return Helper::responseJson(data: $data);
}