diff core/modules/user/src/UserDataInterface.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/core/modules/user/src/UserDataInterface.php	Wed Nov 29 16:09:58 2017 +0000
@@ -0,0 +1,64 @@
+<?php
+
+namespace Drupal\user;
+
+/**
+ * Defines the user data service interface.
+ */
+interface UserDataInterface {
+
+  /**
+   * Returns data stored for a user account.
+   *
+   * @param string $module
+   *   The name of the module the data is associated with.
+   * @param int $uid
+   *   (optional) The user account ID the data is associated with.
+   * @param string $name
+   *   (optional) The name of the data key.
+   *
+   * @return mixed|array
+   *   The requested user account data, depending on the arguments passed:
+   *   - For $module, $name, and $uid, the stored value is returned, or NULL if
+   *     no value was found.
+   *   - For $module and $uid, an associative array is returned that contains
+   *     the stored data name/value pairs.
+   *   - For $module and $name, an associative array is returned whose keys are
+   *     user IDs and whose values contain the stored values.
+   *   - For $module only, an associative array is returned that contains all
+   *     existing data for $module in all user accounts, keyed first by user ID
+   *     and $name second.
+   */
+  public function get($module, $uid = NULL, $name = NULL);
+
+  /**
+   * Stores data for a user account.
+   *
+   * @param string $module
+   *   The name of the module the data is associated with.
+   * @param int $uid
+   *   The user account ID the data is associated with.
+   * @param string $name
+   *   The name of the data key.
+   * @param mixed $value
+   *   The value to store. Non-scalar values are serialized automatically.
+   */
+  public function set($module, $uid, $name, $value);
+
+  /**
+   * Deletes data stored for a user account.
+   *
+   * @param string|array $module
+   *   (optional) The name of the module the data is associated with. Can also
+   *   be an array to delete the data of multiple modules.
+   * @param int|array $uid
+   *   (optional) The user account ID the data is associated with. If omitted,
+   *   all data for $module is deleted. Can also be an array of IDs to delete
+   *   the data of multiple user accounts.
+   * @param string $name
+   *   (optional) The name of the data key. If omitted, all data associated with
+   *   $module and $uid is deleted.
+   */
+  public function delete($module = NULL, $uid = NULL, $name = NULL);
+
+}