<?php

declare (strict_types = 1);

namespace App\Nova;

use App\Rules\isNameForCategoryAvaiable;
use Laravel\Nova\Fields\Text;
use Laravel\Nova\Http\Requests\NovaRequest;

class Category extends Resource
{

    public static $model = \App\Models\Category::class;

    public static $title = 'name';

    public static $search = [
        'name',
    ];

    public function fields(NovaRequest $request)
    {
        return [
            Text::make('Name')
                ->sortable()
                ->rules('required', 'max:255', new isNameForCategoryAvaiable)
                ->creationRules('unique:categories,name')
                ->updateRules('unique:categories,name,{{resourceId}}'),
        ];
    }

    public function cards(NovaRequest $request)
    {
        return [];
    }

    public function filters(NovaRequest $request)
    {
        return [];
    }

    public function lenses(NovaRequest $request)
    {
        return [];
    }

    public function actions(NovaRequest $request)
    {
        return [];
    }
}