Server IP : 10.111.20.6  /  Your IP : 216.73.217.121
Web Server : Apache
System : Linux webm006.cluster111.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User : edizioni ( 7252)
PHP Version : 8.3.23
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0705) :  /home/edizioni/stampaeweb/../wordpress/../extonymask/book/WebServices/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/edizioni/stampaeweb/../wordpress/../extonymask/book/WebServices/AccessoriesWebService.php
<?php

require_once(ROOT_DIR . 'lib/WebService/namespace.php');
require_once(ROOT_DIR . 'Domain/Access/namespace.php');
require_once(ROOT_DIR . 'WebServices/Responses/AccessoriesResponse.php');
require_once(ROOT_DIR . 'WebServices/Responses/AccessoryResponse.php');

class AccessoriesWebService
{
    /**
     * @var IRestServer
     */
    private $server;

    /**
     * @var IResourceRepository
     */
    private $resourceRepository;

    /**
     * @var IAccessoryRepository
     */
    private $accessoryRepository;

    public function __construct(
        IRestServer $server,
        IResourceRepository $resourceRepository,
        IAccessoryRepository $accessoryRepository
    )
    {
        $this->server = $server;
        $this->resourceRepository = $resourceRepository;
        $this->accessoryRepository = $accessoryRepository;
    }

    /**
     * @name GetAllAccessories
     * @description Loads all accessories
     * @response AccessoriesResponse
     * @return void
     */
    public function GetAll()
    {
        $accessories = $this->resourceRepository->GetAccessoryList();
        $this->server->WriteResponse(new AccessoriesResponse($this->server, $accessories));
    }

    /**
     * @name GetAccessory
     * @description Loads a specific accessory by id
     * @param int $accessoryId
     * @response AccessoryResponse
     * @return void
     */
    public function GetAccessory($accessoryId)
    {
        $accessory = $this->accessoryRepository->LoadById($accessoryId);

        if (empty($accessory)) {
            $this->server->WriteResponse(RestResponse::NotFound(), RestResponse::NOT_FOUND_CODE);
        } else {
            $this->server->WriteResponse(new AccessoryResponse($this->server, $accessory));
        }
    }
}