<?php
use App\Http\Controllers\Api\ApiAbsensiController;
use App\Http\Controllers\Api\ApiAuthController;
use App\Http\Controllers\Api\ApiIzinController;
use App\Http\Controllers\Api\ApiKunjunganController;
use App\Http\Controllers\Api\ApiListKaryawanController;
use App\Http\Controllers\Api\ApiController;
use App\Http\Controllers\Api\ApiPermintaanAbsensiController;
use App\Http\Controllers\Api\ApiReimbursementController;
use App\Http\Controllers\Api\ApiRiwayatAbsensiController;
use App\Http\Controllers\Api\ApiTimesheetController;
use App\Http\Controllers\ForgotPasswordController;
use App\Models\Karyawan;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\Cache;
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/
// Route::get('forget-password', [ForgotPasswordController::class, 'showForgetPasswordForm'])->name('forget.password.get');
Route::post('forget-password', [ForgotPasswordController::class, 'submitForgetPasswordForm'])->name('forget.password.post');
Route::middleware('auth:sanctum')->get('/profil', function (Request $request) {
$user = $request->user();
$data = Cache::remember('user-'.$user->id, 3600, function ()use($user) {
if($user->_type == "karyawan"){
$data = Karyawan::with('jadwal_kerja','departemen','lokasi_absen')->find($user->id);
} else {
$data = $user;
}
return $data;
});
return response()->json(['data'=>$data]);
});
Route::middleware('auth:sanctum')->get('/unit-karyawan', function (Request $request) {
$data = $request->user()->jabatan->unit;
// if($user->_type == "karyawan"){
// $data = Karyawan::with('jadwal_kerja')->find($user->id);
// } else {
// $data = $user;
// }
return response()->json(['data'=>$data]);
});
Route::get('/server', function (Request $request) {
//return server info
return response()->json(['data'=>[
'server'=>$_SERVER,
'time' => time(),
'request'=>$request->all()
]]);
});
Route::get('/test-check-absensi/{id}',[ApiAbsensiController::class,'testCheckAbsensi']);
Route::get('/get-karyawan-log',[ApiAuthController::class,'getKaryawanLog']);
Route::post('login',[ApiAuthController::class,'login'])->middleware('guest:sanctum');
Route::get('/setting',[ApiController::class,'setting']);
Route::group(['middleware'=>'auth:sanctum'],function(){
Route::get('/kalender-jadwal-kerja',[ApiController::class,'kalenderJadwalKerja']);
Route::get('/foto-profile',[ApiAuthController::class,'fotoProfile']);
Route::post('/update-profile',[ApiAuthController::class,'updateProfile']);
Route::get('/absen-hari-ini',[ApiAbsensiController::class,'absenHariIni']);
Route::get('/cek-absensi',[ApiAbsensiController::class,'cekAbsensi']);
Route::get('/riwayat-absensi',[ApiRiwayatAbsensiController::class,'riwayatAbsensi']);
Route::get('/riwayat-absensi/{id}',[ApiRiwayatAbsensiController::class,'getRiwayatAbsensi']);
Route::get('/riwayat-absensi/{id}/foto',[ApiRiwayatAbsensiController::class,'fotoRiwayatAbsensi']);
Route::get('/riwayat-kunjungan',[ApiKunjunganController::class,'riwayatKunjungan']);
Route::get('/riwayat-kunjungan/{id}',[ApiKunjunganController::class,'getRiwayatKunjungan']);
Route::get('/riwayat-kunjungan/{id}/tanda-tangan',[ApiKunjunganController::class,'fotoTandaTangan']);
Route::get('/riwayat-timesheet',[ApiTimesheetController::class,'riwayatTimesheet']);
Route::get('/timesheet/{id}',[ApiTimesheetController::class,'getTimesheet']);
Route::post('/tambah-timesheet',[ApiTimesheetController::class,'tambahTimesheet']);
Route::post('/update-timesheet/{id}',[ApiTimesheetController::class,'updateTimesheet']);
Route::get('/reimbursement-category',[ApiReimbursementController::class,'getReimbursementCategory']);
Route::get('/riwayat-reimbursement',[ApiReimbursementController::class,'riwayatReimbursement']);
Route::post('/tambah-reimbursement',[ApiReimbursementController::class,'tambahReimbursement']);
Route::post('/tambah-izin',[ApiIzinController::class,'tambahIzin']);
Route::get('/riwayat-izin',[ApiIzinController::class,'riwayatIzin']);
Route::get('/izin/{id}',[ApiIzinController::class,'detailIzin']);
Route::group(['prefix'=>'absensi'],function(){
Route::post('/check-in',[ApiAbsensiController::class,'checkIn']);
Route::post('/check-out',[ApiAbsensiController::class,'checkOut']);
Route::post('/break',[ApiController::class,'break']);
Route::post('/after-break',[ApiController::class,'aftterBreak']);
Route::post('/overtime-in',[ApiController::class,'overtimeIn']);
Route::post('/overtime-out',[ApiController::class,'overtimeOut']);
});
Route::post('/mulai-kunjungan',[ApiKunjunganController::class,'mulaiKunjungan']);
Route::post('/selesai-kunjungan',[ApiKunjunganController::class,'selesaiKunjungan']);
Route::post('/update-fcm-token',[ApiAuthController::class,'updateFcmToken']);
//bagian admin
Route::get('/permintaan-absensi',[ApiPermintaanAbsensiController::class,'index']);
Route::get('/permintaan-absensi/{id}',[ApiPermintaanAbsensiController::class,'show']);
Route::get('/permintaan-absensi/{id}/foto',[ApiPermintaanAbsensiController::class,'fotoRiwayatAbsensi']);
Route::post('/permintaan-absensi/{id}',[ApiPermintaanAbsensiController::class,'updateStatus']);
Route::get('/list-karyawan',[ApiListKaryawanController::class,'index']);
Route::get('/karyawan/{id}',[ApiListKaryawanController::class,'show']);
});
Route::group(['prefix'=>'admin','as'=>'admin.'],function(){
Route::get('/permintaan-absensi',[\App\Http\Controllers\Api\Admin\ApiPermintaanAbsensiController::class,'index'])->name('permintaan-absensi.index');
});
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]