<?php

namespace App\Generated\Controllers\V1_1;

use App\Generated\V1_1\Messages\Mock\ThumbPartnerMessage;
use App\Generated\V1_1\Messages\Mock\AddBlackListMessage;
use App\Generated\V1_1\Messages\Mock\SendFriendApplyMessage;
use App\Generated\V1_1\Messages\Mock\DeleteBlackListMessage;
use App\Generated\V1_1\Messages\Mock\SendSystemMessageMessage;
use App\Http\Controllers\Controller;
use App\Http\Services\V1_1\MockService;
use DB;

class MockController extends Controller
{
    public $handler;

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

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

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

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

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

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

}
