PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.16.6.1
GiveWP – Donation Plugin and Fundraising Platform v4.16.6.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 / Responses / Credit / LedgerPage.php
give / vendor / vendor-prefixed / stellarwp / licensing-api-client / src / Responses / Credit Last commit date
ValueObjects 3 months ago BalanceCollection.php 3 months ago DeletePool.php 3 months ago DeleteQuota.php 3 months ago LedgerPage.php 3 months ago PoolCollection.php 3 months ago QuotaCollection.php 3 months ago RecordUsage.php 3 months ago Refund.php 3 months ago
LedgerPage.php
149 lines
1 <?php declare(strict_types=1);
2
3 namespace Give\Vendors\LiquidWeb\LicensingApiClient\Responses\Credit;
4
5 use Give\Vendors\LiquidWeb\LicensingApiClient\Responses\Contracts\Response;
6 use Give\Vendors\LiquidWeb\LicensingApiClient\Responses\Credit\ValueObjects\LedgerEntry;
7 use Give\Vendors\LiquidWeb\LicensingApiClient\Responses\ValueObjects\PageMeta;
8 use Give\Vendors\LiquidWeb\LicensingApiClient\Responses\ValueObjects\PaginationLinks;
9
10 /**
11 * Represents a cursor-paginated credits ledger response.
12 *
13 * @implements Response<array{
14 * entries: list<array{
15 * id: int,
16 * pool_id: int,
17 * entitlement_id_at_event: int,
18 * tier_at_event: string,
19 * domain: string,
20 * product_slug: string,
21 * credit_type: string,
22 * entry_type: string,
23 * amount: int,
24 * period_start: string|null,
25 * idempotency_key: string,
26 * created_at: string
27 * }>,
28 * links: array{
29 * first: string,
30 * last: string|null,
31 * prev: string|null,
32 * next: string|null
33 * },
34 * meta: array{
35 * page: array{
36 * total: int,
37 * limit: int,
38 * max_size: int
39 * }
40 * }
41 * }>
42 */
43 final class LedgerPage implements Response
44 {
45 /**
46 * @var list<LedgerEntry>
47 */
48 public array $entries;
49
50 public PaginationLinks $links;
51
52 public PageMeta $page;
53
54 /**
55 * @param list<LedgerEntry> $entries
56 */
57 private function __construct(array $entries, PaginationLinks $links, PageMeta $page) {
58 $this->entries = $entries;
59 $this->links = $links;
60 $this->page = $page;
61 }
62
63 /**
64 * @param array{
65 * entries: list<array{
66 * id: int,
67 * pool_id: int,
68 * entitlement_id_at_event: int,
69 * tier_at_event: string,
70 * domain: string,
71 * product_slug: string,
72 * credit_type: string,
73 * entry_type: string,
74 * amount: int,
75 * period_start: string|null,
76 * idempotency_key: string,
77 * created_at: string
78 * }>,
79 * links: array{
80 * first: string,
81 * last: string|null,
82 * prev: string|null,
83 * next: string|null
84 * },
85 * meta: array{
86 * page: array{
87 * total: int,
88 * limit: int,
89 * max_size: int
90 * }
91 * }
92 * } $attributes
93 */
94 public static function from(array $attributes): self {
95 return new self(
96 array_map(
97 static fn (array $entry): LedgerEntry => LedgerEntry::from($entry),
98 $attributes['entries']
99 ),
100 PaginationLinks::from($attributes['links']),
101 PageMeta::from($attributes['meta']['page'])
102 );
103 }
104
105 /**
106 * @return array{
107 * entries: list<array{
108 * id: int,
109 * pool_id: int,
110 * entitlement_id_at_event: int,
111 * tier_at_event: string,
112 * domain: string,
113 * product_slug: string,
114 * credit_type: string,
115 * entry_type: string,
116 * amount: int,
117 * period_start: string|null,
118 * idempotency_key: string,
119 * created_at: string
120 * }>,
121 * links: array{
122 * first: string,
123 * last: string|null,
124 * prev: string|null,
125 * next: string|null
126 * },
127 * meta: array{
128 * page: array{
129 * total: int,
130 * limit: int,
131 * max_size: int
132 * }
133 * }
134 * }
135 */
136 public function toArray(): array {
137 return [
138 'entries' => array_map(
139 static fn (LedgerEntry $entry): array => $entry->toArray(),
140 $this->entries
141 ),
142 'links' => $this->links->toArray(),
143 'meta' => [
144 'page' => $this->page->toArray(),
145 ],
146 ];
147 }
148 }
149