<?php

namespace App\Generated\Controllers\V1;

use App\Generated\V1\Messages\Partner\SetPartnerSellMessage;
use App\Generated\V1\Messages\Partner\ThumbPartnerMessage;
use App\Http\Controllers\Controller;
use App\Http\Services\V1\PartnerService;
use App\Generated\V1\Messages\Partner\LockLikeMeMessage;
use DB;
use App\Generated\V1\Messages\Partner\GetPartnerUserMessage;

class PartnerController extends Controller
{
    public $handler;

    public function __construct(PartnerService $handler)
    {
        $this->handler = $handler;
    }

    public function lockLikeMe(LockLikeMeMessage $message)
    {
        $message->validateInput();
        $this->handler->lockLikeMe($message);
        $message->validateOutput();
        return $message->getResponse();
    }

    public function setPartnerSell(SetPartnerSellMessage $message)
    {
        $message->validateInput();
        $this->handler->setPartnerSell($message);
        $message->validateOutput();
        return $message->getResponse();
    }

    public function thumbPartner(ThumbPartnerMessage $message)
    {
        $message->validateInput();
        $this->handler->thumbPartner($message);
        $message->validateOutput();
        return $message->getResponse();
    }

    public function getPartnerUser(GetPartnerUserMessage $message)
    {
        $message->validateInput();
        $this->handler->getPartnerUser($message);
        $message->validateOutput();
        return $message->getResponse();
    }

}
