<?php

namespace App\Generated\Controllers\V1_1;

use App\Generated\V1_1\Messages\Notice\GetNoticeProfileListMessage;
use App\Http\Controllers\Controller;
use App\Http\Services\V1_1\NoticeService;
use App\Generated\V1_1\Messages\Notice\UpdateNoticeByKeyMessage;
use App\Generated\V1_1\Messages\Notice\GetNoticeByKeyToIntMessage;
use DB;
use App\Generated\V1_1\Messages\Notice\UpdateNoticeByGroupMessage;

class NoticeController extends Controller
{
    public $handler;

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

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

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

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

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

}
