• File: GeneralAdvice.php
  • Full Path: /var/www/sandbox/app/GeneralAdvice.php
  • Date Modified: 04/15/2024 8:53 PM
  • File size: 1.72 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php

namespace App;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Spatie\Activitylog\LogOptions;
use \Spatie\Activitylog\Traits\LogsActivity;
use DateTimeInterface;

class GeneralAdvice extends Model
{
    use HasFactory;
    use LogsActivity;

    protected $fillable = ['client_id', 'reqMsgID', 'reqterminalID', 'receiptFormat', 'respDateTime', 'type',
        'status', 'mustALR', 'faultNumber', 'adviceReqMsgID', 'msgID', 'user_id', 'amount', 'msno', 'description',
        'client_id', 'terminalChannel', 'terminalCompanyName', 'terminalID', 'faultnumber', 'message'
    ];

    protected static $logName = 'generalAdvice';

    protected static $logAttributes = ['reqMsgID', 'reqterminalID', 'receiptFormat', 'respDateTime', 'type',
        'status', 'client_id', 'mustALR', 'faultNumber', 'adviceReqMsgID', 'msgID', 'user_id', 'amount', 'msno', 'description',
        'client_id', 'terminalChannel', 'terminalCompanyName', 'terminalID', 'faultnumber', 'message'
    ];
    protected $attributes = ['reqMsgID', 'reqterminalID', 'receiptFormat', 'respDateTime', 'type',
        'status', 'client_id', 'mustALR', 'faultNumber', 'adviceReqMsgID', 'msgID', 'user_id', 'amount', 'msno', 'description',
        'client_id', 'terminalChannel', 'terminalCompanyName', 'terminalID', 'faultnumber', 'message'
    ];

    public function getDescriptionForEvent(string $eventName): string
    {
        return "This model has been {$eventName}";
    }

    protected function serializeDate(DateTimeInterface $date)
    {
        return $date->format('d-m-Y H:i:s');
    }

    public function getActivitylogOptions(): LogOptions
    {
        return LogOptions::defaults()->logOnly($this->attributes);
    }
}