You are here

InvoiceStorageInterface.php in Drupal PM (Project Management) 4.x

Namespace

Drupal\pm_invoice

File

modules/pm_invoice/src/InvoiceStorageInterface.php
View source
<?php

namespace Drupal\pm_invoice;

use Drupal\Core\Entity\ContentEntityStorageInterface;
use Drupal\Core\Session\AccountInterface;
use Drupal\pm_invoice\Entity\InvoiceInterface;

/**
 * Defines the storage handler class for Invoice entities.
 *
 * This extends the base storage class, adding required special handling for
 * Invoice entities.
 *
 * @ingroup pm_invoice
 */
interface InvoiceStorageInterface extends ContentEntityStorageInterface {

  /**
   * Gets a list of Invoice revision IDs for a specific Invoice.
   *
   * @param \Drupal\pm_invoice\Entity\InvoiceInterface $entity
   *   The Invoice entity.
   *
   * @return int[]
   *   Invoice revision IDs (in ascending order).
   */
  public function revisionIds(InvoiceInterface $entity);

  /**
   * Gets a list of revision IDs having a given user as Invoice author.
   *
   * @param \Drupal\Core\Session\AccountInterface $account
   *   The user entity.
   *
   * @return int[]
   *   Invoice revision IDs (in ascending order).
   */
  public function userRevisionIds(AccountInterface $account);

}

Interfaces

Namesort descending Description
InvoiceStorageInterface Defines the storage handler class for Invoice entities.