]> git.mxchange.org Git - friendica.git/blobdiff - src/Model/Storage/IStorage.php
Insert a `user-contact` for every contact
[friendica.git] / src / Model / Storage / IStorage.php
index 8a9b60f73bf4fdffd88f8134c2b24fc19f4d618b..8841487412a69aafab5b7a9ac06f5874e882d056 100644 (file)
@@ -22,7 +22,7 @@
 namespace Friendica\Model\Storage;
 
 /**
- * Interface for storage backends
+ * Interface for basic storage backends
  */
 interface IStorage
 {
@@ -32,77 +32,11 @@ interface IStorage
         * @param string $reference Data reference
         *
         * @return string
-        */
-       public function get(string $reference);
-
-       /**
-        * Put data in backend as $ref. If $ref is not defined a new reference is created.
-        *
-        * @param string $data      Data to save
-        * @param string $reference Data reference. Optional.
-        *
-        * @return string Saved data reference
-        */
-       public function put(string $data, string $reference = "");
-
-       /**
-        * Remove data from backend
-        *
-        * @param string $reference Data reference
-        *
-        * @return boolean  True on success
-        */
-       public function delete(string $reference);
-
-       /**
-        * Get info about storage options
-        *
-        * @return array
-        *
-        * This method return an array with informations about storage options
-        * from which the form presented to the user is build.
-        *
-        * The returned array is:
-        *
-        *    [
-        *      'option1name' => [ ..info.. ],
-        *      'option2name' => [ ..info.. ],
-        *      ...
-        *    ]
-        *
-        * An empty array can be returned if backend doesn't have any options
-        *
-        * The info array for each option MUST be as follows:
-        *
-        *    [
-        *      'type',      // define the field used in form, and the type of data.
-        *                   // one of 'checkbox', 'combobox', 'custom', 'datetime',
-        *                   // 'input', 'intcheckbox', 'password', 'radio', 'richtext'
-        *                   // 'select', 'select_raw', 'textarea'
-        *
-        *      'label',     // Translatable label of the field
-        *      'value',     // Current value
-        *      'help text', // Translatable description for the field
-        *      extra data   // Optional. Depends on 'type':
-        *                   // select: array [ value => label ] of choices
-        *                   // intcheckbox: value of input element
-        *                   // select_raw: prebuild html string of < option > tags
-        *    ]
-        *
-        * See https://github.com/friendica/friendica/wiki/Quick-Template-Guide
-        */
-       public function getOptions();
-
-       /**
-        * Validate and save options
-        *
-        * @param array $data Array [optionname => value] to be saved
-        *
-        * @return array  Validation errors: [optionname => error message]
         *
-        * Return array must be empty if no error.
+        * @throws StorageException in case there's an unexpected error
+        * @throws ReferenceStorageException in case the reference doesn't exist
         */
-       public function saveOptions(array $data);
+       public function get(string $reference): string;
 
        /**
         * The name of the backend
@@ -116,5 +50,5 @@ interface IStorage
         *
         * @return string
         */
-       public static function getName();
+       public static function getName(): string;
 }