Skip to content

Commit d367996

Browse files
committed
wip
1 parent 06ebc87 commit d367996

File tree

2 files changed

+16
-7
lines changed

2 files changed

+16
-7
lines changed

readme.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ $forge->deleteCertificate($serverId, $siteId, $certificateId);
278278
$forge->getCertificateSigningRequest($serverId, $siteId, $certificateId);
279279
$forge->installCertificate($serverId, $siteId, $certificateId, $wait = true);
280280
$forge->activateCertificate($serverId, $siteId, $certificateId, $wait = true);
281-
$forge->obtainLetsEncryptCertificate($serverId, $siteId, $data);
281+
$forge->obtainLetsEncryptCertificate($serverId, $siteId, $data, $wait = true);
282282
```
283283

284284
On a Certificate Instance you may also call:

src/Actions/ManagesCertificates.php

+15-6
Original file line numberDiff line numberDiff line change
@@ -137,13 +137,22 @@ public function activateCertificate($serverId, $siteId, $certificateId, $wait =
137137
*
138138
* @param integer $serverId
139139
* @param integer $siteId
140-
* @param array $data Array of the domains obtain certificates for
140+
* @param array $data
141+
* @param boolean $wait
141142
* @return Certificate
142143
*/
143-
public function obtainLetsEncryptCertificate($serverId, $siteId, array $data)
144-
{
145-
$certificate = $this->post("servers/$serverId/sites/$siteId/certificates/letsencrypt", ['domains' => $data])['certificate'];
144+
public function obtainLetsEncryptCertificate($serverId, $siteId, array $data, $wait = true)
145+
{
146+
$certificate = $this->post("servers/$serverId/sites/$siteId/certificates/letsencrypt", $data)['certificate'];
147+
148+
if ($wait) {
149+
return $this->retry(30, function () use ($serverId, $siteId, $certificate) {
150+
$certificate = $this->certificate($serverId, $siteId, $certificate['id']);
146151

147-
return new Certificate($certificate + ['server_id' => $serverId, 'site_id' => $siteId], $this);
148-
}
152+
return $certificate->status == 'installed' ? $certificate : null;
153+
});
154+
}
155+
156+
return new Certificate($certificate + ['server_id' => $serverId, 'site_id' => $siteId], $this);
157+
}
149158
}

0 commit comments

Comments
 (0)