PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.23.1
GiveWP – Donation Plugin and Fundraising Platform v2.23.1
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 / src / Subscriptions / DataTransferObjects / SubscriptionQueryData.php
give / src / Subscriptions / DataTransferObjects Last commit date
SubscriptionArgs.php 3 years ago SubscriptionQueryData.php 3 years ago
SubscriptionQueryData.php
116 lines
1 <?php
2
3 namespace Give\Subscriptions\DataTransferObjects;
4
5 use DateTime;
6 use Give\Framework\Support\Facades\DateTime\Temporal;
7 use Give\Framework\Support\ValueObjects\Money;
8 use Give\Subscriptions\Models\Subscription;
9 use Give\Subscriptions\ValueObjects\SubscriptionPeriod;
10 use Give\Subscriptions\ValueObjects\SubscriptionStatus;
11
12 /**
13 * Class SubscriptionObjectData
14 *
15 * @since 2.19.6
16 */
17 final class SubscriptionQueryData
18 {
19 /**
20 * @var int
21 */
22 public $id;
23 /**
24 * @var DateTime
25 */
26 public $createdAt;
27 /**
28 * @var DateTime
29 */
30 public $renewsAt;
31 /**
32 * @var string
33 */
34 public $status;
35 /**
36 * @var int
37 */
38 public $donorId;
39 /**
40 * @var SubscriptionPeriod
41 */
42 public $period;
43 /**
44 * @var string
45 */
46 public $frequency;
47 /**
48 * @var int
49 */
50 public $installments;
51 /**
52 * @var string
53 */
54 public $transactionId;
55 /**
56 * @var Money
57 */
58 public $amount;
59 /**
60 * @var Money
61 */
62 public $feeAmountRecovered;
63 /**
64 * @var string
65 */
66 public $gatewayId;
67 /**
68 * @var string
69 */
70 public $gatewaySubscriptionId;
71 /**
72 * @var int
73 */
74 public $donationFormId;
75
76 /**
77 * Convert data from Subscription Object to Subscription Model
78 *
79 * @since 2.19.6
80 */
81 public static function fromObject($subscriptionQueryObject): self
82 {
83 $self = new static();
84
85 $self->id = (int)$subscriptionQueryObject->id;
86 $self->createdAt = Temporal::toDateTime($subscriptionQueryObject->createdAt);
87 $self->renewsAt = isset($subscriptionQueryObject->renewsAt) ? Temporal::toDateTime(
88 $subscriptionQueryObject->renewsAt
89 ) : null;
90 $self->donorId = (int)$subscriptionQueryObject->donorId;
91 $self->period = new SubscriptionPeriod($subscriptionQueryObject->period);
92 $self->frequency = (int)$subscriptionQueryObject->frequency;
93 $self->installments = (int)$subscriptionQueryObject->installments;
94 $self->transactionId = $subscriptionQueryObject->transactionId;
95 $self->amount = Money::fromDecimal($subscriptionQueryObject->amount, $subscriptionQueryObject->currency);
96 $self->feeAmountRecovered = Money::fromDecimal($subscriptionQueryObject->feeAmount,
97 $subscriptionQueryObject->currency);
98 $self->status = new SubscriptionStatus($subscriptionQueryObject->status);
99 $self->gatewayId = $subscriptionQueryObject->gatewayId;
100 $self->gatewaySubscriptionId = $subscriptionQueryObject->gatewaySubscriptionId;
101 $self->donationFormId = (int)$subscriptionQueryObject->donationFormId;
102
103 return $self;
104 }
105
106 /**
107 * Convert DTO to Subscription
108 */
109 public function toSubscription(): Subscription
110 {
111 $attributes = get_object_vars($this);
112
113 return new Subscription($attributes);
114 }
115 }
116