File "UpdateProjectRequest.php"

Full Path: /var/www/html/back/app/Domain/Project/UpdateProjectRequest.php
File size: 1.76 KB
MIME-type: text/x-php
Charset: utf-8

<?php

declare(strict_types=1);

namespace App\Domain\Project\Requests;

use App\BaseClasses\BaseApiRequest;

class UpdateProjectRequest extends BaseApiRequest
{
    public static function bodyParameters(): array
    {
        return [
            'project_limits' => ['description' => 'project_limits'],
            'status' => ['description' => 'status'],
            'offer_number' => ['description' => 'offer_number'],
            'object_address' => ['description' => 'object_address'],
            'short_description' => ['description' => 'short_description'],
            'description' => ['description' => 'description'],
            'project_group_id' => ['description' => 'project_group_id'],
        ];
    }

    public function authorize(): bool
    {
        return true;
    }

    public function rules(): array
    {
        return [
            'project_limits' => ['sometimes', 'numeric'],
            'status' => ['sometimes', 'string', 'max:255'],
            'offer_number' => ['sometimes', 'string', 'max:255'],
            'object_address' => ['sometimes', 'string', 'max:255'],
            'short_description' => ['sometimes', 'string', 'max:500'],
            'description' => ['nullable', 'string'],
            'project_group_id' => ['nullable', 'integer', 'exists:project_groups,id'],
        ];
    }

    public static function example(): array
    {
        return [
            'project_limits' => 100000,
            'status' => 'in_progress',
            'offer_number' => 'Оферта 12345',
            'object_address' => 'г. Москва, ул. Пушкина, д. 10',
            'short_description' => 'Тестовый проект',
            'description' => 'Описание проекта',
            'project_group_id' => 1,
        ];
    }


}