<?php

namespace App\Generated\V1\Messages\AdminPartner;

use App\Generated\V1\Enums\Gender;
use Kamicloud\StubApi\Concerns\ValueHelper;
use Kamicloud\StubApi\Http\Messages\Message;
use Kamicloud\StubApi\Utils\Constants;
use App\Generated\V1\DTOs\AdminPartnerDTO;
use App\Generated\V1\DTOs\PageDTO;

class IsSelectedListMessage extends Message
{
    use ValueHelper;

    protected $pages;
    protected $isFeedPush;
    protected $sex;
    protected $page;
    protected $partners;

    /**
     * 页码
     * @return int|null
     */
    public function getPages()
    {
        return $this->pages;
    }

    /**
     * 是否只看可推流的:true=是;false=全部
     * @return boolean|null
     */
    public function getIsFeedPush()
    {
        return $this->isFeedPush;
    }

    /**
     * 是否只看可推流的:true=是;false=全部
     * @return boolean|null
     */
    public function isIsFeedPush()
    {
        return $this->isFeedPush;
    }

    /**
     * 性别 0=全部
     * @return mixed|null
     */
    public function getSex()
    {
        return $this->sex;
    }

    public function requestRules()
    {
        return [
            ['pages', 'pages', 'bail|nullable|integer', Constants::INTEGER | Constants::OPTIONAL, null],
            ['isFeedPush', 'is_feed_push', 'bail|nullable|boolean', Constants::BOOLEAN | Constants::OPTIONAL, null],
            ['sex', 'sex', Gender::class, Constants::ENUM | Constants::OPTIONAL, null],
        ];
    }

    public function responseRules()
    {
        return [
            ['page', 'page', PageDTO::class, Constants::MODEL, null],
            ['partners', 'partners', AdminPartnerDTO::class, Constants::MODEL | Constants::ARRAY, null],
        ];
    }

    public function setResponse($page, $partners)
    {
        $this->page = $page;
        $this->partners = $partners;
    }

}
