]> _ Git - psq.git/commitdiff
mailgun events status
authorLouis Jeckel <louis.jeckel@outlook.cm>
Fri, 11 Sep 2020 17:57:41 +0000 (19:57 +0200)
committerLouis Jeckel <louis.jeckel@outlook.cm>
Fri, 11 Sep 2020 17:57:41 +0000 (19:57 +0200)
app/Events/DispatchMailgunEvent.php
app/MailgunEvent.php
database/migrations/2020_09_11_175247_add_data_to_mailgun_events.php [new file with mode: 0644]

index 077d6b180657707c4950e9a6d2b5f894b0f37e02..2a89d928a372aebff2c9fe85033ef29496e7971f 100644 (file)
@@ -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);
index 1a9f406850e6c80c6405cc39d0818fdd59f988f7..3b656d94ed730e4b920cb97a83574010bc2ac3a7 100644 (file)
@@ -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 (file)
index 0000000..450bace
--- /dev/null
@@ -0,0 +1,32 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class AddDataToMailgunEvents extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::table('mailgun_events', function (Blueprint $table) {
+            $table->json('status')->nullable();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('mailgun_events', function (Blueprint $table) {
+            $table->dropColumn('status');
+        });
+    }
+}