diff --git a/src/Api/Domain.php b/src/Api/Domain.php index f099645..0b14684 100644 --- a/src/Api/Domain.php +++ b/src/Api/Domain.php @@ -88,16 +88,26 @@ class Domain extends HttpApi $params['name'] = $domain; - // If at least smtpPass available, check for the fields spamAction wildcard if (!empty($smtpPass)) { - // TODO(sean.johnson): Extended spam filter input validation. - Assert::stringNotEmpty($spamAction); - Assert::boolean($wildcard); + Assert::stringNotEmpty($smtpPass); + Assert::lengthBetween($smtpPass, 5, 32, 'SMTP password must be between 5 and 32 characters.'); $params['smtp_password'] = $smtpPass; + } + + if (null !== $spamAction) { + // TODO(sean.johnson): Extended spam filter input validation. + Assert::stringNotEmpty($spamAction); + $params['spam_action'] = $spamAction; } + if (null !== $wildcard) { + Assert::boolean($wildcard); + + $params['wildcard'] = $wildcard ? 'true' : 'false'; + } + $response = $this->httpPost('/v3/domains', $params); return $this->hydrateResponse($response, CreateResponse::class);