feat: Refactor MainController and related tasks to follow Porto architecture

- Moved logic from MainController to dedicated action and task classes.
- Introduced GetMainPageDataAction, GetEducationsDataTask, GetRecentPostsTask, GetUpcomingEventsTask, and GetPageDataTask for better separation of concerns.
- Updated routes to use the new MainController from the Main container.
- Deprecated the old MainController with a clear message for future removal.
- Updated caching mechanisms to use the new task classes.
- Adjusted environment variable access to use config() instead of env() for better practice.
- Added new MainPageResource for structured data response.
- Updated .gitignore to exclude QWEN.md.
- Added Jenkins service to docker-compose for CI/CD integration.
This commit is contained in:
F4ilji
2025-12-16 12:20:01 +05:00
parent f631d12359
commit 2d101dcdda
25 changed files with 307 additions and 279 deletions
@@ -0,0 +1,21 @@
<?php
namespace App\Containers\Main\UI\WEB\Controllers;
use App\Containers\Main\Actions\GetMainPageDataAction;
use App\Ship\Controllers\Controller;
use Inertia\Inertia;
class MainController extends Controller
{
public function __construct(
private readonly GetMainPageDataAction $getMainPageDataAction
) {}
public function index()
{
$data = $this->getMainPageDataAction->run();
return Inertia::render('Main', $data);
}
}