54 lines
1.2 KiB
PHP
54 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
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
|
|
{
|
|
// Send the quote
|
|
// If success, add it to the transactions
|
|
|
|
activity()
|
|
->performedOn($this)
|
|
->event('send')
|
|
->log("Requested quote: $this->quote");
|
|
}
|
|
|
|
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']);
|
|
}
|
|
}
|