You are here

class GoogleApiServiceClient in Google API PHP Client 8.4

Same name and namespace in other branches
  1. 8.3 src/Entity/GoogleApiServiceClient.php \Drupal\google_api_client\Entity\GoogleApiServiceClient

Defines the GoogleApiServiceClient entity.

This is the main definition of the entity type. From it, an entityType is derived. The most important properties in this example are listed below.

@ConfigEntityType( id = "google_api_service_client", label = @Translation("Google Api Service Client"), handlers = { "list_builder" = "Drupal\google_api_client\Entity\Controller\GoogleApiServiceClientListBuilder", "form" = { "add" = "Drupal\google_api_client\Form\GoogleApiServiceClientForm", "edit" = "Drupal\google_api_client\Form\GoogleApiServiceClientForm", "delete" = "Drupal\google_api_client\Form\GoogleApiServiceClientDeleteForm", }, }, config_prefix = "google_api_service_client", admin_permission = "administer google api settings", entity_keys = { "id" = "id", "label" = "label", }, config_export = { "id", "label", "auth_config", "access_token", "services", "scopes" }, links = { "canonical" = "/google_api_service_client/{google_api_service_client}", "edit-form" = "/admin/config/services/google_api_service_client/{google_api_service_client}/edit", "delete-form" = "/admin/config/services/google_api_service_client/{google_api_service_client}/delete", "collection" = "/admin/config/services/google_api_service_client" }, )

The 'links' above are defined by their path. For core to find the corresponding route, the route name must follow the correct pattern:

entity.<entity-name>.<link-name> (replace dashes with underscores) Example: 'entity.google_api_service_client.canonical'

See routing file above for the corresponding implementation

The 'GoogleApiServiceClient' class defines methods and fields for the google_api_service_client entity.

Being derived from the ContentEntityBase class, we can override the methods we want. In our case we want to provide access to the standard fields about creation and changed time stamps.

Our interface (see GoogleApiServiceClientInterface) also exposes the EntityOwnerInterface. This allows us to provide methods for setting and providing ownership information.

The most important part is the definitions of the field properties for this entity type. These are of the same type as fields added through the GUI, but they can by changed in code. In the definition we can define if the user with the rights privileges can influence the presentation (view, edit) of each field.

Hierarchy

Expanded class hierarchy of GoogleApiServiceClient

File

src/Entity/GoogleApiServiceClient.php, line 76

Namespace

Drupal\google_api_client\Entity
View source
class GoogleApiServiceClient extends ConfigEntityBase implements GoogleApiServiceClientInterface {

  /**
   * The machine_name.
   *
   * @var string
   */
  protected $id;

  /**
   * The Name for this account.
   *
   * @var string
   */
  protected $label;

  /**
   * The credentials for account.
   *
   * @var string
   */
  protected $auth_config;

  /**
   * The access_token for account.
   *
   * @var string
   */
  protected $access_token;

  /**
   * The services for account.
   *
   * @var array
   */
  protected $services;

  /**
   * The scopes for account.
   *
   * @var array
   */
  protected $scopes;

  /**
   * {@inheritdoc}
   */
  public function getId() {
    return $this->id;
  }

  /**
   * {@inheritdoc}
   */
  public function getName() {
    return $this->label;
  }

  /**
   * {@inheritdoc}
   */
  public function getAuthConfig() {
    return Json::decode($this->auth_config);
  }

  /**
   * {@inheritdoc}
   */
  public function getAccessToken() {
    return Json::decode($this->access_token);
  }

  /**
   * {@inheritdoc}
   */
  public function getScopes($url = FALSE) {
    if ($url) {
      $services = $this
        ->getServices();
      $all_scopes = google_api_client_google_services_scopes($services);
      $return = [];
      foreach ($this->scopes as $scope) {
        foreach ($all_scopes as $scopes) {
          if (isset($scopes[$scope])) {
            $return[] = $scopes[$scope];
            break;
          }
        }
      }
      return $return;
    }
    else {
      return $this->scopes;
    }
  }

  /**
   * {@inheritdoc}
   */
  public function getServices() {
    return $this->services;
  }

  /**
   * Function sets id of the service account.
   *
   * @param string $id
   *   Pass id of the service account.
   *
   * @return bool
   *   Returns true if the operation is successful.
   */
  public function setId($id) {
    return $this->id = $id;
  }

  /**
   * Function sets Name of the service account.
   *
   * @param string $name
   *   Pass the account name.
   *
   * @return bool
   *   Returns true if the operation is successful.
   */
  public function setName($name) {
    return $this->label = $name;
  }

