<?php

namespace App\Http\Controllers\Api\v1;

use Illuminate\Http\Request;
use App\Coupon;
use App\Manager;
use Maatwebsite;

/**
 * CouponController Class Doc Comment
 *
 * @category Class
 * @package  Api
 * @author   Ketan Patel - ketan.patel@brainvire.com
 *
 */
class CouponController extends Controller
{

    public function __construct()
    {
        //$this->middleware('oauth', ['except' => ['index']]);
        //$this->middleware('auth:api', ['except' => ['index']]);
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        $rid = $request->manager_id;
        $manager = Manager::where('user_id', $rid)->get()->first();;
        $image = $request->files->get('coupon_sheet');

        $this->validate($request, [

                // 'coupon_sheet'  => 'mimes:application/vnd.ms-excel'

        ]);

        if ($image) {
            $fileName = time() . '.' . $image->getClientOriginalExtension();

            if (!file_exists('managers')) {
                mkdir('managers');
            }

            $manager = Manager::find($rid);
            $destinationPath = 'managers' . '/' . $rid;
            $image->move($destinationPath, $fileName);
            $inputFileName = $destinationPath . '/' . $fileName;

            $data = Maatwebsite\Excel\Facades\Excel::load($inputFileName)->get();
            if ($data->count()) {
                foreach ($data as $value) {
                    $coupon = new Coupon();
                    $coupon->code = $value->code;
                    $coupon->description = $value->description;
                    $coupon->user_id = $rid;
                    $coupon->is_send = 0;
                    $coupon->save();
                }
            }
            return response()->json(['status' => 'success']);
        }
    }
}
