<?php

namespace App\Http\Controllers\Frontend;

use App\Http\Controllers\Controller;
use App\Http\Resources\GlobalConfigurationResource;
use App\Http\Resources\MenuResource;
use App\Models\Backoffice\Menu;
use App\Models\GlobalConfiguration;
use Illuminate\Support\Facades\Cache;

class GlobalController extends Controller
{
    public function getConfiguration()
    {
        $globalConf = GlobalConfiguration::first();

        return new GlobalConfigurationResource($globalConf);
    }

    public function getMenus()
    {
        $menuOut = Cache::get('menus');

        if (!$menuOut) {
            $menus = Menu::all();

            $menuOut = [];
            foreach ($menus as $menu) {
                $menuOut[$menu->slug] = (new MenuResource($menu))->resolve();
            }
            Cache::put('menus', $menuOut, 60);
        }

        return response()->json($menuOut);
    }
}
