<?php

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: *');

require '../../modelo/direccion_envio.php';
require '../usuario/decodeUsuario.php';
require '../../modelo/history.php';
require '../../modelo/global.php';
$response = array();

if (
    isset($_POST['id_usuario']) &&
    isset($_POST['id_direccion'])
) {

    $id_usuario = DecodeUser::handlePostUsuario($_POST['id_usuario']);

    if (!$id_usuario) {

        $response['response'] = 'error';
        $response['data'] = 'Id del usuario incorrecto.';

        echo json_encode($response);
        return;
    }

    $id_direccion = $_POST['id_direccion'];

    $valor_anterior = json_encode(ModeloGlobal::mdlSelect('direccion_envio', $id_direccion));

    $direccion_envio = DireccionEnvio::mdlSetDireccionPredeterminada($id_usuario, $id_direccion);

    if (!$direccion_envio) {
        $response['response'] = 'error';
        $response['data'] = 'No se pudo establecer la dirección de envío predeterminada';
    } else {

        ModeloHistory::mdlAddNewRegister('update', 'direccion_envio', $id_direccion, $id_usuario, $valor_anterior);

        $valor_nuevo = json_encode(ModeloGlobal::mdlSelect('direccion_envio', $id_direccion));
        ModeloHistory::mdlAddNewRegister('update', 'direccion_envio', $id_direccion, $id_usuario, $valor_nuevo);

        $response['response'] = 'success';
        $response['data'] = $direccion_envio;
    }

    echo json_encode($response);
    return;
} else {
    $response['response'] = 'error';
    $response['data'] = 'Datos incompletos';

    echo json_encode($response);
    return;
}