<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

use App\Traits\{NextKey,PushNew};

class PaymentItem extends Model
{
	use PushNew;
	const RECORD_ID = 'payment_item';

	protected $dateFormat = 'U';
	const CREATED_AT = 'date_orig';
	const UPDATED_AT = 'date_last';

	/* RELATIONS */

	public function invoice()
	{
		return $this->belongsTo(Invoice::class);
	}

	public function payment() {
		return $this->belongsTo(Payment::class);
	}

	/* ATTRIBUTES */

	/**
	 * If our amount is negative, and invoice_id is null, then this is a reversal.
	 *
	 * @param $value
	 * @return float
	 */
	public function getAllocAmtAttribute($value): float
	{
		return (is_null($this->invoice_id) && $value < 0) ? -$value : $value;
	}
}