summaryrefslogtreecommitdiffstats
path: root/src/Recipient/MembershipRelationInterface.php
blob: 092132e86f6075d1bbefb312cac8986c2fc57a5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
/**
* PHP version 7.1.1
* @author Hannes Kindströmmer <hannes@kindstrommer.se>
* @copyright 2017 iP.1 Networks AB
* @license https://www.gnu.org/licenses/lgpl-3.0.txt LGPL-3.0
* @version 0.1.0-beta
* @since File available since Release 0.1.0-beta
* @link http://api.ip1sms.com/Help
* @link https://github.com/iP1SMS/ip1-php-sdk
*/
namespace IP1\RESTClient\Recipient;

use IP1\RESTClient\Core\Communicator;
use IP1\RESTClient\Core\ClassValidationArray;

/**
* Classes that has deals with membership should implement this interface
* @link http://api.ip1sms.com/Help/Api/GET-api-memberships
* @package \IP1\RESTClient\Recipient
*/
interface MembershipRelationInterface
{
    /**
    * Returns an array of all the memberships
    * @param Communicator $communicator Used to fetch memberships from the API.
    * @return ClassValidationArray An array of Group objects
    */
    public function getMemberships(Communicator $communicator = null): ClassValidationArray;
    /**
    * Tells whether memberships has been fetched from the API or not.
    * @return boolean Whether the memberships has been fetched from the API or not
    */
    public function memberShipsFetched(): bool;
}