add log controller
This commit is contained in:
41
app/Http/Controllers/Api/LogController.php
Normal file
41
app/Http/Controllers/Api/LogController.php
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Api;
|
||||||
|
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class LogController extends ApiController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* ApplicationController constructor.
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->middleware('auth:sanctum')
|
||||||
|
->only(['show']);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display the specified resource.
|
||||||
|
*
|
||||||
|
* @param Request $request The log request.
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function show(Request $request)
|
||||||
|
{
|
||||||
|
if($request->has('name') && $request->user()?->hasPermission('logs/' . $request->get('name'))) {
|
||||||
|
switch(strtolower($request->has('name'))) {
|
||||||
|
case 'discord':
|
||||||
|
$contents = '';
|
||||||
|
$filePath = '/opt/discordbot/discordbot.log';
|
||||||
|
if(file_exists($filePath) === true) {
|
||||||
|
$contents = file_get_contents($filePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->respondJson(['log' => $contents]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->respondForbidden();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -42,6 +42,7 @@ Route::delete('subscriptions', [SubscriptionController::class, 'destroyByEmail']
|
|||||||
|
|
||||||
Route::post('/contact', [ContactController::class, 'send']);
|
Route::post('/contact', [ContactController::class, 'send']);
|
||||||
|
|
||||||
|
Route::get('/logs/{name}', [LogController::class, 'show']);
|
||||||
|
|
||||||
Route::middleware('auth:sanctum')->group(function () {
|
Route::middleware('auth:sanctum')->group(function () {
|
||||||
Route::post('/logout', [AuthController::class, 'logout']);
|
Route::post('/logout', [AuthController::class, 'logout']);
|
||||||
|
|||||||
Reference in New Issue
Block a user