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

@@ -1,10 +1,10 @@
USE parts;
USE fetchmetrics;
DROP PROCEDURE IF EXISTS parts.p_dog_calc_location;
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_location;
DELIMITER //
CREATE PROCEDURE parts.p_dog_calc_location (
CREATE PROCEDURE fetchmetrics.p_dog_calc_location (
IN a_guid BINARY(36)
, IN a_id_user INT
, IN a_get_all_location BIT
@@ -57,7 +57,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'
;
@@ -72,7 +72,7 @@ BEGIN
, ERROR_TYPE.text_colour
, t_ERROR.msg
FROM tmp_Msg_Error_Calc_Location 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_Location;
@@ -81,13 +81,13 @@ BEGIN
SET v_time_start := CURRENT_TIMESTAMP(6);
SET v_code_type_error_bad_data := 'BAD_DATA';
SET v_code_type_error_no_permission := 'NO_PERMISSION';
SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1);
SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1);
SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1);
SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1);
SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1);
SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1);
SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1);
SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1);
CALL parts.p_core_validate_guid ( a_guid );
CALL fetchmetrics.p_core_validate_guid ( a_guid );
SET a_id_user := IFNULL(a_id_user, 0);
SET a_get_all_location := IFNULL(a_get_all_location, 0);
@@ -173,7 +173,7 @@ BEGIN
-- Locations
IF v_has_filter_location_id = 1 THEN
CALL parts.p_core_split(a_guid, a_ids_location, ',', a_debug);
CALL fetchmetrics.p_core_split(a_guid, a_ids_location, ',', a_debug);
SET sql_mode = '';
@@ -184,17 +184,17 @@ BEGIN
SELECT
SPLIT_T.substring
, CAST(SPLIT_T.substring AS 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, '') <> ''
;
CALL parts.p_core_clear_split( a_guid );
CALL fetchmetrics.p_core_clear_split( a_guid );
END IF;
IF v_has_filter_location_name = 1 THEN
CALL parts.p_core_split(a_guid, a_names_location, ',', a_debug);
CALL fetchmetrics.p_core_split(a_guid, a_names_location, ',', a_debug);
SET sql_mode = '';
@@ -205,20 +205,20 @@ BEGIN
SELECT
SPLIT_T.substring
, CAST(SPLIT_T.substring AS 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, '') <> ''
;
CALL parts.p_core_clear_split( a_guid );
CALL fetchmetrics.p_core_clear_split( a_guid );
END IF;
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Location 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_Location 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
IF EXISTS (
SELECT *
FROM tmp_Split_Id_Calc_Location t_SPLIT_ID
LEFT JOIN parts.DOG_Location LOCATIONS ON t_SPLIT_ID.as_int = LOCATIONS.id_location
LEFT JOIN fetchmetrics.DOG_Location LOCATIONS ON t_SPLIT_ID.as_int = LOCATIONS.id_location
WHERE
ISNULL(t_SPLIT_ID.as_int)
OR ISNULL(LOCATIONS.id_location)
@@ -237,7 +237,7 @@ BEGIN
, v_code_type_error_bad_data
, CONCAT('Invalid or inactive Location IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split_Id_Calc_Location t_SPLIT_ID
LEFT JOIN parts.DOG_Location LOCATIONS ON t_SPLIT_ID.as_int = LOCATIONS.id_location
LEFT JOIN fetchmetrics.DOG_Location LOCATIONS ON t_SPLIT_ID.as_int = LOCATIONS.id_location
WHERE
ISNULL(t_SPLIT_ID.as_int)
OR ISNULL(LOCATIONS.id_location)
@@ -256,12 +256,12 @@ BEGIN
Location_Id_Filter AS (
SELECT LOCATIONS.id_location
FROM tmp_Split_Id_Calc_Location t_SPLIT_ID
INNER JOIN parts.DOG_Location LOCATIONS ON t_SPLIT_ID.as_int = LOCATIONS.id_location
INNER JOIN fetchmetrics.DOG_Location LOCATIONS ON t_SPLIT_ID.as_int = LOCATIONS.id_location
)
, Location_Name_Filter AS (
SELECT LOCATIONS.id_location
FROM tmp_Split_Name_Calc_Location t_SPLIT_NAME
INNER JOIN parts.DOG_Location LOCATIONS ON LOCATIONS.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%')
INNER JOIN fetchmetrics.DOG_Location LOCATIONS ON LOCATIONS.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%')
WHERE NULLIF(t_SPLIT_NAME.substring, '') IS NOT NULL
)
, Location_Filters AS (
@@ -296,7 +296,7 @@ BEGIN
)
OR LOCATIONS_FILTERS.does_meet_name_filter = 1
THEN 1 ELSE 0 END AS does_meet_non_id_filters
FROM parts.DOG_Location LOCATIONS
FROM fetchmetrics.DOG_Location LOCATIONS
LEFT JOIN Location_Filters LOCATIONS_FILTERS ON LOCATIONS.id_location = LOCATIONS_FILTERS.id_location
WHERE
(
@@ -326,12 +326,12 @@ BEGIN
Location_Id_Filter AS (
SELECT LOCATIONS.id_location
FROM tmp_Split_Id_Calc_Location t_SPLIT_ID
INNER JOIN parts.DOG_Location LOCATIONS ON t_SPLIT_ID.as_int = LOCATIONS.id_location
INNER JOIN fetchmetrics.DOG_Location LOCATIONS ON t_SPLIT_ID.as_int = LOCATIONS.id_location
)
, Location_Name_Filter AS (
SELECT LOCATIONS.id_location
FROM tmp_Split_Name_Calc_Location t_SPLIT_NAME
INNER JOIN parts.DOG_Location LOCATIONS ON LOCATIONS.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%')
INNER JOIN fetchmetrics.DOG_Location LOCATIONS ON LOCATIONS.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%')
WHERE
t_SPLIT_NAME.substring IS NOT NULL
AND t_SPLIT_NAME.substring <> ''
@@ -369,7 +369,7 @@ BEGIN
)
OR IFNULL(LOCATIONS_FILTERS.does_meet_name_filter, 0) = 1
THEN 1 ELSE 0 END AS does_meet_non_id_filters
FROM parts.DOG_Location LOCATIONS
FROM fetchmetrics.DOG_Location LOCATIONS
LEFT JOIN Location_Filters LOCATIONS_FILTERS ON LOCATIONS.id_location = LOCATIONS_FILTERS.id_location
WHERE
(
@@ -400,7 +400,7 @@ BEGIN
END IF;
-- Filter records
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Location 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_Location 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_LOCATIONS
FROM tmp_Location_Calc_Location t_LOCATIONS
WHERE
@@ -439,7 +439,7 @@ BEGIN
SELECT
LOCATIONS.id_location
, GROUP_CONCAT(LOCATION_LINK.id_location_parent, ',') AS csv_id_locations_parent
FROM parts.DOG_Location LOCATIONS
FROM fetchmetrics.DOG_Location LOCATIONS
INNER JOIN DOG_Location_Link LOCATION_LINK ON LOCATIONS.id_location = LOCATION_LINK.id_location_child
WHERE
a_get_inactive_location = 1
@@ -480,7 +480,7 @@ BEGIN
;
END IF;
CALL parts.p_dog_calc_user(
CALL fetchmetrics.p_dog_calc_user(
a_guid -- a_guid
, 0 -- get_all_user
, 0 -- get_inactive_user
@@ -502,7 +502,7 @@ BEGIN
IFNULL(CALC_USER_T.has_access, 0)
INTO
v_can_view
FROM parts.DOG_Calc_User_Temp CALC_USER_T
FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T
WHERE CALC_USER_T.GUID = a_guid
LIMIT 1
;
@@ -529,7 +529,7 @@ BEGIN
;
END IF;
CALL parts.p_dog_clear_calc_user(
CALL fetchmetrics.p_dog_clear_calc_user(
a_guid
, 0 -- a_debug
);
@@ -540,7 +540,7 @@ BEGIN
SELECT * FROM tmp_Msg_Error_Calc_Location;
END IF;
IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Location 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 EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Location 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
IF a_debug = 1 THEN
SELECT * FROM tmp_Location_Calc_Location;
END IF;
@@ -555,7 +555,7 @@ BEGIN
-- Outputs
START TRANSACTION;
-- Locations
INSERT INTO parts.DOG_Location_Temp (
INSERT INTO fetchmetrics.DOG_Location_Temp (
guid
, id_location
, id_location_parent
@@ -580,7 +580,7 @@ BEGIN
, t_LOCATIONS.does_meet_id_filters
, t_LOCATIONS.does_meet_non_id_filters
FROM parts.DOG_Location LOCATIONS
FROM fetchmetrics.DOG_Location LOCATIONS
INNER JOIN tmp_Location_Calc_Location t_LOCATIONS ON LOCATIONS.id_location = t_LOCATIONS.id_location
ORDER BY LOCATIONS.name
;
@@ -599,7 +599,7 @@ BEGIN
, ERROR_TYPE.text_colour
, t_ERROR.msg
FROM tmp_Msg_Error_Calc_Location 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;
@@ -614,7 +614,7 @@ BEGIN
DROP TEMPORARY TABLE IF EXISTS tmp_Location_Calc_Location;
IF a_debug = 1 THEN
CALL parts.p_core_debug_timing_reporting ( v_time_start );
CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start );
END IF;
END //
DELIMITER ;
@@ -623,7 +623,7 @@ DELIMITER ;
/*
CALL parts.p_dog_calc_location (
CALL fetchmetrics.p_dog_calc_location (
'grops ' -- a_guid
, 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user
, 1 -- a_get_all_location
@@ -638,7 +638,7 @@ CALL parts.p_dog_calc_location (
, 0 -- a_debug
);
CALL parts.p_dog_calc_location (
CALL fetchmetrics.p_dog_calc_location (
'grops ' -- a_guid
, 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user
, 1 -- a_get_all_location
@@ -653,24 +653,24 @@ CALL parts.p_dog_calc_location (
, 0 -- a_debug
);
SELECT *
FROM parts.DOG_Location_Temp
FROM fetchmetrics.DOG_Location_Temp
;
/*
SELECT *
FROM parts.DOG_Location_Temp C
FROM fetchmetrics.DOG_Location_Temp C
WHERE
C.does_meet_id_filters
AND C.does_meet_non_id_filters
;
*/
CALL parts.p_dog_clear_calc_location (
CALL fetchmetrics.p_dog_clear_calc_location (
'grops ' -- a_guid
, 1 -- debug
);
DELETE
FROM parts.DOG_Location_Temp
FROM fetchmetrics.DOG_Location_Temp
;
*/