mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-12-23 05:23:17 +00:00
66 lines
1.7 KiB
PHP
66 lines
1.7 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace App\Jobs\CuratedOnboarding;
|
||
|
|
||
|
use Illuminate\Bus\Queueable;
|
||
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||
|
use Illuminate\Foundation\Bus\Dispatchable;
|
||
|
use Illuminate\Queue\InteractsWithQueue;
|
||
|
use Illuminate\Queue\SerializesModels;
|
||
|
use App\Models\CuratedRegister;
|
||
|
use App\User;
|
||
|
use Illuminate\Support\Facades\Mail;
|
||
|
use Illuminate\Support\Facades\Storage;
|
||
|
use App\Mail\CuratedRegisterNotifyAdmin;
|
||
|
|
||
|
class CuratedOnboardingNotifyAdminNewApplicationPipeline implements ShouldQueue
|
||
|
{
|
||
|
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
|
||
|
|
||
|
public $cr;
|
||
|
|
||
|
/**
|
||
|
* Create a new job instance.
|
||
|
*/
|
||
|
public function __construct(CuratedRegister $cr)
|
||
|
{
|
||
|
$this->cr = $cr;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Execute the job.
|
||
|
*/
|
||
|
public function handle(): void
|
||
|
{
|
||
|
if(!config('instance.curated_registration.notify.admin.on_verify_email.enabled')) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
config('instance.curated_registration.notify.admin.on_verify_email.bundle') ?
|
||
|
$this->handleBundled() :
|
||
|
$this->handleUnbundled();
|
||
|
}
|
||
|
|
||
|
protected function handleBundled()
|
||
|
{
|
||
|
$cr = $this->cr;
|
||
|
Storage::append('conanap.json', json_encode([
|
||
|
'id' => $cr->id,
|
||
|
'email' => $cr->email,
|
||
|
'created_at' => $cr->created_at,
|
||
|
'updated_at' => $cr->updated_at,
|
||
|
]));
|
||
|
}
|
||
|
|
||
|
protected function handleUnbundled()
|
||
|
{
|
||
|
$cr = $this->cr;
|
||
|
if($aid = config_cache('instance.admin.pid')) {
|
||
|
$admin = User::whereProfileId($aid)->first();
|
||
|
if($admin && $admin->email) {
|
||
|
Mail::to($admin->email)->send(new CuratedRegisterNotifyAdmin($cr));
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|