  /**
   * {@inheritdoc}
   */
  public function setAuthConfig($config) {
    if (is_array($config)) {
      $config = Json::encode($config);
    }
    return $this->auth_config = $config;
  }

  /**
   * {@inheritdoc}
   */
  public function setAccessToken(array $access_token) {
    return $this->access_token = Json::encode($access_token);
  }

  /**
   * {@inheritdoc}
   */
  public function setScopes(array $scopes) {
    return $this->scopes = $scopes;
  }

  /**
   * {@inheritdoc}
   */
  public function setServices(array $services) {
    return $this->services = $services;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CacheableDependencyTrait::$cacheContexts protected property Cache contexts.
CacheableDependencyTrait::$cacheMaxAge protected property Cache max-age.
CacheableDependencyTrait::$cacheTags protected property Cache tags.
CacheableDependencyTrait::setCacheability protected function Sets cacheability; useful for value object constructors.
ConfigEntityBase::$isUninstalling private property Whether the config is being deleted by the uninstall process.
ConfigEntityBase::$langcode protected property The language code of the entity's default language.
ConfigEntityBase::$originalId protected property The original ID of the configuration entity.
ConfigEntityBase::$status protected property The enabled/disabled status of the configuration entity. 4
ConfigEntityBase::$third_party_settings protected property Third party entity settings.
ConfigEntityBase::$trustedData protected property Trust supplied data and not use configuration schema on save.
ConfigEntityBase::$uuid protected property The UUID for this entity.
ConfigEntityBase::$_core protected property Information maintained by Drupal core about configuration.
ConfigEntityBase::addDependency protected function Overrides \Drupal\Core\Entity\DependencyTrait:addDependency().
ConfigEntityBase::calculateDependencies public function Calculates dependencies and stores them in the dependency property. Overrides ConfigEntityInterface::calculateDependencies 13
ConfigEntityBase::createDuplicate public function Creates a duplicate of the entity. Overrides EntityBase::createDuplicate 1
ConfigEntityBase::disable public function Disables the configuration entity. Overrides ConfigEntityInterface::disable 1
ConfigEntityBase::enable public function Enables the configuration entity. Overrides ConfigEntityInterface::enable
ConfigEntityBase::get public function Returns the value of a property. Overrides ConfigEntityInterface::get
ConfigEntityBase::getCacheTagsToInvalidate public function Returns the cache tags that should be used to invalidate caches. Overrides EntityBase::getCacheTagsToInvalidate 1
ConfigEntityBase::getConfigDependencyName public function Gets the configuration dependency name. Overrides EntityBase::getConfigDependencyName
ConfigEntityBase::getConfigManager protected static function Gets the configuration manager.
ConfigEntityBase::getConfigTarget public function Gets the configuration target identifier for the entity. Overrides EntityBase::getConfigTarget
ConfigEntityBase::getDependencies public function Gets the configuration dependencies. Overrides ConfigEntityInterface::getDependencies
ConfigEntityBase::getOriginalId public function Gets the original ID. Overrides EntityBase::getOriginalId
ConfigEntityBase::getThirdPartyProviders public function Gets the list of third parties that store information. Overrides ThirdPartySettingsInterface::getThirdPartyProviders
ConfigEntityBase::getThirdPartySetting public function Gets the value of a third-party setting. Overrides ThirdPartySettingsInterface::getThirdPartySetting
ConfigEntityBase::getThirdPartySettings public function Gets all third-party settings of a given module. Overrides ThirdPartySettingsInterface::getThirdPartySettings
ConfigEntityBase::getTypedConfig protected function Gets the typed config manager.
ConfigEntityBase::hasTrustedData public function Gets whether on not the data is trusted. Overrides ConfigEntityInterface::hasTrustedData
ConfigEntityBase::invalidateTagsOnDelete protected static function Override to never invalidate the individual entities' cache tags; the config system already invalidates them. Overrides EntityBase::invalidateTagsOnDelete
ConfigEntityBase::invalidateTagsOnSave protected function Override to never invalidate the entity's cache tag; the config system already invalidates it. Overrides EntityBase::invalidateTagsOnSave
ConfigEntityBase::isInstallable public function Checks whether this entity is installable. Overrides ConfigEntityInterface::isInstallable 2
ConfigEntityBase::isNew public function Overrides Entity::isNew(). Overrides EntityBase::isNew
ConfigEntityBase::isUninstalling public function Returns whether this entity is being changed during the uninstall process. Overrides ConfigEntityInterface::isUninstalling
ConfigEntityBase::link public function Deprecated way of generating a link to the entity. See toLink(). Overrides EntityBase::link
ConfigEntityBase::onDependencyRemoval public function Informs the entity that entities it depends on will be deleted. Overrides ConfigEntityInterface::onDependencyRemoval 7
ConfigEntityBase::preDelete public static function Acts on entities before they are deleted and before hooks are invoked. Overrides EntityBase::preDelete 8
ConfigEntityBase::preSave public function Acts on an entity before the presave hook is invoked. Overrides EntityBase::preSave 13
ConfigEntityBase::save public function Saves an entity permanently. Overrides EntityBase::save 1
ConfigEntityBase::set public function Sets the value of a property. Overrides ConfigEntityInterface::set
ConfigEntityBase::setOriginalId public function Sets the original ID. Overrides EntityBase::setOriginalId
ConfigEntityBase::setStatus public function Sets the status of the configuration entity. Overrides ConfigEntityInterface::setStatus
ConfigEntityBase::setThirdPartySetting public function Sets the value of a third-party setting. Overrides ThirdPartySettingsInterface::setThirdPartySetting
ConfigEntityBase::setUninstalling public function
ConfigEntityBase::sort public static function Helper callback for uasort() to sort configuration entities by weight and label. 6
ConfigEntityBase::status public function Returns whether the configuration entity is enabled. Overrides ConfigEntityInterface::status 4
ConfigEntityBase::toArray public function Gets an array of all property values. Overrides EntityBase::toArray 2
ConfigEntityBase::toUrl public function Gets the URL object for the entity. Overrides EntityBase::toUrl
ConfigEntityBase::trustData public function Sets that the data should be trusted. Overrides ConfigEntityInterface::trustData
ConfigEntityBase::unsetThirdPartySetting public function Unsets a third-party setting. Overrides ThirdPartySettingsInterface::unsetThirdPartySetting
ConfigEntityBase::url public function Gets the public URL for this entity. Overrides EntityBase::url
ConfigEntityBase::urlInfo public function Gets the URL object for the entity. Overrides EntityBase::urlInfo
ConfigEntityBase::__construct public function Constructs an Entity object. Overrides EntityBase::__construct 10
ConfigEntityBase::__sleep public function Overrides EntityBase::__sleep 4
DependencySerializationTrait::$_entityStorages protected property An array of entity type IDs keyed by the property name of their storages.
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function Aliased as: traitSleep 1
DependencySerializationTrait::__wakeup public function 2
DependencyTrait::$dependencies protected property The object's dependencies.
DependencyTrait::addDependencies protected function Adds multiple dependencies.
DependencyTrait::addDependency protected function Adds a dependency. Aliased as: addDependencyTrait
EntityBase::$enforceIsNew protected property Boolean indicating whether the entity should be forced to be new.
EntityBase::$entityTypeId protected property The entity type.
EntityBase::$typedData protected property A typed data object wrapping this entity.
EntityBase::access public function Checks data value access. Overrides AccessibleInterface::access 1
EntityBase::bundle public function Gets the bundle of the entity. Overrides EntityInterface::bundle 1
EntityBase::create public static function Constructs a new entity object, without permanently saving it. Overrides EntityInterface::create
EntityBase::delete public function Deletes an entity permanently. Overrides EntityInterface::delete 2
EntityBase::enforceIsNew public function Enforces an entity to be new. Overrides EntityInterface::enforceIsNew
EntityBase::entityManager Deprecated protected function Gets the entity manager.
EntityBase::entityTypeBundleInfo protected function Gets the entity type bundle info service.
EntityBase::entityTypeManager protected function Gets the entity type manager.
EntityBase::getCacheContexts public function The cache contexts associated with this object. Overrides CacheableDependencyTrait::getCacheContexts
EntityBase::getCacheMaxAge public function The maximum age for which this object may be cached. Overrides CacheableDependencyTrait::getCacheMaxAge
EntityBase::getCacheTags public function The cache tags associated with this object. Overrides CacheableDependencyTrait::getCacheTags
EntityBase::getConfigDependencyKey public function Gets the key that is used to store configuration dependencies. Overrides EntityInterface::getConfigDependencyKey
EntityBase::getEntityType public function Gets the entity type definition. Overrides EntityInterface::getEntityType
EntityBase::getEntityTypeId public function Gets the ID of the type of the entity. Overrides EntityInterface::getEntityTypeId
EntityBase::getListCacheTagsToInvalidate protected function The list cache tags to invalidate for this entity.
EntityBase::getTypedData public function Gets a typed data object for this entity object. Overrides EntityInterface::getTypedData
EntityBase::hasLinkTemplate public function Indicates if a link template exists for a given key. Overrides EntityInterface::hasLinkTemplate
EntityBase::id public function Gets the identifier. Overrides EntityInterface::id 11
EntityBase::label public function Gets the label of the entity. Overrides EntityInterface::label 6
EntityBase::language public function Gets the language of the entity. Overrides EntityInterface::language 1
EntityBase::languageManager protected function Gets the language manager.
EntityBase::linkTemplates protected function Gets an array link templates. 1
EntityBase::load public static function Loads an entity. Overrides EntityInterface::load
EntityBase::loadMultiple public static function Loads one or more entities. Overrides EntityInterface::loadMultiple
EntityBase::postCreate public function Acts on a created entity before hooks are invoked. Overrides EntityInterface::postCreate 4
EntityBase::postDelete public static function Acts on deleted entities before the delete hook is invoked. Overrides EntityInterface::postDelete 16
EntityBase::postLoad public static function Acts on loaded entities. Overrides EntityInterface::postLoad 2
EntityBase::postSave public function Acts on a saved entity before the insert or update hook is invoked. Overrides EntityInterface::postSave 14
EntityBase::preCreate public static function Changes the values of an entity before it is created. Overrides EntityInterface::preCreate 5
EntityBase::referencedEntities public function Gets a list of entities referenced by this entity. Overrides EntityInterface::referencedEntities 1
EntityBase::toLink public function Generates the HTML for a link to this entity. Overrides EntityInterface::toLink
EntityBase::uriRelationships public function Gets a list of URI relationships supported by this entity. Overrides EntityInterface::uriRelationships
EntityBase::urlRouteParameters protected function Gets an array of placeholders for this entity. 2
EntityBase::uuid public function Gets the entity UUID (Universally Unique Identifier). Overrides EntityInterface::uuid 1
EntityBase::uuidGenerator protected function Gets the UUID generator.
GoogleApiServiceClient::$access_token protected property The access_token for account.
GoogleApiServiceClient::$auth_config protected property The credentials for account.
GoogleApiServiceClient::$id protected property The machine_name.
GoogleApiServiceClient::$label protected property The Name for this account.
GoogleApiServiceClient::$scopes protected property The scopes for account.
GoogleApiServiceClient::$services protected property The services for account.
GoogleApiServiceClient::getAccessToken public function Function returns Json of access_token. Overrides GoogleApiServiceClientInterface::getAccessToken
GoogleApiServiceClient::getAuthConfig public function Function returns Json file of the account. Overrides GoogleApiServiceClientInterface::getAuthConfig
GoogleApiServiceClient::getId public function
GoogleApiServiceClient::getName public function
GoogleApiServiceClient::getScopes public function Function returns the Scopes for the account. Overrides GoogleApiServiceClientInterface::getScopes
GoogleApiServiceClient::getServices public function Function returns the Services for the account. Overrides GoogleApiServiceClientInterface::getServices
GoogleApiServiceClient::setAccessToken public function Function set Access Token. Overrides GoogleApiServiceClientInterface::setAccessToken
GoogleApiServiceClient::setAuthConfig public function Function set Json File. Overrides GoogleApiServiceClientInterface::setAuthConfig
GoogleApiServiceClient::setId public function Function sets id of the service account.
GoogleApiServiceClient::setName public function Function sets Name of the service account.
GoogleApiServiceClient::setScopes public function Function set Scopes. Overrides GoogleApiServiceClientInterface::setScopes
GoogleApiServiceClient::setServices public function Function set Services. Overrides GoogleApiServiceClientInterface::setServices
PluginDependencyTrait::calculatePluginDependencies protected function Calculates and adds dependencies of a specific plugin instance. 1
PluginDependencyTrait::getPluginDependencies protected function Calculates and returns dependencies of a specific plugin instance.
PluginDependencyTrait::moduleHandler protected function Wraps the module handler. 1
PluginDependencyTrait::themeHandler protected function Wraps the theme handler. 1
RefinableCacheableDependencyTrait::addCacheableDependency public function 1
RefinableCacheableDependencyTrait::addCacheContexts public function
RefinableCacheableDependencyTrait::addCacheTags public function
RefinableCacheableDependencyTrait::mergeCacheMaxAge public function
SynchronizableEntityTrait::$isSyncing protected property Whether this entity is being created, updated or deleted through a synchronization process.
SynchronizableEntityTrait::isSyncing public function
SynchronizableEntityTrait::setSyncing public function