125 lines
4.0 KiB
PHP
125 lines
4.0 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\Facades\Route;
|
|
use Illuminate\Http\Request;
|
|
use App\Http\Controllers\Api\MonitoringController;
|
|
use Illuminate\Support\Facades\DB;
|
|
use App\Http\Controllers\Api\SkriningController;
|
|
use App\Http\Controllers\Api\ApiAuthController;
|
|
use App\Http\Controllers\AuthController;
|
|
|
|
// Auth Routes
|
|
Route::post('/login', [ApiAuthController::class, 'login']);
|
|
Route::post('/register', [ApiAuthController::class, 'register']);
|
|
Route::post('/forgot-password', [ApiAuthController::class, 'forgotPassword']);
|
|
|
|
// Profile Routes
|
|
Route::post('/update-profile', [ApiAuthController::class, 'updateProfile']);
|
|
Route::get('/get-profile', [ApiAuthController::class, 'getProfile']);
|
|
Route::post('/complete-profile', [ApiAuthController::class, 'completeProfile']);
|
|
|
|
// Monitoring Routes
|
|
Route::get('/monitoring/{id_user}', [MonitoringController::class, 'index']);
|
|
Route::post('/monitoring/konfirmasi', [MonitoringController::class, 'konfirmasi']);
|
|
|
|
Route::get('/status', function() {
|
|
return response()->json(['status' => 'API is running!']);
|
|
});
|
|
|
|
Route::get('/user-profile/{id}', function ($id) {
|
|
$user = DB::table('users')
|
|
->join('pasien_medis', 'users.id_user', '=', 'pasien_medis.id_user')
|
|
->where('users.id_user', $id)
|
|
->first();
|
|
|
|
if ($user) {
|
|
return response()->json(['success' => true, 'data' => $user]);
|
|
}
|
|
return response()->json(['success' => false, 'message' => 'User tidak ditemukan'], 404);
|
|
});
|
|
|
|
Route::get('/notifikasi/{id_user}', function($id_user) {
|
|
|
|
$notifikasi = DB::table('notifikasi')
|
|
->where('id_user', $id_user)
|
|
->where('waktu_kirim', '<=', now())
|
|
->orderBy('waktu_kirim', 'desc')
|
|
->get();
|
|
|
|
return response()->json([
|
|
'success' => true,
|
|
'data' => $notifikasi
|
|
]);
|
|
});
|
|
|
|
Route::post('/simpan-token', function(Request $request){
|
|
|
|
$request->validate([
|
|
'id_user' => 'required',
|
|
'token' => 'required'
|
|
]);
|
|
|
|
// ==================================================
|
|
// CEK TOKEN SUDAH ADA?
|
|
// ==================================================
|
|
$exists = DB::table('fcm_tokens')
|
|
->where('id_user', $request->id_user)
|
|
->where('token', $request->token)
|
|
->exists();
|
|
|
|
// ==================================================
|
|
// INSERT TOKEN BARU
|
|
// ==================================================
|
|
if (!$exists) {
|
|
|
|
DB::table('fcm_tokens')->updateOrInsert(
|
|
|
|
[
|
|
'id_user'=>$request->id_user,
|
|
'token'=>$request->token,
|
|
],
|
|
|
|
[
|
|
'updated_at'=>now(),
|
|
'created_at'=>now(),
|
|
]
|
|
|
|
);
|
|
}
|
|
|
|
return response()->json([
|
|
'success' => true
|
|
]);
|
|
});
|
|
|
|
Route::post('/hapus-token', function(Request $request){
|
|
|
|
$request->validate([
|
|
'id_user' => 'required',
|
|
'token' => 'required'
|
|
]);
|
|
|
|
DB::table('fcm_tokens')
|
|
->where('id_user', $request->id_user)
|
|
->where('token', $request->token)
|
|
->delete();
|
|
|
|
return response()->json([
|
|
'success' => true
|
|
]);
|
|
});
|
|
|
|
Route::post('/skrining', [SkriningController::class, 'store']);
|
|
Route::get('/skrining', [SkriningController::class, 'index']);
|
|
Route::post('/send-otp', [AuthController::class, 'sendOtp']);
|
|
Route::post('/verify-otp', [AuthController::class, 'verifyOtp']);
|
|
Route::post('/mobile/send-otp', [AuthController::class, 'sendOtpMobile']);
|
|
Route::post('/mobile/verify-otp', [AuthController::class, 'verifyOtpMobile']);
|
|
Route::post('/mobile/verify-otp-only', [AuthController::class, 'verifyOtpOnlyMobile']);
|
|
Route::post('/mobile/reset-password', [AuthController::class, 'resetPasswordMobile']);
|
|
Route::post('/mobile/reset-password', [AuthController::class, 'resetPasswordMobile']);
|
|
Route::post('/logout-token', [AuthController::class, 'logoutToken']);
|
|
Route::post('/verifikasi-password-monitoring', [MonitoringController::class, 'verifikasiPassword']);
|
|
Route::get('file-pasien/lihat/{id_file}', [MonitoringController::class, 'lihatFile']);
|
|
Route::get('/file-pasien/download/{id_file}', [MonitoringController::class, 'downloadFilePasien']);
|