DROP PROCEDURE IF EXISTS floranet.order_put;

DELIMITER $$
$$
CREATE DEFINER=`root`@`localhost` PROCEDURE floranet.order_put(vOrder JSON)
READS SQL DATA
BEGIN
/**
 *  Get and process an order
 * 
 * @param vOrder Data of the order
 *
 *	Customer data: <customerName>, <email>, <customerPhone>
 *
 *	Item data: <catalogueFk>, <message>	
 *
 *	Delivery data: <deliveryName>, <address>, <deliveryPhone>
 *
 */
	INSERT IGNORE INTO `order`(
							catalogueFk,
							customerName,
							email,
							customerPhone,
							message,
							deliveryName,
							address,
							deliveryPhone
	)
		VALUES (JSON_UNQUOTE(JSON_EXTRACT(vOrder,'$.catalogueFk')),
				JSON_UNQUOTE(JSON_EXTRACT(vOrder,'$.customerName')),
				JSON_UNQUOTE(JSON_EXTRACT(vOrder,'$.email')),
				JSON_UNQUOTE(JSON_EXTRACT(vOrder,'$.customerPhone')),
				JSON_UNQUOTE(JSON_EXTRACT(vOrder,'$.message')),
				JSON_UNQUOTE(JSON_EXTRACT(vOrder,'$.deliveryName')),
				JSON_UNQUOTE(JSON_EXTRACT(vOrder,'$.address')),
				JSON_UNQUOTE(JSON_EXTRACT(vOrder,'$.deliveryPhone'))
		);

	SELECT LAST_INSERT_ID() orderFk;
END$$
DELIMITER ;