<?php
namespace App\Http\Controllers\DJ;
use App\Http\Controllers\Controller;
use App\Models\Request;
use App\Models\RequestBan;
use Illuminate\Http\Request as HttpRequest;
use Vinkla\Pusher\Facades\Pusher;
class RequestController extends Controller
{
public function getList()
{
$requests = Request::orderBy('id', 'desc')->paginate(15);
return view('dj.requests', ['requests' => $requests]);
}
public function deleteRequest(int $id)
{
Request::findOrFail($id)->delete();
return redirect()->back()->with('msg', ['type' => 'success', 'msg' => 'Successfully deleted request.']);
}
public function request(HttpRequest $request)
{
$this->validate($request, [
'name' => 'required|string|max:30',
'request' => 'required|string|max:500'
]);
if (RequestBan::where('ip', $request->ip())->count()) {
abort(403);
}
$r = new Request;
$r->name = $request->get('name');
$r->request = $request->get('request');
$r->ip_address = $request->ip();
$r->save();
Pusher::trigger('private-dj', 'request', ['msg' => str_limit(e($r->request)), 'sender' => e($r->name)]);
return ['type' => 'success', 'msg' => _('Successfully submitted your request. We\'ll let the DJ know!')];
}
}