diff options
| author | winter | 2024-12-19 18:01:29 +0000 |
|---|---|---|
| committer | winter | 2024-12-19 18:01:29 +0000 |
| commit | 1e070a7a0097c74f8ac30678d39267f19c76f9f6 (patch) | |
| tree | 669ba608d8182971752f6bc2ae2ade0b3ff627cf /Digitigrade/Job | |
| parent | 6f767c4562df4a686720ef96396cea0b2f0c6334 (diff) | |
process pushes in job + fix token expiry job
Diffstat (limited to 'Digitigrade/Job')
| -rw-r--r-- | Digitigrade/Job/ExpireInboundAuthToken.php | 1 | ||||
| -rw-r--r-- | Digitigrade/Job/ProcessIncomingPush.php | 41 |
2 files changed, 42 insertions, 0 deletions
diff --git a/Digitigrade/Job/ExpireInboundAuthToken.php b/Digitigrade/Job/ExpireInboundAuthToken.php index 1ec3585..84a5b21 100644 --- a/Digitigrade/Job/ExpireInboundAuthToken.php +++ b/Digitigrade/Job/ExpireInboundAuthToken.php @@ -26,6 +26,7 @@ class ExpireInboundAuthToken extends Job { return; } $instance->auth->inboundToken = null; + $instance->auth->save(); } public function submit() { diff --git a/Digitigrade/Job/ProcessIncomingPush.php b/Digitigrade/Job/ProcessIncomingPush.php new file mode 100644 index 0000000..fefa122 --- /dev/null +++ b/Digitigrade/Job/ProcessIncomingPush.php @@ -0,0 +1,41 @@ +<?php +namespace Digitigrade\Job; + +use Digitigrade\Job; +use Digitigrade\Logger; +use Digitigrade\Model\Actor; +use Digitigrade\Model\Interaction; +use Digitigrade\Model\Note; + +class ProcessIncomingPush extends Job { + public \stdClass $object; + + public function __construct(\stdClass $object) { + $this->object = $object; + $this->remainingTries = 3; + } + + public function run() { + assert(isset($this->object->type)); + $log = Logger::getInstance(); + switch ($this->object->type) { + case 'actor': + $log->info('importing actor with uri ' . $this->object->self); + Actor::importFromReceivedObject($this->object); + break; + case 'note': + $log->info('importing note with uri ' . $this->object->self); + Note::importFromReceivedObject($this->object); + break; + case 'interaction': + $log->info('importing interaction with uri ' . $this->object->self); + Interaction::importFromReceivedObject($this->object); + break; + case 'extension': + case 'tombstone': + throw new \RuntimeException('object type ' . $this->object->type . ' not yet implemented :('); + default: + throw new \RuntimeException('invalid object type: ' . $this->object->type); + } + } +}
\ No newline at end of file |
