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/AttributesWebService.php
<?php

require_once(ROOT_DIR . 'lib/WebService/namespace.php');
require_once(ROOT_DIR . 'lib/Application/Attributes/namespace.php');
require_once(ROOT_DIR . 'WebServices/Responses/CustomAttributes/CustomAttributesResponse.php');

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

    /**
     * @var IAttributeService
     */
    private $attributeService;

    public function __construct(IRestServer $server, IAttributeService $attributeService)
    {
        $this->server = $server;
        $this->attributeService = $attributeService;
    }

    /**
     * @name GetCategoryAttributes
     * @description Gets all custom attribute definitions for the requested category
     * Categories are RESERVATION = 1, USER = 2, RESOURCE = 4
     * @response CustomAttributesResponse
     * @return void
     * @param int $categoryId
     */
    public function GetAttributes($categoryId)
    {
        $attributes = $this->attributeService->GetByCategory($categoryId);

        $this->server->WriteResponse(new CustomAttributesResponse($this->server, $attributes));
    }

    /**
     * @name GetAttribute
     * @description Gets all custom attribute definitions for the requested attribute
     * @response CustomAttributeDefinitionResponse
     * @return void
     * @param int $attributeId
     */
    public function GetAttribute($attributeId)
    {
        $attribute = $this->attributeService->GetById($attributeId);

        if ($attribute != null) {
            $this->server->WriteResponse(new CustomAttributeDefinitionResponse($this->server, $attribute));
        } else {
            $this->server->WriteResponse(RestResponse::NotFound(), RestResponse::NOT_FOUND_CODE);
        }
    }
}