blob: 1ec358590118afa49d3af41f7d0cef3525d3f69f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
<?php
namespace Digitigrade\Job;
use Digitigrade\Job;
use Digitigrade\JobQueue;
use Digitigrade\Logger;
use Digitigrade\Model\Instance;
class ExpireInboundAuthToken extends Job {
public string $domain;
public string $token;
public \DateTimeInterface $when;
public function __construct(string $domain, string $token, \DateTimeInterface $when) {
$this->domain = $domain;
$this->token = $token;
$this->when = $when;
$this->remainingTries = 5;
}
public function run() {
Logger::getInstance()->info("expiring token for $this->domain");
$instance = Instance::findByHostname($this->domain);
if ($instance->auth->inboundToken != $this->token) {
Logger::getInstance()->info("actually not expiring the token because it's been refreshed");
return;
}
$instance->auth->inboundToken = null;
}
public function submit() {
JobQueue::getInstance()->submitDelayedUntil($this, $this->when);
}
}
|