Skip to content

Commit 67d1b8a

Browse files
committed
Add a way to untag member.
1 parent 0d6bc4f commit 67d1b8a

4 files changed

Lines changed: 33 additions & 19 deletions

File tree

src/Endpoint/TaggedMembers/TaggedMembers.php

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,26 @@ final class TaggedMembers extends AbstractEndpoint implements EndpointInterface
1616
/**
1717
* @throws CommunityIdNotPresentException
1818
*/
19-
public function tagMember(string $email, int $memberTagId): mixed
19+
public function tagMember(string|array $email, int $memberTagId): mixed
2020
{
2121
return $this->factorResponse(
2222
$this->circleSo->getHttpClient()->post(
2323
"/tagged_members?user_email={$email}&member_tag_id={$memberTagId}"
2424
)
2525
);
2626
}
27+
28+
/**
29+
* @throws CommunityIdNotPresentException
30+
*/
31+
public function untagMember(string $email, int $memberTagId, ?int $communityId = null): mixed
32+
{
33+
$this->ensureCommunityIdIsPresent($communityId);
34+
35+
return $this->factorResponse(
36+
$this->circleSo->getHttpClient()->delete(
37+
"/tagged_members?email={$email}&member_tag_id={$memberTagId}&community_id={$this->communityId}"
38+
)
39+
);
40+
}
2741
}

tests/Endpoint/TaggedMembers/TaggedMembersTest.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,20 @@ public function test_tag_member_ok(): void
2626
$this->assertSame(true, $response['success']);
2727
}
2828

29+
public function test_untag_member_ok(): void
30+
{
31+
$circleSo = $this->getSdkWithMockedClient([
32+
new Response(200, [], json_response('untag_member')),
33+
]);
34+
35+
$response = $circleSo->taggedMembers()
36+
->untagMember('adro@example.com', 123456, 1);
37+
38+
$this->assertArrayHasKey('success', $response);
39+
40+
$this->assertSame(true, $response['success']);
41+
}
42+
2943
public function test_tag_member_failed_no_message(): void
3044
{
3145
$this->expectException(UnsuccessfulResponseException::class);

tests/Traits/TaggedMembers.php

Lines changed: 0 additions & 18 deletions
This file was deleted.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"success": true,
3+
"message": "Member tag has been removed from this user"
4+
}

0 commit comments

Comments
 (0)