Skip to content

Commit 65da829

Browse files
authored
[People] Add Household Support (#16)
Co-authored-by: onairmarc <[email protected]>
1 parent a466c9d commit 65da829

File tree

3 files changed

+59
-3
lines changed

3 files changed

+59
-3
lines changed

.git-blame-ignore-revs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
2d43732f34aff4ff3de07a63657249bccc99e267
22
1b972ba4c67f65bfecb20f762ec06761e50882a5
33
c98bbfd28bd7b34f22ade287046434127a6e200c
4+
c90d7383de6e86260b6cc997b3d0af8e64826a11

src/Objects/People/Household.php

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<?php
2+
/*
3+
* Encore Digital Group - Planning Center PHP SDK
4+
* Copyright (c) 2024. Encore Digital Group
5+
*/
6+
7+
namespace EncoreDigitalGroup\PlanningCenter\Objects\People;
8+
9+
use DateTime;
10+
use EncoreDigitalGroup\PlanningCenter\Objects\SdkObjects\ClientResponse;
11+
use EncoreDigitalGroup\PlanningCenter\Traits\HasPlanningCenterClient;
12+
use GuzzleHttp\Psr7\Request;
13+
use Illuminate\Support\Carbon;
14+
15+
/** @experimental */
16+
class Household
17+
{
18+
use HasPlanningCenterClient;
19+
20+
public int $householdId;
21+
public ?string $name;
22+
public ?int $member_count;
23+
public ?string $primary_contact_name;
24+
public DateTime|Carbon|null $created_at;
25+
public DateTime|Carbon|null $updated_at;
26+
public ?string $avatar;
27+
public ?string $primary_contact_id;
28+
29+
public function all(array $query = []): ClientResponse
30+
{
31+
$headers = $this->buildHeaders();
32+
33+
$query = http_build_query($query);
34+
35+
$request = new Request('GET', 'people/v2/people?' . $query, $headers);
36+
37+
return $this->client->send($request);
38+
}
39+
40+
public function get(): ClientResponse
41+
{
42+
$headers = $this->buildHeaders();
43+
44+
$request = new Request('GET', 'people/v2/households/' . $this->householdId, $headers);
45+
46+
return $this->client->send($request);
47+
}
48+
49+
public function people(): ClientResponse
50+
{
51+
$headers = $this->buildHeaders();
52+
53+
$request = new Request('GET', 'people/v2/households/' . $this->householdId . '/people', $headers);
54+
55+
return $this->client->send($request);
56+
}
57+
}

src/Objects/SdkObjects/HttpContainer.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,4 @@
88

99
use EncoreDigitalGroup\SdkClientFoundation\SdkObjects\HttpContainer as BaseHttpContainer;
1010

11-
class HttpContainer extends BaseHttpContainer
12-
{
13-
}
11+
class HttpContainer extends BaseHttpContainer {}

0 commit comments

Comments
 (0)