Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
| Total | |
100.00% |
20 / 20 |
|
100.00% |
1 / 1 |
CRAP | |
100.00% |
1 / 1 |
| PlanHubspotConfigResource | |
100.00% |
20 / 20 |
|
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
| toArray | |
100.00% |
20 / 20 |
|
100.00% |
1 / 1 |
1 | |||
| 1 | <?php |
| 2 | |
| 3 | namespace App\Http\Resources\v2; |
| 4 | |
| 5 | use Illuminate\Http\Request; |
| 6 | use Illuminate\Http\Resources\Json\JsonResource; |
| 7 | |
| 8 | /** |
| 9 | * Resource for transforming PlanHubspotConfig models for API responses. |
| 10 | * |
| 11 | * @property string $_id The config ID |
| 12 | * @property string $plan_id The plan ID |
| 13 | * @property string|null $name Display name in HubSpot |
| 14 | * @property string|null $last_product Last product name in HubSpot |
| 15 | * @property string|null $cancel_subscription_date HubSpot property name for cancel date |
| 16 | * @property string|null $payment_status HubSpot property name for payment status |
| 17 | * @property string|null $subscription_annual_recurring_revenue HubSpot property name for ARR |
| 18 | * @property string|null $subscription_churn_date HubSpot property name for churn date |
| 19 | * @property string|null $subscription_expiration_date HubSpot property name for expiration date |
| 20 | * @property string|null $subscription_frequency HubSpot property name for billing frequency |
| 21 | * @property string|null $subscription_monthly_recurring_revenue HubSpot property name for MRR |
| 22 | * @property string|null $subscription_plan_type HubSpot property name for plan type |
| 23 | * @property string|null $subscription_start_date HubSpot property name for start date |
| 24 | * @property string|null $subscription_status HubSpot property name for subscription status |
| 25 | * @property string|null $subscription_status_updated_on HubSpot property name for status update timestamp |
| 26 | * @property string|null $user_type HubSpot property name for user type |
| 27 | * @property \Carbon\Carbon|null $created_at When the config was created |
| 28 | * @property \Carbon\Carbon|null $updated_at When the config was last updated |
| 29 | */ |
| 30 | class PlanHubspotConfigResource extends JsonResource |
| 31 | { |
| 32 | /** |
| 33 | * Transform the resource into an array. |
| 34 | * |
| 35 | * @return array<string, mixed> |
| 36 | */ |
| 37 | public function toArray(Request $request): array |
| 38 | { |
| 39 | return [ |
| 40 | 'id' => (string) $this->_id, |
| 41 | 'plan_id' => (string) $this->plan_id, |
| 42 | 'name' => $this->name, |
| 43 | 'last_product' => $this->last_product, |
| 44 | 'cancel_subscription_date' => $this->cancel_subscription_date, |
| 45 | 'payment_status' => $this->payment_status, |
| 46 | 'subscription_annual_recurring_revenue' => $this->subscription_annual_recurring_revenue, |
| 47 | 'subscription_churn_date' => $this->subscription_churn_date, |
| 48 | 'subscription_expiration_date' => $this->subscription_expiration_date, |
| 49 | 'subscription_frequency' => $this->subscription_frequency, |
| 50 | 'subscription_monthly_recurring_revenue' => $this->subscription_monthly_recurring_revenue, |
| 51 | 'subscription_plan_type' => $this->subscription_plan_type, |
| 52 | 'subscription_start_date' => $this->subscription_start_date, |
| 53 | 'subscription_status' => $this->subscription_status, |
| 54 | 'subscription_status_updated_on' => $this->subscription_status_updated_on, |
| 55 | 'user_type' => $this->user_type, |
| 56 | 'created_at' => $this->created_at?->timestamp, |
| 57 | 'updated_at' => $this->updated_at?->timestamp, |
| 58 | ]; |
| 59 | } |
| 60 | } |