<?php

namespace App\Generated\Controllers\V1;

use App\Http\Services\V1\ShareService;
use App\Generated\V1\Messages\Share\LikeMeMessage;
use App\Generated\V1\Messages\Share\PairGetMessage;
use App\Generated\V1\Messages\Share\LikeMeHistoryMessage;
use App\Http\Controllers\Controller;
use App\Generated\V1\Messages\Share\PairVipCheckMessage;
use DB;
use App\Generated\V1\Messages\Share\LikeMeCheckMessage;

class ShareController extends Controller
{
    public $handler;

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

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

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

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

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

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

}
