<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class StoreAlbumRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        switch ($this->method())
        {
            case 'POST':
                return [
                    'description' => '',
                    'name' => 'required|album_path_unique|max:255',
                    'storage_id' => 'required|sometimes'
                ];

            case 'PATCH':
            case 'PUT':
                $albumId = intval($this->segment(3));

                return [
                    'description' => 'sometimes',
                    'name' => 'required|sometimes|max:255|album_path_unique:' . $albumId,
                    'storage_id' => 'required|sometimes'
                ];
        }
    }
}