PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 4.17.0
GiveWP – Donation Plugin and Fundraising Platform v4.17.0
4.17.0 4.16.9 4.16.8.1 4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 All 256 releases
give / vendor / vendor-prefixed / stellarwp / licensing-api-client / src / Requests / License / LicenseReference.php

LicenseReference.php in GiveWP – Donation Plugin and Fundraising Platform 4.17.0, at vendor/vendor-prefixed/stellarwp/licensing-api-client/src/Requests/License/LicenseReference.php

53 lines 1.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php declare(strict_types=1);
2
3 namespace Give\Vendors\LiquidWeb\LicensingApiClient\Requests\License;
4
5 use InvalidArgumentException;
6
7 /**
8 * Represents a license reference identified by license key or identity ID.
9 *
10 * @phpstan-type LicenseReferencePayload array{
11 * license_key?: string,
12 * identity_id?: string
13 * }
14 */
15 final class LicenseReference
16 {
17 /**
18 * License key identifier.
19 *
20 * @example LWSW-8H9F-5UKA-VR3B-D7SQ-BP9N
21 */
22 public ?string $licenseKey;
23
24 /**
25 * Customer identity identifier.
26 *
27 * @example identity_123
28 */
29 public ?string $identityId;
30
31 /**
32 * @throws InvalidArgumentException
33 */
34 public function __construct(?string $licenseKey = null, ?string $identityId = null) {
35 if ($licenseKey === null && $identityId === null) {
36 throw new InvalidArgumentException('Either licenseKey or identityId is required.');
37 }
38
39 $this->licenseKey = $licenseKey;
40 $this->identityId = $identityId;
41 }
42
43 /**
44 * @return LicenseReferencePayload
45 */
46 public function toArray(): array {
47 return array_filter([
48 'license_key' => $this->licenseKey,
49 'identity_id' => $this->identityId,
50 ], static fn ($value): bool => $value !== null);
51 }
52 }
53