fix private channel

This commit is contained in:
2024-05-15 09:56:18 +07:00
parent 86034f6e5e
commit b8fdaf2ada
3 changed files with 87 additions and 7 deletions

View File

@@ -0,0 +1,73 @@
<?php
namespace Modules\Linksehat\Http\Controllers\Api\Doctor;
use App\Http\Controllers\Controller;
use App\Models\User;
use App\Models\Livechat;
use Crypt;
use Error;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Mail;
use Modules\Internal\Emails\SendVerifyEmail;
use Modules\Internal\Events\ForgetPassword;
use Illuminate\Support\Facades\Validator;
use Modules\HospitalPortal\Helpers\ApiResponse;
use App\Helpers\Helper;
use Illuminate\Support\Facades\View;
use Illuminate\Support\Facades\DB;
class ChatDoctorController extends Controller
{
public function getChat()
{
$data = [
'user_id' => auth()->check() ? auth()->user()->id : null,
];
$user_id = auth()->check() ? auth()->user()->id : null;
//Get data Chat
$user = User::where('id',$user_id)->with('person')->first();
$chat = Livechat::where([
'doctor_id'=> $user->person_id,
'accept_date'=> null,
])->get()->toArray();
dd($chat);
return ApiResponse::apiResponse("Success", $res_data, trans('Message.success'), 200);
}
public function fWorkExperience($start, $end)
{
$startDateString = $start; // Tanggal dan waktu awal
$endDateString = $end ; // Tanggal dan waktu akhir
// Mengubah string tanggal ke timestamp UNIX
$startTime = strtotime($startDateString);
$endTime = strtotime($endDateString);
// Menghitung selisih waktu dalam detik
$timeDifference = $endTime - $startTime;
// Menghitung jumlah tahun, bulan, dan hari dari selisih waktu
$years = floor($timeDifference / (365 * 24 * 60 * 60));
$months = floor(($timeDifference - ($years * 365 * 24 * 60 * 60)) / (30 * 24 * 60 * 60));
$days = floor(($timeDifference - ($years * 365 * 24 * 60 * 60) - ($months * 30 * 24 * 60 * 60)) / (24 * 60 * 60));
// Formatkan hasilnya
$experience = '';
if ($years > 0) {
$experience .= $years . ' years ';
}
if ($months > 0) {
$experience .= $months . ' months ';
}
if ($days > 0) {
$experience .= $days . ' days';
}
return $experience;
}
}

View File

@@ -20,6 +20,7 @@ use Modules\Linksehat\Http\Middleware\Doctor\Authentication;
use Modules\Linksehat\Http\Middleware\Doctor\Authorization;
use Modules\Linksehat\Http\Controllers\Api\Doctor\AuthDoctorController;
use Modules\Linksehat\Http\Controllers\Api\Doctor\ProfileDoctorController;
use Modules\Linksehat\Http\Controllers\Api\Doctor\ChatDoctorController;
/*
|--------------------------------------------------------------------------
| API Routes
@@ -139,6 +140,9 @@ Route::prefix('linksehat')->group(function () {
Route::controller(ProfileDoctorController::class)->group(function () {
Route::get('get-profile', 'getProfile');
});
Route::controller(ChatDoctorController::class)->group(function () {
Route::get('chat', 'getChat');
});
});
});
Route::controller(AuthDoctorController::class)->group(function () {
@@ -147,6 +151,7 @@ Route::prefix('linksehat')->group(function () {
Route::post('resend-code', 'forgotPassword');
Route::post('reset-password', 'resetPassword');
});
});
});
;});

View File

@@ -1,7 +1,9 @@
<?php
use Illuminate\Support\Facades\Broadcast;
use Illuminate\Support\Facades\Auth;
use App\Models\User;
use App\Models\Channel;
/*
|--------------------------------------------------------------------------
| Broadcast Channels
@@ -13,10 +15,10 @@ use Illuminate\Support\Facades\Broadcast;
|
*/
// Broadcast::channel('App.Models.User.{id}', function ($user, $id) {
// return (int) $user->id === (int) $id;
// });
Broadcast::channel('chat.{id}', function ($user, $id) {
return true;
Broadcast::channel('App.Models.User.{id}', function ($user, $id) {
return (int) $user->id === (int) $id;
});
Broadcast::channel('chat.{room_id}', function ($user, $room_id) {
return Auth::check();
});