Logs/Http/Controllers/AuditLogsController.php

53 lines
1.4 KiB
PHP

<?php
namespace Modules\Logs\Http\Controllers;
use App\Http\Controllers\Controller;
use Modules\Logs\DataTables\AuditLogsDataTable;
use Spatie\Activitylog\Models\Activity;
use Illuminate\Support\Facades\Auth;
class AuditLogsController extends Controller
{
public $user;
public function __construct()
{
$this->middleware(function ($request, $next) {
$this->user = Auth::guard('web')->user();
return $next($request);
});
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index(AuditLogsDataTable $dataTable)
{
return $dataTable->render('logs::audit.index');
}
/**
* Remove the specified resource from storage.
*
* @param int $id
*
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
if (is_null($this->user) || !$this->user->can('logs.delete')) {
abort(403, 'Sorry !! You are Unauthorized to delete any data !');
}
$activity = Activity::find($id);
// Delete from db
$activity->delete();
echo json_encode(['status' => 'success', 'message' => 'Data deleted successfully.']);
}
}