update send notification fcm

This commit is contained in:
2024-05-24 09:09:21 +07:00
parent 8ae6e44680
commit 8af376cd37
10 changed files with 253 additions and 24 deletions

View File

@@ -2,6 +2,7 @@
namespace Modules\Linksehat\Http\Controllers\Api;
use App\Notifications\SendNotification;
use App\Helpers\Helper;
use App\Helpers\DuitkuHelper;
use App\Services\Duitku;
@@ -9,8 +10,10 @@ use App\Models\Organization;
use App\Models\PractitionerRole;
use App\Models\Invoice;
use App\Models\PaymentsMethods;
use App\Models\Channel;
use App\Models\Livechat;
use App\Models\OLDLMS\User;
use App\Models\User as UserAso;
use Illuminate\Routing\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
@@ -126,18 +129,18 @@ class LivechatController extends Controller
'organization_id' => $request->organization_id,
'descriptions' => $request->descriptions
];
$validator = Validator::make($request->all(), [
'doctor_id' => 'required',
'patient_id' => 'required',
'descriptions' => 'required',
], [
'doctor_id.required' => 'ID Dokter harus diisi',
'patient_id.required' => 'ID Dokter harus diisi',
'descriptions.required' => 'Description harus diisi',
'patient_id.required' => 'ID Pasien harus diisi',
'descriptions.required' => 'Deskripsi harus diisi',
]);
if ($validator->fails()){
if ($validator->fails()) {
return Helper::responseJson(
status: 'Bad Request',
statusCode: 400,
@@ -145,29 +148,54 @@ 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
* 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;
$data['status'] = 1; // Request
$livechat = Livechat::create($data);
$doctor = $livechat->doctor;
$data = [
$responseData = [
'id' => $livechat->id,
'request_date' => $livechat->request_date,
'image_path' =>'https'
'image_path' => 'https' // Ganti dengan path yang benar jika ada
];
// Send Notification
$doctorId = $livechat->doctor_id;
$user = UserAso::find($doctorId);
$title = 'New Request Livechat';
$patient = User::where('nID', $livechat->patient_id)->first();
$body = 'Request Livechat from ' . $patient->sFirstName . ' ' . $patient->sLastName;
$channel = Channel::where([
'member_id' => $livechat->patient_id,
'doctor_id' => $livechat->doctor_id
])->first();
$dataNotif = [
'channel_id' => $channel->id,
'livechat_id' => $livechat->id,
'type' => 'request-chat'
];
return Helper::responseJson(data: $data);
if ($user) {
$user->notify(new SendNotification($title, $body, $dataNotif));
return Helper::responseJson(data: $responseData);
} else {
return Helper::responseJson(
status: 'Not Found',
statusCode: 404,
message: 'Doctor not found.'
);
}
}
}
}
public function consultation_request_show($id){
$livechat = Livechat::where('id', $id)->with(['doctor', 'practitioner'])->first();
@@ -290,7 +318,6 @@ class LivechatController extends Controller
// Membuat invoice menggunakan DuitkuHelper
$duitku = DuitkuHelper::createInvoice($data);
return response()->json(['success' => true, 'data' => $duitku], 200);
} catch (Exception $e) {
// Menangkap error dan mengembalikan respon error