mein-sterntours/app/Events/Offer/OfferSent.php

31 lines
930 B
PHP

<?php
namespace App\Events\Offer;
use App\Models\Offer;
use App\Models\OfferAccessToken;
use App\Models\OfferVersion;
use Illuminate\Foundation\Events\Dispatchable;
/**
* Wird gefeuert, nachdem eine OfferVersion status=sent gesetzt wurde und ein
* frischer Access-Token existiert. Listener (Ticket B6) versenden die Mail,
* schreiben das Kommunikations-Log und fügen den öffentlichen Link ein.
*
* Der Mail-Plaintext-Token liegt in `$token->plain_token` — wird NUR hier,
* beim Versand, in den Link eingebaut. Nach dem Event wird die Property
* wieder entsorgt.
*/
class OfferSent
{
use Dispatchable;
public function __construct(
public readonly Offer $offer,
public readonly OfferVersion $version,
public readonly OfferAccessToken $token,
/** @var array<string,mixed> Betreff/Body/CC aus dem Versand-Modal. */
public readonly array $mailData = [],
) {
}
}