Feat(Project Hub): Apply for Founding Partner Program page created with database structure and methods.

This commit is contained in:
2025-08-02 17:39:22 +01:00
parent 09af0a7a93
commit 438909b102
343 changed files with 8047 additions and 4253 deletions

View File

@@ -67,7 +67,7 @@ BEGIN
MET.id_type
, @errno
, @text
FROM parts.CORE_Msg_Error_Type MET
FROM fetchmetrics.CORE_Msg_Error_Type MET
WHERE MET.code = 'MYSQL_ERROR'
;
@@ -82,7 +82,7 @@ BEGIN
, ERROR_TYPE.text_colour
, t_ERROR.msg
FROM tmp_Msg_Error_Calc_User t_ERROR
INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
;
DROP TABLE IF EXISTS tmp_Msg_Error_Calc_User;
@@ -90,14 +90,14 @@ BEGIN
SET v_time_start := CURRENT_TIMESTAMP(6);
SET v_code_type_error_bad_data := 'BAD_DATA';
SET v_id_type_error_bad_data := (SELECT id_type FROM parts.CORE_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1);
SET v_id_access_level_view = (SELECT id_access_level FROM parts.DOG_Access_Level WHERE code = 'VIEW' LIMIT 1);
SET v_priority_access_level_view = (SELECT priority FROM parts.DOG_Access_Level WHERE id_access_level = v_id_access_level_view);
SET v_priority_access_level_edit = (SELECT priority FROM parts.DOG_Access_Level WHERE code = 'EDIT' LIMIT 1);
SET v_priority_access_level_admin = (SELECT priority FROM parts.DOG_Access_Level WHERE code = 'ADMIN' LIMIT 1);
SET v_priority_access_level_none = (SELECT priority FROM parts.DOG_Access_Level WHERE code = 'NONE' LIMIT 1);
SET v_id_type_error_bad_data := (SELECT id_type FROM fetchmetrics.CORE_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1);
SET v_id_access_level_view = (SELECT id_access_level FROM fetchmetrics.DOG_Access_Level WHERE code = 'VIEW' LIMIT 1);
SET v_priority_access_level_view = (SELECT priority FROM fetchmetrics.DOG_Access_Level WHERE id_access_level = v_id_access_level_view);
SET v_priority_access_level_edit = (SELECT priority FROM fetchmetrics.DOG_Access_Level WHERE code = 'EDIT' LIMIT 1);
SET v_priority_access_level_admin = (SELECT priority FROM fetchmetrics.DOG_Access_Level WHERE code = 'ADMIN' LIMIT 1);
SET v_priority_access_level_none = (SELECT priority FROM fetchmetrics.DOG_Access_Level WHERE code = 'NONE' LIMIT 1);
CALL parts.p_validate_guid ( a_guid );
CALL fetchmetrics.p_validate_guid ( a_guid );
SET a_get_all_user := IFNULL(a_get_all_user, 0);
SET a_get_inactive_user := IFNULL(a_get_inactive_user, 0);
SET a_ids_user := TRIM(IFNULL(a_ids_user, ''));
@@ -228,7 +228,7 @@ BEGIN
;
END IF;
CALL parts.p_core_split(a_guid, a_ids_access_level_required, ',', a_debug);
CALL fetchmetrics.p_core_split(a_guid, a_ids_access_level_required, ',', a_debug);
INSERT INTO tmp_Split_Id_Calc_User (
substring
@@ -237,7 +237,7 @@ BEGIN
SELECT
SPLIT_T.substring
, CONVERT(SPLIT_T.substring, DECIMAL(10,0)) -- AS as_int
FROM parts.CORE_Split_Temp SPLIT_T
FROM fetchmetrics.CORE_Split_Temp SPLIT_T
WHERE
GUID = a_guid
AND IFNULL(SPLIT_T.substring, '') != ''
@@ -249,13 +249,13 @@ BEGIN
FROM tmp_Split_Id_Calc_User;
END IF;
CALL parts.p_core_clear_split( a_guid );
CALL fetchmetrics.p_core_clear_split( a_guid );
# Invalid IDs
IF EXISTS (
SELECT t_SPLIT.substring
FROM tmp_Split_Id_Calc_User t_SPLIT
LEFT JOIN parts.DOG_Access_Level ACCESS_LEVEL ON t_SPLIT.as_int = ACCESS_LEVEL.id_access_level
LEFT JOIN fetchmetrics.DOG_Access_Level ACCESS_LEVEL ON t_SPLIT.as_int = ACCESS_LEVEL.id_access_level
WHERE
ISNULL(t_SPLIT.as_int)
OR ISNULL(ACCESS_LEVEL.id_access_level)
@@ -271,7 +271,7 @@ BEGIN
, v_code_type_error_bad_data
, CONCAT('Invalid or inactive access level IDs: ', GROUP_CONCAT(t_SPLIT.substring SEPARATOR ','))
FROM tmp_Split_Id_Calc_User t_SPLIT
LEFT JOIN parts.DOG_Access_Level ACCESS_LEVEL ON t_SPLIT.as_int = ACCESS_LEVEL.id_access_level
LEFT JOIN fetchmetrics.DOG_Access_Level ACCESS_LEVEL ON t_SPLIT.as_int = ACCESS_LEVEL.id_access_level
WHERE
ISNULL(t_SPLIT.as_int)
OR ISNULL(ACCESS_LEVEL.id_access_level)
@@ -283,7 +283,7 @@ BEGIN
SET v_id_access_level_required := (
SELECT ACCESS_LEVEL.id_access_level
FROM tmp_Split_Id_Calc_User t_SPLIT
INNER JOIN parts.DOG_Access_Level ACCESS_LEVEL
INNER JOIN fetchmetrics.DOG_Access_Level ACCESS_LEVEL
ON t_SPLIT.as_int = ACCESS_LEVEL.id_access_level
AND ACCESS_LEVEL.active = 1
ORDER BY ACCESS_LEVEL.priority ASC
@@ -299,7 +299,7 @@ BEGIN
-- Permission IDs
IF v_has_filter_permission = 1 THEN
CALL parts.p_core_split(a_guid, a_ids_permission_required, ',', a_debug);
CALL fetchmetrics.p_core_split(a_guid, a_ids_permission_required, ',', a_debug);
INSERT INTO tmp_Split_Id_Calc_User (
substring
@@ -308,7 +308,7 @@ BEGIN
SELECT
SPLIT_T.substring
, CONVERT(SPLIT_T.substring, DECIMAL(10,0)) AS as_int
FROM parts.CORE_Split_Temp SPLIT_T
FROM fetchmetrics.CORE_Split_Temp SPLIT_T
WHERE
GUID = a_guid
AND IFNULL(SPLIT_T.substring, '') != ''
@@ -320,10 +320,10 @@ BEGIN
FROM tmp_Split_Id_Calc_User;
END IF;
CALL parts.p_core_clear_split( a_guid );
CALL fetchmetrics.p_core_clear_split( a_guid );
# Invalid or inactive
IF EXISTS (SELECT PERMISSION.id_permission FROM tmp_Split_Id_Calc_User t_SPLIT LEFT JOIN parts.DOG_Permission PERMISSION ON t_SPLIT.as_int = PERMISSION.id_permission WHERE ISNULL(t_SPLIT.as_int) OR ISNULL(PERMISSION.id_permission) OR PERMISSION.active = 0) THEN
IF EXISTS (SELECT PERMISSION.id_permission FROM tmp_Split_Id_Calc_User t_SPLIT LEFT JOIN fetchmetrics.DOG_Permission PERMISSION ON t_SPLIT.as_int = PERMISSION.id_permission WHERE ISNULL(t_SPLIT.as_int) OR ISNULL(PERMISSION.id_permission) OR PERMISSION.active = 0) THEN
INSERT INTO tmp_Msg_Error_Calc_User (
id_type
, code
@@ -334,7 +334,7 @@ BEGIN
, v_code_type_error_bad_data
, CONCAT('Invalid or inactive permission IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT.substring SEPARATOR ','), 'NULL'))
FROM tmp_Split_Id_Calc_User t_SPLIT
LEFT JOIN parts.DOG_Permission PERMISSION ON t_SPLIT.as_int = PERMISSION.id_permission
LEFT JOIN fetchmetrics.DOG_Permission PERMISSION ON t_SPLIT.as_int = PERMISSION.id_permission
WHERE
ISNULL(t_SPLIT.as_int)
OR ISNULL(PERMISSION.id_permission)
@@ -344,8 +344,8 @@ BEGIN
SET v_id_permission_required := (
SELECT PERMISSION.id_permission
FROM tmp_Split_Id_Calc_User t_SPLIT
INNER JOIN parts.DOG_Permission PERMISSION ON t_SPLIT.as_int = PERMISSION.id_permission
INNER JOIN parts.DOG_Access_Level ACCESS_LEVEL ON PERMISSION.id_access_level_required = ACCESS_LEVEL.id_access_level
INNER JOIN fetchmetrics.DOG_Permission PERMISSION ON t_SPLIT.as_int = PERMISSION.id_permission
INNER JOIN fetchmetrics.DOG_Access_Level ACCESS_LEVEL ON PERMISSION.id_access_level_required = ACCESS_LEVEL.id_access_level
ORDER BY ACCESS_LEVEL.priority ASC
LIMIT 1
);
@@ -355,8 +355,8 @@ BEGIN
SET v_priority_access_level_required := (
SELECT ACCESS_LEVEL.priority
FROM parts.DOG_Access_Level ACCESS_LEVEL
LEFT JOIN parts.DOG_Permission PERMISSION ON ACCESS_LEVEL.id_access_level = PERMISSION.id_access_level_required
FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL
LEFT JOIN fetchmetrics.DOG_Permission PERMISSION ON ACCESS_LEVEL.id_access_level = PERMISSION.id_access_level_required
WHERE
ACCESS_LEVEL.id_access_level = v_id_access_level_required
OR PERMISSION.id_permission = v_id_permission_required
@@ -367,7 +367,7 @@ BEGIN
# Users
# Ids
IF v_has_filter_user_id = 1 THEN
CALL parts.p_core_split(a_guid, a_ids_user, ',', a_debug);
CALL fetchmetrics.p_core_split(a_guid, a_ids_user, ',', a_debug);
INSERT INTO tmp_Split_Id_Calc_User (
substring
@@ -376,7 +376,7 @@ BEGIN
SELECT
SPLIT_T.substring
, CONVERT(SPLIT_T.substring, DECIMAL(10,0)) AS as_int
FROM parts.CORE_Split_Temp SPLIT_T
FROM fetchmetrics.CORE_Split_Temp SPLIT_T
WHERE
SPLIT_T.GUID = a_guid
AND IFNULL(SPLIT_T.substring, '') != ''
@@ -388,13 +388,13 @@ BEGIN
FROM tmp_Split_Id_Calc_User;
END IF;
CALL parts.p_core_clear_split( a_guid );
CALL fetchmetrics.p_core_clear_split( a_guid );
# Invalid or inactive
IF EXISTS (
SELECT USER.id_user
FROM tmp_Split_Id_Calc_User t_SPLIT
LEFT JOIN parts.DOG_User USER ON t_SPLIT.as_int = USER.id_user
LEFT JOIN fetchmetrics.DOG_User USER ON t_SPLIT.as_int = USER.id_user
WHERE
ISNULL(t_SPLIT.as_int)
OR ISNULL(USER.id_user)
@@ -414,7 +414,7 @@ BEGIN
, v_code_type_error_bad_data
, CONCAT('Invalid or inactive user IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT.substring SEPARATOR ','), 'NULL'))
FROM tmp_Split_Id_Calc_User t_SPLIT
LEFT JOIN parts.DOG_User USER ON t_SPLIT.as_int = USER.id_user
LEFT JOIN fetchmetrics.DOG_User USER ON t_SPLIT.as_int = USER.id_user
WHERE
ISNULL(t_SPLIT.as_int)
OR ISNULL(USER.id_user)
@@ -428,11 +428,11 @@ BEGIN
# Auth0 Ids
IF v_has_filter_user_auth0_id = 1 THEN
CALL parts.p_core_split(a_guid, a_auth0_ids_user, ',', a_debug);
CALL fetchmetrics.p_core_split(a_guid, a_auth0_ids_user, ',', a_debug);
INSERT INTO tmp_Split_Auth0_Id_Calc_User ( substring )
SELECT SPLIT_T.substring
FROM parts.CORE_Split_Temp SPLIT_T
FROM fetchmetrics.CORE_Split_Temp SPLIT_T
WHERE
SPLIT_T.GUID = a_guid
AND IFNULL(SPLIT_T.substring, '') != ''
@@ -444,13 +444,13 @@ BEGIN
FROM tmp_Split_Auth0_Id_Calc_User;
END IF;
CALL parts.p_core_clear_split( a_guid );
CALL fetchmetrics.p_core_clear_split( a_guid );
# Invalid or inactive
IF EXISTS (
SELECT USER.id_user
FROM tmp_Split_Auth0_Id_Calc_User t_SPLIT
LEFT JOIN parts.DOG_User USER ON t_SPLIT.substring = USER.id_user_auth0
LEFT JOIN fetchmetrics.DOG_User USER ON t_SPLIT.substring = USER.id_user_auth0
WHERE
ISNULL(USER.id_user)
OR (
@@ -469,7 +469,7 @@ BEGIN
, v_code_type_error_bad_data
, CONCAT('Invalid or inactive user Auth0 IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT.substring SEPARATOR ','), 'NULL'))
FROM tmp_Split_Auth0_Id_Calc_User t_SPLIT
LEFT JOIN parts.DOG_User USER ON t_SPLIT.substring = USER.id_user_auth0
LEFT JOIN fetchmetrics.DOG_User USER ON t_SPLIT.substring = USER.id_user_auth0
WHERE
ISNULL(USER.id_user)
OR (
@@ -482,11 +482,11 @@ BEGIN
# Names
IF v_has_filter_user_name = 1 THEN
CALL parts.p_core_split(a_guid, a_names_user, ',', a_debug);
CALL fetchmetrics.p_core_split(a_guid, a_names_user, ',', a_debug);
INSERT INTO tmp_Split_Name_Calc_User ( substring )
SELECT SPLIT_T.substring
FROM parts.CORE_Split_Temp SPLIT_T
FROM fetchmetrics.CORE_Split_Temp SPLIT_T
WHERE
SPLIT_T.GUID = a_guid
AND IFNULL(SPLIT_T.substring, '') != ''
@@ -498,16 +498,16 @@ BEGIN
FROM tmp_Split_Name_Calc_User;
END IF;
CALL parts.p_core_clear_split( a_guid );
CALL fetchmetrics.p_core_clear_split( a_guid );
END IF;
# Emails
IF v_has_filter_user_email = 1 THEN
CALL parts.p_core_split(a_guid, a_emails_user, ',', a_debug);
CALL fetchmetrics.p_core_split(a_guid, a_emails_user, ',', a_debug);
INSERT INTO tmp_Split_Email_Calc_User ( substring )
SELECT SPLIT_T.substring
FROM parts.CORE_Split_Temp SPLIT_T
FROM fetchmetrics.CORE_Split_Temp SPLIT_T
WHERE
SPLIT_T.GUID = a_guid
AND IFNULL(SPLIT_T.substring, '') != ''
@@ -519,11 +519,11 @@ BEGIN
FROM tmp_Split_Email_Calc_User;
END IF;
CALL parts.p_core_clear_split( a_guid );
CALL fetchmetrics.p_core_clear_split( a_guid );
END IF;
-- Get all users
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_User t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_User t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
INSERT INTO tmp_Calc_User (
id_user
, id_permission_required
@@ -542,17 +542,17 @@ BEGIN
User_Id_Filter AS (
SELECT USER.id_user
FROM tmp_Split_Id_Calc_User t_SPLIT_ID
INNER JOIN parts.DOG_User USER ON t_SPLIT_ID.as_int = USER.id_user
INNER JOIN fetchmetrics.DOG_User USER ON t_SPLIT_ID.as_int = USER.id_user
)
, User_Auth0_Id_Filter AS (
SELECT USER.id_user
FROM tmp_Split_Auth0_Id_Calc_User t_SPLIT_AUTH0_ID
INNER JOIN parts.DOG_User USER ON t_SPLIT_AUTH0_ID.substring = USER.id_user_auth0
INNER JOIN fetchmetrics.DOG_User USER ON t_SPLIT_AUTH0_ID.substring = USER.id_user_auth0
)
, User_Name_Filter AS (
SELECT USER.id_user
FROM tmp_Split_Name_Calc_User t_SPLIT_NAME
INNER JOIN parts.DOG_User USER ON CONCAT(USER.firstname, ' ', USER.surname) LIKE CONCAT('%', t_SPLIT_NAME.substring, '%')
INNER JOIN fetchmetrics.DOG_User USER ON CONCAT(USER.firstname, ' ', USER.surname) LIKE CONCAT('%', t_SPLIT_NAME.substring, '%')
WHERE IFNULL(t_SPLIT_NAME.substring, '') <> ''
)
, User_Email_Filter AS (
@@ -626,7 +626,7 @@ BEGIN
OR IFNULL(USER_FILTERS.does_meet_name_filter, 0) = 1
OR IFNULL(USER_FILTERS.does_meet_email_filter, 0) = 1
THEN 1 ELSE 0 END AS does_meet_non_id_filters
FROM parts.DOG_User USER
FROM fetchmetrics.DOG_User USER
LEFT JOIN User_Filters USER_FILTERS ON USER.id_user = USER_FILTERS.id_user
WHERE
(
@@ -666,7 +666,7 @@ BEGIN
END IF;
-- Filter records
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_User t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_User t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
DELETE t_CALC_USER
FROM tmp_Calc_User t_CALC_USER
WHERE
@@ -700,14 +700,14 @@ BEGIN
SELECT
USER.id_user
, MIN(IFNULL(ACCESS_LEVEL.priority, v_priority_access_level_none)) AS priority_access_level
FROM parts.DOG_User USER -- tmp_Calc_User t_CALC_USER
LEFT JOIN parts.DOG_User_Role_Link USER_ROLE_LINK
FROM fetchmetrics.DOG_User USER -- tmp_Calc_User t_CALC_USER
LEFT JOIN fetchmetrics.DOG_User_Role_Link USER_ROLE_LINK
ON USER.id_user = USER_ROLE_LINK.id_user
AND USER_ROLE_LINK.active = 1
LEFT JOIN parts.DOG_Role_Permission_Link ROLE_PERMISSION_LINK
LEFT JOIN fetchmetrics.DOG_Role_Permission_Link ROLE_PERMISSION_LINK
ON USER_ROLE_LINK.id_role = ROLE_PERMISSION_LINK.id_role
AND ROLE_PERMISSION_LINK.active = 1
LEFT JOIN parts.DOG_Access_Level ACCESS_LEVEL
LEFT JOIN fetchmetrics.DOG_Access_Level ACCESS_LEVEL
ON ROLE_PERMISSION_LINK.id_access_level = ACCESS_LEVEL.id_access_level
AND ACCESS_LEVEL.active = 1
GROUP BY USER.id_user
@@ -748,7 +748,7 @@ BEGIN
-- Export data to staging table
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_User) THEN
START TRANSACTION;
INSERT INTO parts.DOG_Calc_User_Temp (
INSERT INTO fetchmetrics.DOG_Calc_User_Temp (
guid
, id_user
, id_permission_required
@@ -795,7 +795,7 @@ BEGIN
, ERROR_TYPE.text_colour
, t_ERROR.msg
FROM tmp_Msg_Error_Calc_User t_ERROR
INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
;
END IF;
@@ -803,8 +803,8 @@ BEGIN
SELECT 'End';
SELECT * FROM tmp_Msg_Error_Calc_User;
SELECT * FROM tmp_Calc_User;
SELECT * FROM parts.DOG_Calc_User_Temp WHERE GUID = a_guid;
CALL parts.p_dog_clear_calc_user ( a_guid, a_debug );
SELECT * FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = a_guid;
CALL fetchmetrics.p_dog_clear_calc_user ( a_guid, a_debug );
END IF;
-- Clean up
@@ -816,7 +816,7 @@ BEGIN
DROP TABLE IF EXISTS tmp_Calc_User;
IF a_debug = 1 THEN
CALL parts.p_debug_timing_reporting( v_time_start );
CALL fetchmetrics.p_debug_timing_reporting( v_time_start );
END IF;
END //
DELIMITER ;
@@ -840,15 +840,15 @@ DELIMITER ;
, IN a_debug BIT
-- SELECT * FROM parts.DOG_Calc_User_Temp;
SELECT * FROM parts.DOG_Calc_User_Temp WHERE GUID = 'chips ';
CALL parts.p_dog_clear_calc_user ( 'chips ', 0 );
-- SELECT * FROM parts.DOG_Calc_User_Temp;
-- SELECT * FROM fetchmetrics.DOG_Calc_User_Temp;
SELECT * FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = 'chips ';
CALL fetchmetrics.p_dog_clear_calc_user ( 'chips ', 0 );
-- SELECT * FROM fetchmetrics.DOG_Calc_User_Temp;
DROP TABLE IF EXISTS tmp_Msg_Error_Calc_User;
DELETE FROM parts.DOG_Calc_User_Temp;
DELETE FROM fetchmetrics.DOG_Calc_User_Temp;
CALL parts.p_dog_calc_user(
CALL fetchmetrics.p_dog_calc_user(
'chips '-- a_guid
, 0 -- a_get_all_user
, 0 -- a_get_inactive_user
@@ -865,8 +865,8 @@ CALL parts.p_dog_calc_user(
, 1 -- a_show_errors
, 0 -- a_debug
);
SELECT * FROM parts.DOG_Calc_User_Temp WHERE GUID = 'chips ';
CALL parts.p_dog_clear_calc_user ( 'chips ', 0 );
SELECT * FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = 'chips ';
CALL fetchmetrics.p_dog_clear_calc_user ( 'chips ', 0 );
DROP TABLE IF EXISTS tmp_Msg_Error_Calc_User;