Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/job-board.corals.io/Corals/modules/Ecommerce/Transformers/API/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/job-board.corals.io/Corals/modules/Ecommerce/Transformers/API/CouponTransformer.php
<?php

namespace Corals\Modules\Ecommerce\Transformers\API;

use Corals\Foundation\Transformers\APIBaseTransformer;
use Corals\Modules\Ecommerce\Models\Coupon;

class CouponTransformer extends APIBaseTransformer
{
    /**
     * @param Coupon $coupon
     * @return array
     * @throws \Throwable
     */
    public function transform(Coupon $coupon)
    {
        $coupon_status = $coupon->status();

        if ($coupon_status == "active") {
            $status = trans('Ecommerce::attributes.coupon.status_options.active');
        } else if ($coupon_status == "pending") {
            $status = trans('Ecommerce::attributes.coupon.status_options.pending');
        } else {
            $status = trans('Ecommerce::attributes.coupon.status_options.expired');
        }

        $productsList = apiPluck($coupon->products()->pluck('name', 'id'));
        $usersList = apiPluck($coupon->users()->pluck('email', 'id'));

        $transformedArray = [
            'id' => $coupon->id,
            'code' => $coupon->code,
            'usage_count' => $coupon->uses,
            'min_cart_total' => $coupon->min_cart_total ? \Payments::currency($coupon->min_cart_total) : null,
            'max_discount_value' => $coupon->max_discount_value ? \Payments::currency($coupon->max_discount_value) : null,
            'value' => $coupon->type == "percentage" ? $coupon->value . "%" : \Currency::format($coupon->value, \Payments::admin_currency_code()),
            'parent_id' => optional($coupon->parent)->name,
            'type' => ucfirst($coupon->type),
            'start' => format_date($coupon->start),
            'expiry' => format_date($coupon->expiry),
            'status' => $status,
            'products' => $productsList,
            'users' => $usersList,
        ];

        return parent::transformResponse($transformedArray);
    }
}

Spamworldpro Mini