From: Louis Jeckel Date: Fri, 11 Sep 2020 17:57:41 +0000 (+0200) Subject: mailgun events status X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=6a9493d91a87e88ad0ac4df1128846a7d303da87;p=psq.git mailgun events status --- diff --git a/app/Events/DispatchMailgunEvent.php b/app/Events/DispatchMailgunEvent.php index 077d6b1..2a89d92 100644 --- a/app/Events/DispatchMailgunEvent.php +++ b/app/Events/DispatchMailgunEvent.php @@ -51,10 +51,12 @@ class DispatchMailgunEvent implements ShouldBroadcast abort(200); } - $event = MailgunEvent::updateOrCreate([ + $event = MailgunEvent::query()->updateOrCreate([ 'event' => Arr::get($webhookData, 'event-data.event'), 'recipient' => Arr::get($webhookData, 'event-data.recipient'), - 'email_batch_id' => $this->batch_id + 'email_batch_id' => $this->batch_id, + ], [ + 'status' => Arr::get($webhookData, 'event-data.delivery-status') ]); $this->broadcast = ($event->wasRecentlyCreated); diff --git a/app/MailgunEvent.php b/app/MailgunEvent.php index 1a9f406..3b656d9 100644 --- a/app/MailgunEvent.php +++ b/app/MailgunEvent.php @@ -10,13 +10,16 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo; * Class MailgunEvent * @package App * @property EmailBatch $batch - * @method static MailgunEvent updateOrCreate(array $arr, array $values = []) */ class MailgunEvent extends Model { protected $guarded = []; + protected $casts = [ + 'status' => 'array' + ]; + /** * @return BelongsTo diff --git a/database/migrations/2020_09_11_175247_add_data_to_mailgun_events.php b/database/migrations/2020_09_11_175247_add_data_to_mailgun_events.php new file mode 100644 index 0000000..450bace --- /dev/null +++ b/database/migrations/2020_09_11_175247_add_data_to_mailgun_events.php @@ -0,0 +1,32 @@ +json('status')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('mailgun_events', function (Blueprint $table) { + $table->dropColumn('status'); + }); + } +}