<?php

use Illuminate\Http\Request;
use App\Http\Controllers\CRUD\RuangController;
use App\Http\Controllers\CRUD\AlatController;
use App\Http\Controllers\CRUD\BhpController;
use App\Http\Controllers\CRUD\JenisAlatController;
use App\Http\Controllers\CRUD\JenisBhpController;
use App\Http\Controllers\CRUD\TipeController;
use App\Http\Controllers\CRUD\MerkController;
use App\Http\Controllers\CRUD\LantaiController;
use App\Http\Controllers\CRUD\GedungController;
use App\Http\Controllers\CRUD\KampusController;

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Auth\MahasiswaLoginController;

/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "api" middleware group. Make something great!
|
*/
Route::post('/login/mahasiswa', [MahasiswaLoginController::class, 'login']);
Route::post('/logout/mahasiswa', [MahasiswaLoginController::class, 'logout']);

//CRUD

//  Alat
Route::get('/alat', [AlatController::class, 'showAlat']);
Route::post('/alat/add_alat', [AlatController::class, 'createAlatProcess']);
Route::get('/alat/{id}', [AlatController::class, 'editAlatForm']);
Route::put('/alat/update/{id}', [AlatController::class, 'editAlatProcess']);
Route::delete('/alat/{id}', [AlatController::class, 'deleteAlat']);

// Jenis Alat
Route::get('/jalat', [JenisAlatController::class, 'showJenisAlat']);
Route::post('/jalat/add_jalat', [JenisAlatController::class, 'createJenisAlatProcess']);
Route::get('/jalat/{id}', [JenisAlatController::class, 'editJenisAlatForm']);
Route::put('/jalat/update/{id}', [JenisAlatController::class, 'editJenisAlatProcess']);
Route::delete('/jalat/{id}', [JenisAlatController::class, 'deleteJenisAlat']);

// Tipe
Route::get('/tipe', [TipeController::class, 'showTipe']);
Route::post('/tipe/add_tipe', [TipeController::class, 'createTipeProcess']);
Route::get('/tipe/{id}', [TipeController::class, 'editTipeForm']);
Route::put('/tipe/update/{id}', [TipeController::class, 'editTipeProcess']);
Route::delete('/tipe/{id}', [TipeController::class, 'deleteTipe']);

// Merk
Route::get('/merk', [MerkController::class, 'showMerk']);
Route::post('/merk/add_merk', [MerkController::class, 'createMerkProcess']);
Route::get('/merk/{id}', [MerkController::class, 'editMerkForm']);
Route::put('/merk/update/{id}', [MerkController::class, 'editMerkProcess']);
Route::delete('/merk/{id}', [MerkController::class, 'deleteMerk']);

//  Bhp
Route::get('/bhp', [BhpController::class, 'showBhp']);
Route::post('/bhp/add_bhp', [BhpController::class, 'createBhpProcess']);
Route::get('/bhp/{id}', [BhpController::class, 'editBhpForm']);
Route::put('/bhp/update/{id}', [BhpController::class, 'editBhpProcess']);
Route::delete('/bhp/{id}', [BhpController::class, 'deleteBhp']);

//  Jenis Bhp
Route::get('/jbhp', [JenisBhpController::class, 'showJenisBhp']);
Route::post('/jbhp/add_jbhp', [JenisBhpController::class, 'createJenisBhpProcess']);
Route::get('/jbhp/{id}', [JenisBhpController::class, 'editJenisBhpForm']);
Route::put('/jbhp/update/{id}', [JenisBhpController::class, 'editJenisBhpProcess']);
Route::delete('/jbhp/{id}', [JenisBhpController::class, 'deleteJenisBhp']);

// Ruang
Route::get('/ruang', [RuangController::class, 'showRuang']);
Route::post('/ruang/add_ruang', [RuangController::class, 'createRuangProcess']);
Route::get('/ruang/{id}', [RuangController::class, 'editRuangForm']);
Route::put('/ruang/update/{id}', [RuangController::class, 'editRuangProcess']);
Route::delete('/ruang/{id}', [RuangController::class, 'deleteRuang']);

// Lantai
Route::get('/lantai', [LantaiController::class, 'showLantai']);
Route::post('/lantai/add_lantai', [LantaiController::class, 'createLantaiProcess']);
Route::get('/lantai/{id}', [LantaiController::class, 'editLantaiForm']);
Route::put('/lantai/update/{id}', [LantaiController::class, 'editLantaiProcess']);
Route::delete('/lantai/{id}', [LantaiController::class, 'deleteLantai']);

// Kampus
Route::get('/kampus', [KampusController::class, 'showKampus']);
Route::post('/kampus/add_kampus', [KampusController::class, 'createKampusProcess']);
Route::get('/kampus/{id}', [KampusController::class, 'editKampusForm']);
Route::put('/kampus/update/{id}', [KampusController::class, 'editKampusProcess']);
Route::delete('/kampus/{id}', [KampusController::class, 'deleteKampus']);

// Gedung
Route::get('/gedung', [GedungController::class, 'showGedung']);
Route::post('/gedung/add_gedung', [GedungController::class, 'createGedungProcess']);
Route::get('/gedung/{id}', [GedungController::class, 'editGedungForm']);
Route::put('/gedung/update/{id}', [GedungController::class, 'editGedungProcess']);
Route::delete('/gedung/{id}', [GedungController::class, 'deleteGedung']);





Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
    return $request->user();
});