<?php

namespace App\Http\Controllers\Owner\WebChannel\Dto;

use App\Modules\Leads\WebChannel\Domain\WebChannelStatus;

class WebChannelUpdateDTO
{

    public static function validateData()
    {
        return [
            'WebChannel_Name' => 'required|string|max:250',
            'WebChannel_Icon' => 'image|mimes:' . config("var.MIME_IMG"),
            'WebChannel_Icon_Thumb' => 'image|mimes:' . config("var.MIME_IMG"),
            'WebChannel_Status' => 'required|in:' . implode(',', WebChannelStatus::validValues()),
            'Id_WebChannel' => 'required|int',
            'WebChannel_Version' => 'required|int',
            'WebChannel_Booking_Type'  => 'required|int',
            'WebChannel_Order' => 'required|int'
        ];
    }

    public function __construct(
        public string $WebChannel_Name,
        public $WebChannel_Icon,
        public $WebChannel_Icon_Thumb,
        public int $WebChannel_Status,
        public string $Id_WebChannel,
        public string $WebChannel_Version,
        public int $Webchannel_Booking_Type,
        public int $WebChannel_Order,
    ) {}
}
