Files
server/shared/lib/Resource/Provider/ResourceServiceMutateInterface.php
2026-02-10 17:47:48 -05:00

58 lines
1.2 KiB
PHP

<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: Sebastian Krupinski <krupinski01@gmail.com>
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace KTXF\Resource\Provider;
use KTXF\Json\JsonDeserializable;
/**
* Resource Service Configurable Interface
*
* Extends base service interface with setter methods for mutable properties.
* Used for service configuration and updates.
*
* @since 2025.05.01
*/
interface ResourceServiceMutateInterface extends ResourceServiceBaseInterface, JsonDeserializable {
/**
* Sets the localized human-friendly name of this service (e.g. ACME Company Mail Service)
*
* @since 2025.05.01
*
* @param string $value Service label
*
* @return self
*/
public function setLabel(string $value): self;
/**
* Sets the active status of this service
*
* @since 2025.05.01
*
* @param bool $value True to enable, false to disable
*
* @return self
*/
public function setEnabled(bool $value): self;
/**
* Sets the auxiliary information of this service
*
* @since 2025.05.01
*
* @param array $value Arbitrary key-value pairs for additional service info
*
* @return self
*/
public function setAuxiliary(array $value): self;
}