From 4a65f16f63a0dc8cf481b5784ac455e65553cfd5 Mon Sep 17 00:00:00 2001 From: Vasilii Zolotukhin Date: Wed, 18 Sep 2019 16:15:07 +1000 Subject: [PATCH] Fixed errors on member adding with nullable name --- src/Api/MailingList/Member.php | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/Api/MailingList/Member.php b/src/Api/MailingList/Member.php index 5796dba..6d9775e 100644 --- a/src/Api/MailingList/Member.php +++ b/src/Api/MailingList/Member.php @@ -99,12 +99,15 @@ class Member extends HttpApi $params = [ 'address' => $address, - 'name' => $name, 'vars' => \json_encode($vars), 'subscribed' => $subscribed ? 'yes' : 'no', 'upsert' => $upsert ? 'yes' : 'no', ]; + if (null !== $name) { + $params['name'] = $name; + } + $response = $this->httpPost(sprintf('/v3/lists/%s/members', $list), $params); return $this->hydrateResponse($response, CreateResponse::class); @@ -200,9 +203,12 @@ class Member extends HttpApi // We should assert that "vars"'s $value is a string. // no break case 'address': - case 'name': Assert::stringNotEmpty($value); + break; + case 'name': + Assert::nullOrStringNotEmpty($value); + break; case 'subscribed': Assert::oneOf($value, ['yes', 'no']); @@ -211,6 +217,10 @@ class Member extends HttpApi } } + if (null === $parameters['name']) { + unset($parameters['name']); + } + $response = $this->httpPut(sprintf('/v3/lists/%s/members/%s', $list, $address), $parameters); return $this->hydrateResponse($response, UpdateResponse::class);