2019-10-14 14:55:39 +00:00
|
|
|
<?php
|
|
|
|
/**
|
2024-05-23 07:26:56 +00:00
|
|
|
* SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
|
|
|
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
2019-10-14 14:55:39 +00:00
|
|
|
*/
|
|
|
|
namespace OCP\DirectEditing;
|
|
|
|
|
|
|
|
use JsonSerializable;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Class ATemplate
|
|
|
|
*
|
|
|
|
* @since 18.0.0
|
|
|
|
*/
|
|
|
|
abstract class ATemplate implements JsonSerializable {
|
|
|
|
/**
|
|
|
|
* Return a unique id so the app can identify the template
|
|
|
|
*
|
|
|
|
* @since 18.0.0
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
abstract public function getId(): string;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Return a title that is displayed to the user
|
|
|
|
*
|
|
|
|
* @since 18.0.0
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
abstract public function getTitle(): string;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Return a link to the template preview image
|
|
|
|
*
|
|
|
|
* @since 18.0.0
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
abstract public function getPreview(): string;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @since 18.0.0
|
|
|
|
*/
|
2021-10-19 15:11:53 +00:00
|
|
|
public function jsonSerialize(): array {
|
2019-10-14 14:55:39 +00:00
|
|
|
return [
|
|
|
|
'id' => $this->getId(),
|
|
|
|
'title' => $this->getTitle(),
|
|
|
|
'preview' => $this->getPreview(),
|
|
|
|
];
|
|
|
|
}
|
|
|
|
}
|