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 / Responses / Entitlement / SwitchTier.php

SwitchTier.php in GiveWP – Donation Plugin and Fundraising Platform 4.17.0, at vendor/vendor-prefixed/stellarwp/licensing-api-client/src/Responses/Entitlement/SwitchTier.php

89 lines 1.9 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\Responses\Entitlement;
4
5 use Give\Vendors\LiquidWeb\LicensingApiClient\Responses\Contracts\Response;
6
7 /**
8 * Represents an entitlement tier switch response payload.
9 *
10 * @implements Response<array{
11 * product_slug: string,
12 * from_tier: string,
13 * to_tier: string,
14 * status: string,
15 * site_limit: int,
16 * active_count: int,
17 * over_limit: bool
18 * }>
19 */
20 final class SwitchTier implements Response
21 {
22 public string $productSlug;
23
24 public string $fromTier;
25
26 public string $toTier;
27
28 public string $status;
29
30 public int $siteLimit;
31
32 public int $activeCount;
33
34 public bool $overLimit;
35
36 private function __construct(
37 string $productSlug,
38 string $fromTier,
39 string $toTier,
40 string $status,
41 int $siteLimit,
42 int $activeCount,
43 bool $overLimit
44 ) {
45 $this->productSlug = $productSlug;
46 $this->fromTier = $fromTier;
47 $this->toTier = $toTier;
48 $this->status = $status;
49 $this->siteLimit = $siteLimit;
50 $this->activeCount = $activeCount;
51 $this->overLimit = $overLimit;
52 }
53
54 /**
55 * @param array{
56 * product_slug: string,
57 * from_tier: string,
58 * to_tier: string,
59 * status: string,
60 * site_limit: int,
61 * active_count: int,
62 * over_limit: bool
63 * } $attributes
64 */
65 public static function from(array $attributes): self {
66 return new self(
67 $attributes['product_slug'],
68 $attributes['from_tier'],
69 $attributes['to_tier'],
70 $attributes['status'],
71 $attributes['site_limit'],
72 $attributes['active_count'],
73 $attributes['over_limit']
74 );
75 }
76
77 public function toArray(): array {
78 return [
79 'product_slug' => $this->productSlug,
80 'from_tier' => $this->fromTier,
81 'to_tier' => $this->toTier,
82 'status' => $this->status,
83 'site_limit' => $this->siteLimit,
84 'active_count' => $this->activeCount,
85 'over_limit' => $this->overLimit,
86 ];
87 }
88 }
89