* SPDX-License-Identifier: AGPL-3.0-or-later */ namespace KTXF\Resource\Provider; use KTXF\Json\JsonDeserializable; interface ResourceProviderServiceMutateInterface extends ResourceProviderBaseInterface, JsonDeserializable { /** * construct and new blank service instance * * @since 2025.05.01 */ public function serviceFresh(): ResourceServiceMutateInterface; /** * create a service configuration for a specific user * * @since 2025.05.01 */ public function serviceCreate(string $tenantId, string $userId, ResourceServiceMutateInterface $service): string; /** * modify a service configuration for a specific user * * @since 2025.05.01 */ public function serviceModify(string $tenantId, string $userId, ResourceServiceMutateInterface $service): string; /** * delete a service configuration for a specific user * * @since 2025.05.01 */ public function serviceDestroy(string $tenantId, string $userId, ResourceServiceMutateInterface $service): bool; }