. */ namespace SP\Domain\CustomField\Ports; use SP\Domain\Common\Services\ServiceException; use SP\Domain\CustomField\Models\CustomFieldData; use SP\Domain\CustomField\Models\CustomFieldData as CustomFieldDataModel; /** * Class CustomFieldService * * @template T of CustomFieldDataModel */ interface CustomFieldDataService { /** * Desencriptar y formatear los datos del campo * * @throws ServiceException */ public function decrypt(string $data, string $key): ?string; /** * Returns the module's item for given id * * @throws ServiceException */ public function getBy(int $moduleId, ?int $itemId): array; /** * Updates an item * * @throws ServiceException */ public function updateOrCreate(CustomFieldData $customFieldData): void; /** * Eliminar los datos de los campos personalizados del módulo * * @throws ServiceException */ public function delete(array $itemsId, int $moduleId): void; /** * Creates an item * * @throws ServiceException */ public function create(CustomFieldData $customFieldData): void; /** * Update data using the given masterpass * * @throws ServiceException */ public function updateMasterPass(CustomFieldData $customFieldData, string $masterPass): int; /** * @return array * @throws ServiceException */ public function getAll(): array; /** * @return array * @throws ServiceException */ public function getAllEncrypted(): array; }