51 lines
1.1 KiB
PHP
51 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use App\Helpers\Slack;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
|
use Spatie\Activitylog\LogOptions;
|
|
use Spatie\Activitylog\Models\Activity;
|
|
use Spatie\Activitylog\Traits\LogsActivity;
|
|
|
|
/**
|
|
* @mixin IdeHelperQuote
|
|
*/
|
|
class Quote extends Model
|
|
{
|
|
use LogsActivity, SoftDeletes;
|
|
|
|
protected $fillable = [
|
|
'user_id',
|
|
'quote',
|
|
];
|
|
|
|
public function request(): void
|
|
{
|
|
$slack = new Slack();
|
|
|
|
$slack->sendQuote($this);
|
|
}
|
|
|
|
public function tapActivity(Activity $activity, string $eventName)
|
|
{
|
|
switch ($eventName) {
|
|
case 'created':
|
|
$activity->description = "Quote created: {$this->quote}";
|
|
return;
|
|
case 'deleted':
|
|
$activity->description = "Quote deleted: {$this->quote}";
|
|
return;
|
|
default;
|
|
return;
|
|
}
|
|
}
|
|
|
|
public function getActivityLogOptions(): LogOptions
|
|
{
|
|
return LogOptions::defaults()
|
|
->logOnly(['quote']);
|
|
}
|
|
}
|