feat(menu): implement TenantMenuController, StoreTenantMenuRequest, and TenantMenuService for managing tenant-specific menus

This commit is contained in:
2026-07-23 16:23:19 -03:00
parent 5ada399adf
commit 2b1ef5f8a9
5 changed files with 243 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
<?php
namespace App\Domains\Menu\Services;
use App\Domains\Menu\Models\Menu;
use App\Domains\Menu\Models\TenantMenu;
use App\Domains\Tenant\Models\Tenant;
use Illuminate\Support\Facades\DB;
class TenantMenuService
{
public function configure(Tenant $tenant, Menu $menu, ?array $staticContent): TenantMenu
{
return DB::transaction(fn () => TenantMenu::query()->updateOrCreate(
[
'tenant_code' => $tenant->codigo,
'menu_code' => $menu->code,
],
[
'static_content' => $menu->content_type === Menu::CONTENT_TYPE_STATIC
? $staticContent
: null,
],
));
}
}