for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare( strict_types = 1 );
namespace WMDE\Fundraising\Frontend\UseCases\ShowMembershipApplicationConfirmation;
use WMDE\Fundraising\Frontend\Domain\Model\MembershipApplication;
/**
* @license GNU GPL v2+
* @author Kai Nissen < [email protected] >
*/
class ShowMembershipAppConfirmationResponse {
private $membershipApplication;
private $updateToken;
public static function newNotAllowedResponse(): self {
return new self();
}
public static function newValidResponse( MembershipApplication $membershipApplication, string $updateToken ): self {
return new self( $membershipApplication, $updateToken );
private function __construct( MembershipApplication $membershipApplication = null, string $updateToken = null ) {
$this->membershipApplication = $membershipApplication;
$this->updateToken = $updateToken;
* Returns the MembershipApplication when @see accessIsPermitted returns true, or null otherwise.
*
* @return MembershipApplication|null
public function getApplication() {
return $this->membershipApplication;
public function getUpdateToken() {
return $this->updateToken;
public function accessIsPermitted(): bool {
return $this->membershipApplication !== null;