* Use of this software is governed by the Business Source License included in the LICENSE file and at https://getparthenon.com/docs/next/license.
9
*
10
* Change Date: TBD ( 3 years after 2.2.0 release )
11
*
12
* On the date above, in accordance with the Business Source License, use of this software will be governed by the open source license specified in the LICENSE file.
13
*/
14
15
namespace Parthenon\Billing\Repository\Orm;
16
17
use Parthenon\Athena\Repository\DoctrineCrudRepository;
18
use Parthenon\Billing\Entity\CustomerInterface;
19
use Parthenon\Billing\Entity\Subscription;
20
use Parthenon\Billing\Repository\SubscriptionRepositoryInterface;
21
use Parthenon\Common\Exception\NoEntityFoundException;
22
23
class SubscriptionRepository extends DoctrineCrudRepository implements SubscriptionRepositoryInterface
24
{
25
public function hasActiveMainSubscription(CustomerInterface $customer): bool
26
{
27
try {
28
$this->getActiveMainSubscription($customer);
29
} catch (NoEntityFoundException $exception) {
30
return false;
31
}
32
33
return true;
34
}
35
36
public function getActiveMainSubscription(CustomerInterface $customer): Subscription