aboutsummaryrefslogtreecommitdiffstats
path: root/lib/public/DirectEditing/IToken.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/public/DirectEditing/IToken.php')
-rw-r--r--lib/public/DirectEditing/IToken.php65
1 files changed, 65 insertions, 0 deletions
diff --git a/lib/public/DirectEditing/IToken.php b/lib/public/DirectEditing/IToken.php
new file mode 100644
index 00000000000..64abbf939f4
--- /dev/null
+++ b/lib/public/DirectEditing/IToken.php
@@ -0,0 +1,65 @@
+<?php
+
+/**
+ * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+namespace OCP\DirectEditing;
+
+use OCP\Files\File;
+use OCP\Files\NotFoundException;
+
+/**
+ * @since 18.0.0
+ */
+interface IToken {
+ /**
+ * Extend the token validity time
+ *
+ * @since 18.0.0
+ */
+ public function extend(): void;
+
+ /**
+ * Invalidate the token
+ *
+ * @since 18.0.0
+ */
+ public function invalidate(): void;
+
+ /**
+ * Check if the token has already been used
+ *
+ * @since 18.0.0
+ * @return bool
+ */
+ public function hasBeenAccessed(): bool;
+
+ /**
+ * Change to the user scope of the token
+ *
+ * @since 18.0.0
+ */
+ public function useTokenScope(): void;
+
+ /**
+ * Get the file that is related to the token
+ *
+ * @since 18.0.0
+ * @return File
+ * @throws NotFoundException
+ */
+ public function getFile(): File;
+
+ /**
+ * @since 18.0.0
+ * @return string
+ */
+ public function getEditor(): string;
+
+ /**
+ * @since 18.0.0
+ * @return string
+ */
+ public function getUser(): string;
+}