knuckleswtf / scribe

Generate API documentation for humans from your Laravel codebase.✍
https://scribe.knuckles.wtf/laravel/
MIT License
1.59k stars 281 forks source link

Rule::enum overrides description #665

Closed Rasmus-Bertell closed 1 year ago

Rasmus-Bertell commented 1 year ago

Scribe version

4.19.0

PHP version

8.2.5

Framework

Laravel

Framework version

10.8.0

Scribe config

type => "laravel"

What happened?

Validation rule Rule::enum(...) overrides description defined in public static function queryParameters() {...}, I think it should be appended instead. In the following example it only generates an entry saying Must be one of red, green, or blue..

<?php

namespace App\Http\Requests;

use App\Enums\Colors;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;

class TestRequest extends FormRequest
{
    public function rules(): array
    {
        return [
            'types.*' => [Rule::enum(Colors::class)],
        ];
    }

    public static function queryParameters(): array
    {
        return [
            'types.*' => [
                'description' => 'This text is overridden with text from enum and never shown.',
            ],
        ];
    }
}
<?php

namespace App\Enums;

enum Colors: string
{
    case Red = 'red';
    case Green = 'green';
    case Blue = 'blue';
}

Docs