• File: Credelec.php
  • Full Path: /var/www/imaliapitest/app/Credelec.php
  • Date Modified: 05/19/2025 4:29 PM
  • File size: 2.26 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php

namespace App;

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

class Credelec extends Model
{
    use HasFactory;
    use LogsActivity;

    protected $fillable = [
        'reqMsgID', 'receipt', 'reqterminalID', 'receiptFormat', 'respDateTime', 'smsreceipt', 'customerMsg', 'TransactionCost',
        'utility_address', 'utility_name', 'utility_taxRef', 'StandardTokenTx_amount', 'StandardTokenTx_desc', 'StandardTokenTx_receiptNumber',
        'StandardTokenTx_tarriff', 'StandardTokenTx_tax', 'StandardTokenTx_token', 'StandardTokenTx_units', 'DebtPaymentTx_amount', 'DebtPaymentTx_desc',
        'DebtPaymentTx_open', 'DebtPaymentTx_receiptNumber', 'DebtPaymentTx_remainder', 'DebtPaymentTx_tax', 'contador', 'user_id', 'amount',
        'category_id', 'old_balance', 'new_balance'
    ];

    protected static $logAttributes = [
        'reqMsgID', 'receipt', 'reqterminalID', 'receiptFormat', 'respDateTime', 'smsreceipt', 'customerMsg', 'TransactionCost',
        'utility_address', 'utility_name', 'utility_taxRef', 'StandardTokenTx_amount', 'StandardTokenTx_desc', 'StandardTokenTx_receiptNumber',
        'StandardTokenTx_tarriff', 'StandardTokenTx_tax', 'StandardTokenTx_token', 'StandardTokenTx_units', 'DebtPaymentTx_amount', 'DebtPaymentTx_desc',
        'DebtPaymentTx_open', 'DebtPaymentTx_receiptNumber', 'DebtPaymentTx_remainder', 'DebtPaymentTx_tax', 'contador', 'user_id', 'amount',
        'category_id'
    ];

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

    protected static $logName = 'credelec';

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

    function transactionHistory(){
        return $this->belongsTo(TransactionHistory::class);
    }

    function transactionHistories(){
        return $this->hasMany(TransactionHistory::class);
    }

    function voucherHistory() {
        return $this->belongsTo(VoucherHistory::class);
    }


    public function getActivitylogOptions(): LogOptions
    {
        return LogOptions::defaults()->logOnly(['*']);
    }
}