<?php

namespace App\Generated\Controllers\V1_1;

use App\Generated\V1_1\Messages\UserHome\GetLikeMeListMessage;
use App\Generated\V1_1\Messages\UserHome\GetVisitorListMessage;
use App\Generated\V1_1\Messages\UserHome\RemindComplementCardMessage;
use App\Http\Controllers\Controller;
use App\Http\Services\V1_1\UserHomeService;
use App\Generated\V1_1\Messages\UserHome\GetMyLikeListMessage;
use DB;
use App\Generated\V1_1\Messages\UserHome\GetPopularityMessage;

class UserHomeController extends Controller
{
    public $handler;

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

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

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

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

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

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

}
