HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/azenio.komma.pro/app/Pages/Kms/PageRouteService.php
<?php declare(strict_types=1);


namespace App\Pages\Kms;


use App\Pages\Models\Page;
use App\Pages\Models\PageTranslation;
use App\Routes\RedirectRouteModelInterface;
use App\Routes\RouteService;
use Illuminate\Database\Eloquent\Model;

class PageRouteService extends RouteService
{
    /**
     * Creates or updates routes for the specified Page's translations if needed.
     * Important to know is that you need to run this method after the translation has been saved.
     *
     * @param Model $model
     * @param int $redirectCode one of the HTTPStatusCode_308 constants from RedirectRouteModelInterface. Defaults to RedirectRouteModelInterface::HTTPStatusCode_308
     * @return Model $model
     */
    public function createOrUpdateRoutesForModelsTranslationsIfChanged(Model $model, int $redirectCode = RedirectRouteModelInterface::HTTPStatusCode_308): Model {
        /** @var Page $model */
        $model = parent::createOrUpdateRoutesForModelsTranslationsIfChanged($model, $redirectCode);
        $model->translations->each(function (PageTranslation $pageTranslation) use ($model) {
            if(!$pageTranslation->route) return;
            $route = $pageTranslation->route;
            if ($model->has_wildcard) {
                //Turn it into a wildcard route if needed
                $route->route = $model->code_name;
            } else {
               $route->route = $this->generateRealRouteForModel($model);
            }
            $route->save();
        });

        return $model;
    }
}