PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.16.6.1
GiveWP – Donation Plugin and Fundraising Platform v4.16.6.1
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 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / vendor / vendor-prefixed / stellarwp / licensing-api-client / src / Requests / Credit / UpdatePool.php
give / vendor / vendor-prefixed / stellarwp / licensing-api-client / src / Requests / Credit Last commit date
CreatePool.php 3 months ago DeletePool.php 3 months ago ListLedgerEntries.php 3 months ago RecordUsage.php 3 months ago Refund.php 3 months ago SetQuota.php 3 months ago UpdatePool.php 3 months ago
UpdatePool.php
112 lines
1 <?php declare(strict_types=1);
2
3 namespace Give\Vendors\LiquidWeb\LicensingApiClient\Requests\Credit;
4
5 use DateTimeImmutable;
6 use Give\Vendors\LiquidWeb\LicensingApiClient\Concerns\InteractsWithDateTime;
7
8 /**
9 * Represents a credit pool update request payload.
10 *
11 * @phpstan-type UpdatePoolPayload array{
12 * license_key: string,
13 * pool_id: int,
14 * credits_total?: int,
15 * overage_limit?: int,
16 * priority?: int,
17 * expires_at?: string,
18 * metadata?: array<string, mixed>
19 * }
20 */
21 final class UpdatePool
22 {
23 use InteractsWithDateTime;
24
25 /**
26 * License key that owns the credit pool.
27 *
28 * @example LWSW-8H9F-5UKA-VR3B-D7SQ-BP9N
29 */
30 public string $licenseKey;
31
32 /**
33 * Credit pool identifier to update.
34 *
35 * @example 42
36 */
37 public int $poolId;
38
39 /**
40 * Updated total credits for the pool.
41 *
42 * @example 1500
43 */
44 public ?int $creditsTotal;
45
46 /**
47 * Updated overage allowance after the pool is depleted.
48 *
49 * @example 250
50 */
51 public ?int $overageLimit;
52
53 /**
54 * Updated pool priority. Lower values are consumed first.
55 *
56 * @example 10
57 */
58 public ?int $priority;
59
60 /**
61 * Updated absolute pool expiration date in the caller's timezone.
62 *
63 * @example 2026-04-01T00:00:00Z
64 */
65 public ?DateTimeImmutable $expiresAt;
66
67 /**
68 * Arbitrary pool metadata forwarded to the API.
69 *
70 * @var array<string, mixed>|null
71 *
72 * @example {"source":"portal"}
73 */
74 public ?array $metadata;
75
76 /**
77 * @param array<string, mixed>|null $metadata
78 */
79 public function __construct(
80 string $licenseKey,
81 int $poolId,
82 ?int $creditsTotal = null,
83 ?int $overageLimit = null,
84 ?int $priority = null,
85 ?DateTimeImmutable $expiresAt = null,
86 ?array $metadata = null
87 ) {
88 $this->licenseKey = $licenseKey;
89 $this->poolId = $poolId;
90 $this->creditsTotal = $creditsTotal;
91 $this->overageLimit = $overageLimit;
92 $this->priority = $priority;
93 $this->expiresAt = $expiresAt;
94 $this->metadata = $metadata;
95 }
96
97 /**
98 * @return UpdatePoolPayload
99 */
100 public function toArray(): array {
101 return array_filter([
102 'license_key' => $this->licenseKey,
103 'pool_id' => $this->poolId,
104 'credits_total' => $this->creditsTotal,
105 'overage_limit' => $this->overageLimit,
106 'priority' => $this->priority,
107 'expires_at' => $this->expiresAt ? $this->formatDateTime($this->expiresAt) : null,
108 'metadata' => $this->metadata,
109 ], static fn ($value): bool => $value !== null);
110 }
111 }
112