<?php

namespace App\Models;

use Illuminate\Support\Facades\DB;

class clicks extends Central
{
    protected $table = 'clicks';
    protected $primaryKey = 'id';
    protected $guarded = [];

    public $module = 'clicks';
    public $timestamps = false;

    public function __construct()
    {
        parent::__construct();
    }

    public static function querySelect()
    {
        return "  SELECT clicks.* FROM clicks  ";
    }

    public static function queryWhere()
    {
        return "  WHERE clicks.id IS NOT NULL ";
    }

    public static function queryGroup()
    {
        return "  ";
    }

    public function buildExportQuery($params)
    {
        return $this->buildQuery($params)
            ->leftJoin('stores', 'clicks.store_id', '=', 'stores.id')
            ->leftJoin('users', 'clicks.user_id', '=', 'users.user_id');
    }

    public function getExportHeaders() : array
    {
        return [
            'Click ID' => 'clicks.id',
            'Store' => DB::raw("`stores`.`name`->>'$.en'"),
            'User ID' => 'users.user_id',
            'Email' => 'users.email',
            'Country' => 'users.country_code',
            'Click Time' => 'clicks.click_time',
            'Cashback Enabled' => DB::raw("IF(`clicks`.`cashback_enabled`, 'Enabled', 'Disabled')"),
            'Cashback Percent' => 'clicks.cashback_percent',
            'Platform' => 'clicks.platform',
            'Source Type' => 'clicks.source_type'
        ];
    }
}
