From 2f4c1de3509141880df019ef1a6cc65981b3f6ea Mon Sep 17 00:00:00 2001 From: winter Date: Sat, 14 Dec 2024 21:24:48 +0000 Subject: implement outbound auth? untested untested because i don't have another instance to test it against .... --- Digitigrade/Job/RefreshOutboundAuthToken.php | 29 ++++++++++++++++++++++++++++ Digitigrade/Job/RequestOutboundAuthToken.php | 28 +++++++++++++++++++++++++++ Digitigrade/Job/UpdateInstanceInfo.php | 5 +++++ 3 files changed, 62 insertions(+) create mode 100644 Digitigrade/Job/RefreshOutboundAuthToken.php create mode 100644 Digitigrade/Job/RequestOutboundAuthToken.php (limited to 'Digitigrade/Job') diff --git a/Digitigrade/Job/RefreshOutboundAuthToken.php b/Digitigrade/Job/RefreshOutboundAuthToken.php new file mode 100644 index 0000000..588617f --- /dev/null +++ b/Digitigrade/Job/RefreshOutboundAuthToken.php @@ -0,0 +1,29 @@ +domain = $domain; + $this->when = $when; + $this->remainingTries = 5; + } + + public function run() { + Logger::getInstance()->info("refreshing outbound token for $this->domain"); + $instance = Instance::findByDomain($this->domain); + $instance->refreshOutboundAuthToken(); + } + + public function submit() { + JobQueue::getInstance()->submitDelayedUntil($this, $this->when); + } +} \ No newline at end of file diff --git a/Digitigrade/Job/RequestOutboundAuthToken.php b/Digitigrade/Job/RequestOutboundAuthToken.php new file mode 100644 index 0000000..69430c8 --- /dev/null +++ b/Digitigrade/Job/RequestOutboundAuthToken.php @@ -0,0 +1,28 @@ +domain = $domain; + $this->secret = $secret; + $this->remainingTries = 1; + } + + public function run() { + Logger::getInstance()->info("responding to $this->domain's dialback challenge"); + $instance = Instance::findByDomain($this->domain); + $instance->requestOutboundAuthToken($this->secret); + } + + public function submit() { + JobQueue::getInstance()->submitUrgent($this); + } +} \ No newline at end of file diff --git a/Digitigrade/Job/UpdateInstanceInfo.php b/Digitigrade/Job/UpdateInstanceInfo.php index 85c11f0..abcd182 100644 --- a/Digitigrade/Job/UpdateInstanceInfo.php +++ b/Digitigrade/Job/UpdateInstanceInfo.php @@ -2,6 +2,7 @@ namespace Digitigrade\Job; use Digitigrade\Job; +use Digitigrade\JobQueue; use Digitigrade\Logger; use Digitigrade\Model\Instance; @@ -19,4 +20,8 @@ class UpdateInstanceInfo extends Job { throw new \RuntimeException("remote object doesn't seem to exist"); } } + + public function submit() { + JobQueue::getInstance()->submitLazy($this); + } } \ No newline at end of file -- cgit v1.3