return new AppAlreadyInstalledException( Response::HTTP_CONFLICT,
self::ALREADY_INSTALLED,
'App "{{ appName }}" is already installed',
['appName' =>
$appName] );
} public static function registrationFailed(string
$appName, string
$reason, ?\Throwable
$previous = null
): self
{ return new AppRegistrationException( Response::HTTP_INTERNAL_SERVER_ERROR,
self::REGISTRATION_FAILED,
'App registration for "{{ appName }}" failed: {{ reason }}',
['appName' =>
$appName, 'reason' =>
$reason],
$previous );
} public static function licenseCouldNotBeVerified(string
$appName, ?\Throwable
$previous = null
): self
{ return new self(