Migrate backend to Porto architecture and fix minor bugs
- Fully transitioned the backend to the Porto architectural pattern - Improved code organization and maintainability - Fixed minor bugs and inconsistencies
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Observers;
|
||||
|
||||
use App\Models\AcademicJournal;
|
||||
use App\Containers\Science\Models\AcademicJournal;
|
||||
use App\Services\App\Cache\AcademicJournalCacheService;
|
||||
|
||||
class AcademicJournalObserver
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Observers;
|
||||
|
||||
use App\Models\AdditionalEducation;
|
||||
use App\Containers\AdditionalEducation\Models\AdditionalEducation;
|
||||
use App\Services\App\Cache\AdditionalEducationCacheService;
|
||||
|
||||
class AdditionalEducationObserver
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Observers;
|
||||
|
||||
use App\Models\Category;
|
||||
use App\Containers\Article\Models\Category;
|
||||
use App\Services\App\Cache\CategoryCacheService;
|
||||
|
||||
class CategoryObserver
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Observers;
|
||||
|
||||
use App\Models\ContactWidget;
|
||||
use App\Containers\Widget\Models\ContactWidget;
|
||||
use App\Services\App\Cache\ContactWidgetCacheService;
|
||||
|
||||
class ContactWidgetObserver
|
||||
|
||||
@@ -2,10 +2,8 @@
|
||||
|
||||
namespace App\Observers;
|
||||
|
||||
use App\Containers\Widget\Models\CustomFormResponse;
|
||||
use App\Jobs\SendFormResponseMail;
|
||||
use App\Mail\CustomFormResponseMail;
|
||||
use App\Models\CustomFormResponse;
|
||||
use Illuminate\Support\Facades\Mail;
|
||||
|
||||
class CustomFormResponseObserver
|
||||
{
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Observers;
|
||||
|
||||
use App\Models\Department;
|
||||
use App\Containers\InstituteStructure\Models\Department;
|
||||
use App\Services\App\Cache\DepartmentCacheService;
|
||||
|
||||
class DepartmentObserver
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Observers;
|
||||
|
||||
use App\Models\Division;
|
||||
use App\Containers\InstituteStructure\Models\Division;
|
||||
use App\Services\App\Cache\DivisionCacheService;
|
||||
|
||||
class DivisionObserver
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Observers;
|
||||
|
||||
use App\Models\EducationalProgram;
|
||||
use App\Containers\Education\Models\EducationalProgram;
|
||||
use App\Services\App\Cache\EducationalProgramCacheService;
|
||||
|
||||
class EducationalProgramObserver
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Observers;
|
||||
|
||||
use App\Models\Event;
|
||||
use App\Containers\Event\Models\Event;
|
||||
use App\Services\App\Cache\EventCacheService;
|
||||
|
||||
class EventObserver
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Observers;
|
||||
|
||||
use App\Models\Faculty;
|
||||
use App\Containers\InstituteStructure\Models\Faculty;
|
||||
use App\Services\App\Cache\FacultyCacheService;
|
||||
|
||||
class FacultyObserver
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Observers;
|
||||
|
||||
use App\Models\MainSection;
|
||||
use App\Containers\AppStructure\Models\MainSection;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
|
||||
class MainSectionObserver
|
||||
|
||||
@@ -1,78 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Observers;
|
||||
|
||||
use App\Models\MainSlider;
|
||||
use App\Services\App\Cache\MainSliderCacheService;
|
||||
|
||||
class MainSliderObserver
|
||||
{
|
||||
|
||||
protected MainSliderCacheService $cacheService;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->cacheService = new MainSliderCacheService();
|
||||
}
|
||||
/**
|
||||
* Handle the MainSlider "created" event.
|
||||
*/
|
||||
public function created(MainSlider $mainSlider): void
|
||||
{
|
||||
|
||||
|
||||
// Устанавливаем сортировку для новой записи
|
||||
$mainSlider->sort = 1;
|
||||
$mainSlider->save();
|
||||
|
||||
// Обновляем сортировку для всех остальных записей
|
||||
$this->updateSortOrder($mainSlider->id);
|
||||
|
||||
$this->cacheService->clearAllCacheByModel();
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the MainSlider "updated" event.
|
||||
*/
|
||||
public function updated(MainSlider $mainSlider): void
|
||||
{
|
||||
$this->cacheService->clearAllCacheByModel();
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the MainSlider "deleted" event.
|
||||
*/
|
||||
public function deleted(MainSlider $mainSlider): void
|
||||
{
|
||||
$this->cacheService->clearAllCacheByModel();
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the MainSlider "restored" event.
|
||||
*/
|
||||
public function restored(MainSlider $mainSlider): void
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the MainSlider "force deleted" event.
|
||||
*/
|
||||
public function forceDeleted(MainSlider $mainSlider): void
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
protected function updateSortOrder($id): void
|
||||
{
|
||||
// Получаем все записи, отсортированные по текущему значению sort
|
||||
$slides = MainSlider::orderBy('sort', 'asc')->where('id', '!=', $id)->get();
|
||||
|
||||
if ($slides->count() > 0) {
|
||||
foreach ($slides as $index => $slide) {
|
||||
$slide->sort = $index + 2; // Начинаем с 1
|
||||
$slide->save();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Observers;
|
||||
|
||||
use App\Models\Page;
|
||||
use App\Containers\AppStructure\Models\Page;
|
||||
use App\Services\App\Cache\PageCacheService;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Observers;
|
||||
|
||||
use App\Models\PageReferenceList;
|
||||
use App\Containers\Widget\Models\PageReferenceList;
|
||||
use App\Services\App\Cache\PageReferenceListCacheService;
|
||||
|
||||
class PageReferenceListObserver
|
||||
|
||||
@@ -2,11 +2,8 @@
|
||||
|
||||
namespace App\Observers;
|
||||
|
||||
use App\Models\Post;
|
||||
use App\Containers\Article\Models\Post;
|
||||
use App\Services\App\Cache\PostCacheService;
|
||||
use Filament\Notifications\Notification;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Illuminate\Support\Facades\Redirect;
|
||||
|
||||
class PostObserver
|
||||
{
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Observers;
|
||||
|
||||
use App\Models\Schedule;
|
||||
use App\Containers\Schedule\Models\Schedule;
|
||||
use App\Services\App\Cache\ScheduleCacheService;
|
||||
|
||||
class ScheduleObserver
|
||||
|
||||
@@ -2,9 +2,7 @@
|
||||
|
||||
namespace App\Observers;
|
||||
|
||||
use App\Models\MainSlider;
|
||||
use App\Models\Slide;
|
||||
use App\Services\App\Cache\MainSliderCacheService;
|
||||
use App\Containers\Widget\Models\Slide;
|
||||
use App\Services\App\Cache\SliderCacheService;
|
||||
|
||||
class SlideObserver
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Observers;
|
||||
|
||||
use App\Models\SubSection;
|
||||
use App\Containers\AppStructure\Models\SubSection;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
|
||||
class SubSectionObserver
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Observers;
|
||||
|
||||
use App\Models\Tag;
|
||||
use App\Containers\Article\Models\Tag;
|
||||
use App\Services\App\Cache\TagCacheService;
|
||||
|
||||
class TagObserver
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Observers;
|
||||
|
||||
use App\Models\User;
|
||||
use App\Containers\User\Models\User;
|
||||
use App\Services\App\Cache\UserCacheService;
|
||||
|
||||
class UserObserver
|
||||
|
||||
Reference in New Issue
Block a user