<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class StoreMeetingRequest extends FormRequest
{
    public function authorize(): bool
    {
        return true;
    }

    public function rules(): array
    {
        return [
            'title' => 'required|string|max:255',
            'project_id' => 'nullable|exists:projects,id',
            'sprint_id' => 'nullable|exists:sprints,id',
            'meeting_type_id' => 'nullable|exists:meeting_types,id',
            'date' => 'required|date',
            'start_time' => 'nullable|date_format:H:i',
            'end_time' => 'nullable|date_format:H:i|after:start_time',
            'meeting_type' => 'required|string|max:50',
            'status' => 'nullable|string|in:draft,scheduled,in_progress,completed,cancelled,postponed',
            'objective' => 'nullable|string|max:2000',
            'agenda' => 'nullable|string',
            'notes' => 'nullable|string',
            'summary' => 'nullable|string',
            'location' => 'nullable|string|max:255',
            'meeting_link' => 'nullable|url|max:2048',
            'owner_id' => 'nullable|exists:users,id',
            'facilitator_id' => 'nullable|exists:users,id',
            'reminder_minutes' => 'nullable|integer|min:0|max:10080',
            'recurrence_rule' => 'nullable|array',
        ];
    }
}
