Merge pull request #4802 from pixelfed/staging

Staging
This commit is contained in:
daniel 2023-12-08 02:09:41 -07:00 committed by GitHub
commit 128415dbf8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 89 additions and 4 deletions

View file

@ -23,6 +23,8 @@ use App\Services\AccountService;
use App\Services\StatusService; use App\Services\StatusService;
use App\Services\WebfingerService; use App\Services\WebfingerService;
use App\Models\Conversation; use App\Models\Conversation;
use App\Jobs\DirectPipeline\DirectDeletePipeline;
use App\Jobs\DirectPipeline\DirectDeliverPipeline;
class DirectMessageController extends Controller class DirectMessageController extends Controller
{ {
@ -829,13 +831,13 @@ class DirectMessageController extends Controller
] ]
]; ];
Helpers::sendSignedObject($profile, $url, $body); DirectDeliverPipeline::dispatch($profile, $url, $body)->onQueue('high');
} }
public function remoteDelete($dm) public function remoteDelete($dm)
{ {
$profile = $dm->author; $profile = $dm->author;
$url = $dm->recipient->sharedInbox ?? $dm->recipient->inbox_url; $url = $dm->recipient->inbox_url;
$body = [ $body = [
'@context' => [ '@context' => [
@ -852,7 +854,6 @@ class DirectMessageController extends Controller
'type' => 'Tombstone' 'type' => 'Tombstone'
] ]
]; ];
DirectDeletePipeline::dispatch($profile, $url, $body)->onQueue('high');
Helpers::sendSignedObject($profile, $url, $body);
} }
} }

View file

@ -0,0 +1,42 @@
<?php
namespace App\Jobs\DirectPipeline;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use App\Util\ActivityPub\Helpers;
class DirectDeletePipeline implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public $timeout = 900;
public $tries = 3;
public $maxExceptions = 1;
protected $profile;
protected $url;
protected $payload;
/**
* Create a new job instance.
*/
public function __construct($profile, $url, $payload)
{
$this->profile = $profile;
$this->url = $url;
$this->payload = $payload;
}
/**
* Execute the job.
*/
public function handle(): void
{
Helpers::sendSignedObject($this->profile, $this->url, $this->payload);
}
}

View file

@ -0,0 +1,42 @@
<?php
namespace App\Jobs\DirectPipeline;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use App\Util\ActivityPub\Helpers;
class DirectDeliverPipeline implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public $timeout = 900;
public $tries = 3;
public $maxExceptions = 1;
protected $profile;
protected $url;
protected $payload;
/**
* Create a new job instance.
*/
public function __construct($profile, $url, $payload)
{
$this->profile = $profile;
$this->url = $url;
$this->payload = $payload;
}
/**
* Execute the job.
*/
public function handle(): void
{
Helpers::sendSignedObject($this->profile, $this->url, $this->payload);
}
}