Fixed errors on member adding with nullable name

This commit is contained in:
Vasilii Zolotukhin 2019-09-18 16:15:07 +10:00 committed by David Garcia
parent e7c913a17b
commit 4a65f16f63

View File

@ -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);