vito/app/Http/Controllers/QueueController.php
Saeed Vaziry 428140b931
refactoring (#116)
- refactoring architecture
- fix incomplete ssh logs
- code editor for scripts in the app
- remove Jobs and SSHCommands
2024-03-14 20:03:43 +01:00

55 lines
1.3 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Actions\Queue\CreateQueue;
use App\Actions\Queue\DeleteQueue;
use App\Actions\Queue\ManageQueue;
use App\Facades\Toast;
use App\Helpers\HtmxResponse;
use App\Models\Queue;
use App\Models\Server;
use App\Models\Site;
use Illuminate\Contracts\View\View;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
class QueueController extends Controller
{
public function index(Server $server, Site $site): View
{
return view('queues.index', [
'server' => $server,
'site' => $site,
'queues' => $site->queues,
]);
}
public function store(Server $server, Site $site, Request $request): HtmxResponse
{
app(CreateQueue::class)->create($site, $request->input());
Toast::success('Queue is being created.');
return htmx()->back();
}
public function action(Server $server, Site $site, Queue $queue, string $action): HtmxResponse
{
app(ManageQueue::class)->{$action}($queue);
Toast::success('Queue is about to '.$action);
return htmx()->back();
}
public function destroy(Server $server, Site $site, Queue $queue): RedirectResponse
{
app(DeleteQueue::class)->delete($queue);
Toast::success('Queue is being deleted.');
return back();
}
}