Files
My-KOPKB/be/Modules/MembershipApplication/Emails/MembershipApplicationFailedNotification.php
ismailmasseran d06c4701a4
Build Docker Image / build-backend (push) Successful in 1m56s
Build Docker Image / build-frontend (push) Successful in 1m55s
Dev/v1.2 (#4)
Co-authored-by: ISMAIL MASSERAN <topaz@Mac.dlinkrouter.local>
Reviewed-on: #4
2026-07-06 12:50:55 +08:00

53 lines
1.5 KiB
PHP

<?php
namespace Modules\MembershipApplication\Emails;
use App\Models\Document;
use App\Notifications\Concerns\BuildsMailMessage;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
use Illuminate\Support\Facades\Storage;
use Modules\MembershipApplication\Entities\MembershipApplication;
class MembershipApplicationFailedNotification extends Notification implements ShouldQueue
{
use BuildsMailMessage;
use Queueable;
public function __construct(
public MembershipApplication $application,
public Document $resultLetter,
) {}
/**
* @return array<int, string>
*/
public function via(object $notifiable): array
{
return ['mail'];
}
public function toMail(object $notifiable): MailMessage
{
$this->application->loadMissing('applicant');
$applicant = $this->application->applicant;
return $this->mailMessage(
subject: 'Keputusan Permohonan Keahlian KOPKB - TIDAK LULUS',
view: 'membershipapplication::emails.failed',
data: [
'application' => $this->application,
'applicant' => $applicant,
],
)->attach(
Storage::disk(Document::STORAGE_DISK)->path($this->resultLetter->path),
[
'as' => $this->resultLetter->name,
'mime' => $this->resultLetter->mime_type,
]
);
}
}