<?php

namespace Modules\VisitorMessage\Services;

use Illuminate\Http\Request;
use Modules\VisitorMessage\Interfaces\VisitorMessageRepositoryInterface;
use Modules\VisitorMessage\Models\VisitorMessage;

class VisitorMessageService
{
    private VisitorMessageRepositoryInterface $visitorMessageRepository ;

    public function __construct(VisitorMessageRepositoryInterface $visitorMessageRepository)
    {
        $this->visitorMessageRepository = $visitorMessageRepository;
    }

    public function get(Request $request)
    {
        $categories = $this->visitorMessageRepository->get($request);
        return $categories;
    }
    public function getItem(VisitorMessage $visitorMessage)
    {
        $visitorMessage = $this->visitorMessageRepository->getItem($visitorMessage);
        return $visitorMessage;
    }
    public function save(Request $request, ?VisitorMessage $visitorMessage): VisitorMessage
    {
        $visitorMessage = $this->visitorMessageRepository->save($request,$visitorMessage);
        return $visitorMessage;
    }
    public function reply(Request $request, ?VisitorMessage $visitorMessage): void
    {
        $visitorMessage = $this->visitorMessageRepository->reply($request,$visitorMessage);
    }
    public function replies(VisitorMessage $visitorMessage)
    {
        $replies = $this->visitorMessageRepository->replies($visitorMessage);
        return $replies;
    }


    public function destroy(Request $request, int $id): array
    {
        $response = $this->visitorMessageRepository->destroy($request,$id);
        return $response;
    }
    public function destroyAll(Request $request): array
    {
        $response = $this->visitorMessageRepository->destroyAll($request);
        return $response;
    }
    public function restore(Request $request, int $id): array
    {
        $response = $this->visitorMessageRepository->restore($request,$id);
        return $response;
    }
    public function restoreAll(Request $request): array
    {
        $response = $this->visitorMessageRepository->restoreAll($request);
        return $response;
    }
}
