/** * @param int $totalCount * @param CredentialResponseItem[] $items */ private function __construct($totalCount, array $items) { Assert::integer($totalCount); Assert::isArray($items); Assert::allIsInstanceOf($items, 'Mailgun\\Resource\\Api\\Domain\\CredentialResponseItem'); $this->totalCount = $totalCount; $this->items = $items; }
/** * @param array $data * * @return self */ public static function create(array $data) { Assert::string($data['time']); Assert::isArray($data['accepted']); Assert::isArray($data['delivered']); Assert::isArray($data['failed']); return new self(new \DateTime($data['time']), $data['accepted'], $data['delivered'], $data['failed']); }
/** * @param array $data * * @return self */ public static function create(array $data) { Assert::keyExists($data, 'connection'); Assert::isArray($data['connection']); $connSettings = $data['connection']; Assert::keyExists($connSettings, 'skip_verification'); Assert::keyExists($connSettings, 'require_tls'); return new self($connSettings['skip_verification'], $connSettings['require_tls']); }
/** * @param array $data * * @return self */ public static function create(array $data) { Assert::string($data['id']); Assert::string($data['event']); Assert::string($data['total_count']); Assert::isArray($data['tags']); Assert::string($data['created_at']); return new self($data['id'], $data['event'], $data['total_count'], $data['tags'], new \DateTime($data['created_at'])); }
/** * @param array $data * * @return self */ public static function create(array $data) { Assert::keyExists($data, 'name'); Assert::keyExists($data, 'smtp_login'); Assert::keyExists($data, 'smtp_password'); Assert::keyExists($data, 'wildcard'); Assert::keyExists($data, 'spam_action'); Assert::keyExists($data, 'state'); Assert::keyExists($data, 'created_at'); return new self($data['name'], $data['smtp_login'], $data['smtp_password'], $data['wildcard'], $data['spam_action'], $data['state'], new \DateTime($data['created_at'])); }
/** * @param array $data * * @return self */ public static function create(array $data) { $name = isset($data['name']) ? $data['name'] : null; $priority = isset($data['priority']) ? $data['priority'] : null; Assert::nullOrString($name); Assert::string($data['record_type']); Assert::string($data['value']); Assert::nullOrString($priority); Assert::string($data['valid']); return new self($name, $data['record_type'], $data['value'], $priority, $data['valid']); }
/** * @param array $data * * @return self */ public static function create(array $data) { Assert::keyExists($data, 'message'); Assert::keyExists($data, 'skip_verification'); Assert::keyExists($data, 'require_tls'); $message = $data['message']; $noVerify = $data['skip_verification']; $requireTLS = $data['require_tls']; Assert::nullOrString($message); Assert::boolean($noVerify); Assert::boolean($requireTLS); return new self($message, $noVerify, $requireTLS); }
/** * @param array $data * * @return self */ public static function create(array $data) { Assert::keyExists($data, 'created_at'); Assert::keyExists($data, 'mailbox'); Assert::keyExists($data, 'login'); $sizeBytes = array_key_exists('size_bytes', $data) ? $data['size_bytes'] : null; $createdAt = new \DateTime($data['created_at']); $mailbox = $data['mailbox']; $login = $data['login']; Assert::nullOrInteger($sizeBytes); Assert::isInstanceOf($createdAt, '\\DateTime'); Assert::string($mailbox); Assert::string($login); return new self($sizeBytes, $createdAt, $mailbox, $login); }
/** * @param array $data * * @return self */ public static function create(array $data) { Assert::keyExists($data, 'domain'); Assert::keyExists($data, 'receiving_dns_records'); Assert::keyExists($data, 'sending_dns_records'); $domain = Domain::create($data['domain']); $rx = []; $tx = []; foreach ($data['receiving_dns_records'] as $item) { $rx[] = DnsRecord::create($item); } foreach ($data['sending_dns_records'] as $item) { $tx[] = DnsRecord::create($item); } return new self($domain, $rx, $tx); }
/** * Updates the specified delivery connection settings for the specified domain. * If a parameter is passed in as null, it will not be updated. * * @param string $domain Name of the domain. * @param bool|null $requireTLS Enforces that messages are sent only over a TLS connection. * @param bool|null $noVerify Disables TLS certificate and hostname verification. * * @return UpdateConnectionResponse|array|ResponseInterface */ public function updateConnection($domain, $requireTLS, $noVerify) { Assert::stringNotEmpty($domain); Assert::nullOrBoolean($requireTLS); Assert::nullOrBoolean($noVerify); $params = []; if (null !== $requireTLS) { $params['require_tls'] = $requireTLS ? 'true' : 'false'; } if (null !== $noVerify) { $params['skip_verification'] = $noVerify ? 'true' : 'false'; } $response = $this->httpPut(sprintf('/v3/domains/%s/connection', $domain), $params); return $this->deserializer->deserialize($response, UpdateConnectionResponse::class); }