<?php
header('Access-Control-Allow-Origin: *');
header(
    'Access-Control-Allow-Methods: HEAD, GET, POST, PUT, PATCH, DELETE, OPTIONS'
);
header(
    'Access-Control-Allow-Headers: X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method,Access-Control-Request-Headers, Authorization'
);
header('Content-Type: application/json');

include '../../../../config/db.php';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $data = json_decode(file_get_contents('php://input'));
    if (
        !empty($data->couponId) &&
        !empty($data->couponCode) &&
        !empty($data->discount) &&
        !empty($data->maxUsage) &&
        !empty($data->activeCouponDate) &&
        !empty($data->minAmount) &&
        !empty($data->couponDescription) &&
        !empty($data->expireDate)
    ) {
        $couponId = $data->couponId;
        $couponCode = $data->couponCode;
        $discount = $data->discount;
        $isPercentage = $data->isPercentage;
        $maxUsage = $data->maxUsage;
        $minAmount = $data->minAmount;
        $activeCouponDate = $data->activeCouponDate;
        $couponDescription = $data->couponDescription;
        $expireDate = $data->expireDate;

        $dateTime = date('Y-m-d H:i:s');
        $isExistQuery = "SELECT * FROM Coupon WHERE CouponCode = '$couponCode' ";
        if (mysqli_num_rows(mysqli_query($con, $isExistQuery)) == 1) {
            $query = "UPDATE `Coupon` SET `CouponCode`='$couponCode',`MinAmount`='$minAmount',`Discount`='$discount',`IsPercentage`='$isPercentage',`MaxUsage`='$maxUsage',`ActiveCouponDate`='$activeCouponDate',`CouponDescription`='$couponDescription',`ExpireDate`='$expireDate',`UpdatedDate`='$dateTime' WHERE CouponId='$couponId' ";

            if (mysqli_query($con, $query)) {
                if (mysqli_affected_rows($con) == 1) {
                    echo json_encode([
                        'status' => 1,
                        'message' => 'Coupon updated successfully.',
                    ]);
                    http_response_code(200);
                } else {
                    echo json_encode([
                        'status' => 0,
                        'message' => 'Could not insert data.',
                    ]);
                    http_response_code(200);
                }
            } else {
                echo json_encode([
                    'status' => 0,
                    'message' => mysqli_error($con),
                ]);
                http_response_code(200);
            }
        } else {
            echo json_encode([
                'status' => -2,
                'message' => 'Data already exists',
            ]);
            http_response_code(200);
        }
    } else {
        echo json_encode([
            'status' => -1,
            'message' => 'Required fields are missing',
        ]);
        http_response_code(200);
    }
} else {
    echo json_encode([
        'status' => -1,
    ]);
    http_response_code(400);
}
