<?php

namespace App\Model\Facades;



use App\Model\Facades\Readers\UserAccountReader;
use App\Model\Facades\Readers\UserReader;
use App\Model\Facades\Writers\PermissionWriter;
use App\Model\Facades\Writers\UserAccountWriter;

class UserFacade extends BaseFacade
{
    /** @var UserAccountReader */
    protected $userAccountReader;
    /** @var UserAccountWriter */
    protected $userAccountWriter;
    /** @var UserReader */
    protected $userReader;
    /** @var PermissionWriter */
    protected $permissionWriter;

    public function __construct(UserAccountReader $userAccountReader, UserAccountWriter $userAccountWriter,
                                UserReader $userReader, PermissionWriter $permissionWriter)
    {
        $this->userAccountReader = $userAccountReader;
        $this->userAccountWriter = $userAccountWriter;
        $this->userReader = $userReader;
        $this->permissionWriter = $permissionWriter;
    }

    /**
     * @return UserAccountReader
     */
    public function getUserAccountReader()
    {
        return $this->userAccountReader;
    }

    /**
     * @return UserAccountWriter
     */
    public function getUserAccountWriter()
    {
        return $this->userAccountWriter;
    }

    /**
     * @return UserReader
     */
    public function getUserReader()
    {
        return $this->userReader;
    }

    /**
     * @return PermissionWriter
     */
    public function getPermissionWriter()
    {
        return $this->permissionWriter;
    }

}