dashboard-admin/app/Http/Controllers/Admin/AdminUserController.php

89 lines
2.3 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use App\Models\User;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class AdminUserController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
$users = User::where('role', 'User')
->orderByRaw("CASE WHEN status = 'Progress' THEN 1 WHEN status = 'Finished' THEN 2 WHEN status = 'Rejected' THEN 3 ELSE 4 END ASC")
->latest()
->get();
return view('admin.users.index', ['users' => $users]);
}
/**
* Display the specified resource.
*/
public function show($id)
{
$user = User::find($id);
return view('admin.users.detail-user', ['user' => $user]);
}
/**
* Remove the specified resource from storage.
*/
public function destroy($id)
{
try {
$result = User::destroy($id);
if ($result) {
return response()->json([
'message' => 'Berhasil hapus data',
'status' => true,
]);
}
} catch (\Exception $e) {
return response()->json([
'message' => 'Gagal hapus data, karena ' . $e,
'status' => false,
]);
}
}
public function approveUser($id)
{
$user = User::findOrFail($id);
$user->status = 'Finished';
$result = $user->save();
if ($result) {
return response()->json([
'message' => 'Akun telah disetujui dan dapat digunakan',
'status' => true,
]);
} else {
return response()->json([
'message' => 'Akun gagal disetujui karena ' + $result,
'status' => false,
]);
}
}
public function denyUser($id)
{
$user = User::findOrFail($id);
$user->status = 'Rejected';
$result = $user->save();
if ($result) {
return response()->json([
'message' => 'Akun telah ditolak dan tidak dapat digunakan',
'status' => true,
]);
} else {
return response()->json([
'message' => 'Akun gagal ditolak karena ' + $result,
'status' => false,
]);
}
}
}