UX Improvements for Home page and Accessibility Statement page
This commit is contained in:
180
static/MySQL/7312_p_shop_save_user.sql
Normal file
180
static/MySQL/7312_p_shop_save_user.sql
Normal file
@@ -0,0 +1,180 @@
|
||||
|
||||
USE PARTSLTD_PROD;
|
||||
|
||||
/*
|
||||
|
||||
CALL p_shop_edit_user (
|
||||
'auth0|6582b95c895d09a70ba10fef', # a_id_user
|
||||
'', # a_name
|
||||
'', # a_email
|
||||
0 # a_email_verified
|
||||
)
|
||||
|
||||
*/
|
||||
|
||||
|
||||
-- Clear previous proc
|
||||
DROP PROCEDURE IF EXISTS p_shop_edit_user;
|
||||
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE p_shop_edit_user (
|
||||
IN a_id_user VARCHAR(200),
|
||||
IN a_name VARCHAR(255),
|
||||
IN a_email VARCHAR(254),
|
||||
IN a_email_verified BIT
|
||||
)
|
||||
BEGIN
|
||||
-- Argument redeclaration
|
||||
-- Variable declaration
|
||||
DECLARE v_has_filter_user BIT;
|
||||
-- DECLARE v_now DATETIME;
|
||||
|
||||
|
||||
-- Argument validation + default values
|
||||
IF a_id_user IS NULL THEN
|
||||
SET a_id_user = '';
|
||||
ELSE
|
||||
SET a_id_user = TRIM(a_id_user);
|
||||
END IF;
|
||||
IF a_name IS NULL THEN
|
||||
SET a_name = '';
|
||||
ELSE
|
||||
SET a_name = TRIM(a_name);
|
||||
END IF;
|
||||
IF a_email IS NULL THEN
|
||||
SET a_email = '';
|
||||
ELSE
|
||||
SET a_email = TRIM(a_email);
|
||||
END IF;
|
||||
IF a_email_verified IS NULL THEN
|
||||
SET a_email_verified = 0;
|
||||
END IF;
|
||||
|
||||
-- Temporary tables
|
||||
DROP TABLE IF EXISTS tmp_Msg_Error;
|
||||
DROP TABLE IF EXISTS tmp_Shop_User;
|
||||
|
||||
CREATE TABLE tmp_Shop_User (
|
||||
id_user VARCHAR(200) NOT NULL,
|
||||
CONSTRAINT FK_tmp_Shop_User_id_user
|
||||
FOREIGN KEY (id_user)
|
||||
REFERENCES Shop_User(id_user),
|
||||
active BIT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE tmp_Msg_Error (
|
||||
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
id_type INT NOT NULL,
|
||||
# code VARCHAR(50) NOT NULL,
|
||||
# CONSTRAINT chk_tmp_Msg_Error_code CHECK (code IN (SELECT code FROM Shop_Msg_Error_Type)),
|
||||
CONSTRAINT FK_tmp_Msg_Error_id_type
|
||||
FOREIGN KEY (id_type)
|
||||
REFERENCES Shop_Msg_Error_Type(id_type),
|
||||
msg VARCHAR(4000) NOT NULL
|
||||
);
|
||||
|
||||
|
||||
-- Parse filters
|
||||
SET v_has_filter_user = CASE WHEN a_id_user = '' THEN 0 ELSE 1 END;
|
||||
|
||||
|
||||
-- User
|
||||
IF v_has_filter_user THEN
|
||||
INSERT INTO tmp_Shop_User (
|
||||
id_user,
|
||||
active
|
||||
)
|
||||
SELECT id_user,
|
||||
active
|
||||
FROM Shop_User
|
||||
WHERE id_user LIKE CONCAT('%', a_id_user, '%')
|
||||
AND active
|
||||
LIMIT 1
|
||||
;
|
||||
|
||||
IF NOT EXISTS (SELECT id_user FROM tmp_Shop_User LIMIT 1) THEN
|
||||
INSERT INTO Shop_User (
|
||||
id_user,
|
||||
name,
|
||||
email,
|
||||
email_verified
|
||||
)
|
||||
VALUES (
|
||||
a_id_user,
|
||||
a_name,
|
||||
a_email,
|
||||
a_email_verified
|
||||
);
|
||||
|
||||
INSERT INTO tmp_Shop_User (
|
||||
id_user,
|
||||
active
|
||||
)
|
||||
SELECT id_user,
|
||||
active
|
||||
FROM Shop_User
|
||||
WHERE id_user LIKE CONCAT('%', a_id_user, '%')
|
||||
AND active
|
||||
LIMIT 1
|
||||
;
|
||||
END IF;
|
||||
|
||||
SET a_id_user := (SELECT id_user FROM tmp_Shop_User LIMIT 1);
|
||||
ELSE
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type,
|
||||
msg
|
||||
)
|
||||
VALUES (
|
||||
(SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1),
|
||||
'No user ID provided.'
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
|
||||
/*
|
||||
IF NOT EXISTS (SELECT msg FROM tmp_Msg_Error LIMIT 1) THEN
|
||||
END IF;
|
||||
*/
|
||||
|
||||
|
||||
-- Returns
|
||||
# User
|
||||
SELECT *
|
||||
FROM tmp_Shop_User
|
||||
;
|
||||
|
||||
# Errors
|
||||
SELECT *
|
||||
FROM tmp_Msg_Error
|
||||
;
|
||||
|
||||
/*
|
||||
# Return arguments for test
|
||||
SELECT a_id_user,
|
||||
a_name,
|
||||
a_email,
|
||||
a_email_verified
|
||||
;
|
||||
*/
|
||||
|
||||
-- Clean up
|
||||
DROP TABLE IF EXISTS tmp_Msg_Error;
|
||||
DROP TABLE IF EXISTS tmp_Shop_User;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
|
||||
CALL p_shop_edit_user (
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
0
|
||||
)
|
||||
|
||||
*/
|
||||
Reference in New Issue
Block a user