Skip to content

Commit dca20aa

Browse files
authored
Merge pull request #28 from mapo-89/feature/invoice-subscription-models
Add Invoice and Subscription models for HubSpot billing support
2 parents 045603a + 8b275de commit dca20aa

File tree

4 files changed

+66
-0
lines changed

4 files changed

+66
-0
lines changed

config/hubspot.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,16 @@
4141
'include_associations' => ['companies','contacts','deals','tickets'],
4242
],
4343

44+
'invoices' => [
45+
'include_properties' => [],
46+
'include_associations' => ['companies','contacts','quotes'],
47+
],
48+
49+
'subscriptions' => [
50+
'include_properties' => [],
51+
'include_associations' => ['companies','contacts','quotes'],
52+
],
53+
4454
'calls' => [
4555
'include_properties' => ['hs_call_title','hubspot_owner_id','hs_call_body','hs_call_direction','hs_call_callee_object_id','hs_call_callee_object_type_id','hs_call_disposition','hs_call_duration','hs_call_from_number','hs_call_to_number'],
4656
'include_associations' => ['companies','contacts','deals','tickets'],

src/Crm/Invoice.php

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
3+
namespace STS\HubSpot\Crm;
4+
5+
use STS\HubSpot\Api\Association;
6+
use STS\HubSpot\Api\Collection;
7+
use STS\HubSpot\Api\Model;
8+
9+
/**
10+
* @method Association companies()
11+
* @method Association contacts()
12+
* @method Association quotes()
13+
* @method Association line_items()
14+
* @property-read Company|null $company
15+
* @property-read Collection $companies
16+
* @property-read Contact|null $contact
17+
* @property-read Collection $contacts
18+
* @property-read Quote|null $quote
19+
* @property-read Collection $quotes
20+
* @property-read LineItems|null $line_item
21+
* @property-read Collection $line_items
22+
*/
23+
class Invoice extends Model
24+
{
25+
protected string $type = "invoices";
26+
}

src/Crm/Subscription.php

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
3+
namespace STS\HubSpot\Crm;
4+
5+
use STS\HubSpot\Api\Association;
6+
use STS\HubSpot\Api\Collection;
7+
use STS\HubSpot\Api\Model;
8+
9+
/**
10+
* @method Association companies()
11+
* @method Association contacts()
12+
* @method Association quotes()
13+
* @method Association line_items()
14+
* @property-read Company|null $company
15+
* @property-read Collection $companies
16+
* @property-read Contact|null $contact
17+
* @property-read Collection $contacts
18+
* @property-read Quote|null $quote
19+
* @property-read Collection $quotes
20+
* @property-read LineItems|null $line_item
21+
* @property-read Collection $line_items
22+
*/
23+
class Subscription extends Model
24+
{
25+
protected string $type = "subscriptions";
26+
}

src/Sdk.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,13 @@
1010
use STS\HubSpot\Crm\Deal;
1111
use STS\HubSpot\Crm\Email;
1212
use STS\HubSpot\Crm\FeedbackSubmissions;
13+
use STS\HubSpot\Crm\Invoice;
1314
use STS\HubSpot\Crm\LineItems;
1415
use STS\HubSpot\Crm\Meeting;
1516
use STS\HubSpot\Crm\Note;
1617
use STS\HubSpot\Crm\Product;
1718
use STS\HubSpot\Crm\Quote;
19+
use STS\HubSpot\Crm\Subscription;
1820
use STS\HubSpot\Crm\Task;
1921
use STS\HubSpot\Crm\Ticket;
2022

@@ -34,6 +36,8 @@ class Sdk
3436
'meetings' => Meeting::class,
3537
'notes' => Note::class,
3638
'tasks' => Task::class,
39+
'invoices' => Invoice::class,
40+
'subscriptions' => Subscription::class,
3741
];
3842

3943
public function __construct()

0 commit comments

Comments
 (0)