<?php

namespace App\Http\Controllers\Network;

use App\Http\Controllers\Network\Classes\FirstGrabberApi;
use Carbon\Carbon;
use Yajny\Member\Models\Network;
use Yajny\Member\Models\Sale;


class FirstGrabber extends BaseNetwork
{
    public function __construct(Network $network)
    {
        $web_ids = [45, 33, 18];
        parent::__construct($network, new FirstGrabberApi($network->api_key, $network->private_key, $network->api_url, $web_ids));
    }

    public function mapNetworkSaleToYajnySale($saleOrder): ?Sale
    {
        $sale = Sale::withoutGlobalScopes()->firstOrNew(['network_id' => $this->network->id, 'order_id' => $saleOrder->order_number]);
        if (!$sale->exists) {
            $sale->click_id = intval($saleOrder->postback_id);
            $sale->order_id = $saleOrder->order_number;
            $sale->transaction_time = Carbon::parse($saleOrder->order_time)->toDateTimeString();
            $sale->currency = 'USD';
        }
        $sale->local_order_amount = $saleOrder->order_amount;
        $sale->local_comission = $saleOrder->all_commission;
        $sale->network_status = $saleOrder->order_status;
        $sale->setStatus($this->network->sale_statuses);
        return $sale;
    }
}
