diff options
Diffstat (limited to 'lib/public/DirectEditing/ATemplate.php')
-rw-r--r-- | lib/public/DirectEditing/ATemplate.php | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/lib/public/DirectEditing/ATemplate.php b/lib/public/DirectEditing/ATemplate.php new file mode 100644 index 00000000000..a70488d8e89 --- /dev/null +++ b/lib/public/DirectEditing/ATemplate.php @@ -0,0 +1,51 @@ +<?php + +/** + * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +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 + */ + public function jsonSerialize(): array { + return [ + 'id' => $this->getId(), + 'title' => $this->getTitle(), + 'preview' => $this->getPreview(), + ]; + } +} |