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_assessment;
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_assessment;
DELIMITER //
CREATE PROCEDURE parts.p_dog_calc_assessment (
CREATE PROCEDURE fetchmetrics.p_dog_calc_assessment (
IN a_guid BINARY(36)
, IN a_id_user INT
, IN a_get_all_assessment BIT
@@ -79,7 +79,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'
;
@@ -94,7 +94,7 @@ BEGIN
, ERROR_TYPE.text_colour
, t_ERROR.msg
FROM tmp_Msg_Error_Calc_Assessment 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_Assessment;
@@ -103,13 +103,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_assessment := IFNULL(a_get_all_assessment, 0);
@@ -260,7 +260,7 @@ BEGIN
SET v_has_filter_assessment_temperature_max := NOT ISNULL(a_max_temperature_assessment);
-- Call Calc Weather
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment 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_Assessment 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
a_guid -- a_guid
@@ -278,7 +278,7 @@ BEGIN
;
END IF;
CALL parts.p_dog_calc_weather (
CALL fetchmetrics.p_dog_calc_weather (
a_guid -- a_guid
, a_id_user -- a_id_user
, a_get_all_weather -- a_get_all_weather
@@ -310,7 +310,7 @@ BEGIN
, WEATHER_T.does_meet_id_filters
, WEATHER_T.does_meet_non_id_filters
FROM parts.DOG_Weather_Temp WEATHER_T
FROM fetchmetrics.DOG_Weather_Temp WEATHER_T
WHERE WEATHER_T.GUID = a_guid
;
@@ -320,7 +320,7 @@ BEGIN
END IF;
-- Call Calc Lighting_Level
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment 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_Assessment 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
a_guid -- a_guid
@@ -338,7 +338,7 @@ BEGIN
;
END IF;
CALL parts.p_dog_calc_lighting_level (
CALL fetchmetrics.p_dog_calc_lighting_level (
a_guid -- a_guid
, a_id_user -- a_id_user
, a_get_all_lighting_level -- a_get_all_lighting_level
@@ -370,7 +370,7 @@ BEGIN
, LIGHTING_LEVEL_T.does_meet_id_filters
, LIGHTING_LEVEL_T.does_meet_non_id_filters
FROM parts.DOG_Lighting_Level_Temp LIGHTING_LEVEL_T
FROM fetchmetrics.DOG_Lighting_Level_Temp LIGHTING_LEVEL_T
WHERE LIGHTING_LEVEL_T.GUID = a_guid
;
@@ -380,7 +380,7 @@ BEGIN
END IF;
-- Call Calc Location
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment 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_Assessment 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
a_guid -- a_guid
@@ -398,7 +398,7 @@ BEGIN
;
END IF;
CALL parts.p_dog_calc_location (
CALL fetchmetrics.p_dog_calc_location (
a_guid -- a_guid
, a_id_user -- a_id_user
, a_get_all_location -- a_get_all_location
@@ -430,7 +430,7 @@ BEGIN
, LOCATION_T.does_meet_id_filters
, LOCATION_T.does_meet_non_id_filters
FROM parts.DOG_Location_Temp LOCATION_T
FROM fetchmetrics.DOG_Location_Temp LOCATION_T
WHERE LOCATION_T.GUID = a_guid
;
@@ -440,7 +440,7 @@ BEGIN
END IF;
-- Call Calc User
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment 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_Assessment 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
a_guid -- a_guid
@@ -461,7 +461,7 @@ BEGIN
;
END IF;
CALL parts.p_dog_calc_user (
CALL fetchmetrics.p_dog_calc_user (
a_guid -- a_guid
, a_get_all_user_handler -- a_get_all_user
, a_get_inactive_user_handler -- a_get_inactive_user
@@ -506,7 +506,7 @@ BEGIN
, CALC_USER_T.does_meet_id_filters
, CALC_USER_T.does_meet_non_id_filters
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
;
@@ -517,7 +517,7 @@ BEGIN
-- Assessments
IF v_has_filter_assessment_id = 1 THEN
CALL parts.p_core_split(a_guid, a_ids_assessment, ',', a_debug);
CALL fetchmetrics.p_core_split(a_guid, a_ids_assessment, ',', a_debug);
SET sql_mode = '';
@@ -528,17 +528,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_assessment_notes = 1 THEN
CALL parts.p_core_split(a_guid, a_notes_assessment, ',', a_debug);
CALL fetchmetrics.p_core_split(a_guid, a_notes_assessment, ',', a_debug);
SET sql_mode = '';
@@ -549,20 +549,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_Assessment 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_Assessment 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_Assessment t_SPLIT_ID
LEFT JOIN parts.DOG_Assessment ASSESSMENT ON t_SPLIT_ID.as_int = ASSESSMENT.id_assessment
LEFT JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_SPLIT_ID.as_int = ASSESSMENT.id_assessment
WHERE
ISNULL(t_SPLIT_ID.as_int)
OR ISNULL(ASSESSMENT.id_assessment)
@@ -581,7 +581,7 @@ BEGIN
, v_code_type_error_bad_data
, CONCAT('Invalid or inactive Assessment IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split_Id_Calc_Assessment t_SPLIT_ID
LEFT JOIN parts.DOG_Assessment ASSESSMENT ON t_SPLIT_ID.as_int = ASSESSMENT.id_assessment
LEFT JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_SPLIT_ID.as_int = ASSESSMENT.id_assessment
WHERE
ISNULL(t_SPLIT_ID.as_int)
OR ISNULL(ASSESSMENT.id_assessment)
@@ -600,12 +600,12 @@ BEGIN
Assessment_Id_Filter AS (
SELECT ASSESSMENT.id_assessment
FROM tmp_Split_Id_Calc_Assessment t_SPLIT_ID
INNER JOIN parts.DOG_Assessment ASSESSMENT ON t_SPLIT_ID.as_int = ASSESSMENT.id_assessment
INNER JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_SPLIT_ID.as_int = ASSESSMENT.id_assessment
)
, Assessment_Notes_Filter AS (
SELECT ASSESSMENT.id_assessment
FROM tmp_Split_Notes_Calc_Assessment t_SPLIT_NOTES
INNER JOIN parts.DOG_Assessment ASSESSMENT ON ASSESSMENT.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%')
INNER JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON ASSESSMENT.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%')
WHERE
t_SPLIT_NOTES.substring IS NOT NULL
AND t_SPLIT_NOTES.substring <> ''
@@ -665,7 +665,7 @@ BEGIN
)
)
THEN 1 ELSE 0 END AS does_meet_non_id_filters
FROM parts.DOG_Assessment ASSESSMENT
FROM fetchmetrics.DOG_Assessment ASSESSMENT
LEFT JOIN Assessment_Filters ASSESSMENT_FILTERS ON ASSESSMENT.id_assessment = ASSESSMENT_FILTERS.id_assessment
WHERE
(
@@ -709,12 +709,12 @@ BEGIN
Assessment_Id_Filter AS (
SELECT ASSESSMENT.id_assessment
FROM tmp_Split_Id_Calc_Assessment t_SPLIT_ID
INNER JOIN parts.DOG_Assessment ASSESSMENT ON t_SPLIT_ID.as_int = ASSESSMENT.id_assessment
INNER JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_SPLIT_ID.as_int = ASSESSMENT.id_assessment
)
, Assessment_Notes_Filter AS (
SELECT ASSESSMENT.id_assessment
FROM tmp_Split_Notes_Calc_Assessment t_SPLIT_NOTES
INNER JOIN parts.DOG_Assessment ASSESSMENT ON ASSESSMENT.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%')
INNER JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON ASSESSMENT.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%')
WHERE
t_SPLIT_NOTES.substring IS NOT NULL
AND t_SPLIT_NOTES.substring <> ''
@@ -774,7 +774,7 @@ BEGIN
)
)
THEN 1 ELSE 0 END AS does_meet_non_id_filters
FROM parts.DOG_Assessment ASSESSMENT
FROM fetchmetrics.DOG_Assessment ASSESSMENT
LEFT JOIN Assessment_Filters ASSESSMENT_FILTERS ON ASSESSMENT.id_assessment = ASSESSMENT_FILTERS.id_assessment
WHERE
(
@@ -813,7 +813,7 @@ BEGIN
END IF;
-- Filter records
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Assessment 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_Assessment 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_ASSESSMENT
FROM tmp_Assessment_Calc_Assessment t_ASSESSMENT
LEFT JOIN tmp_Weather_Calc_Assessment t_WEATHER ON t_ASSESSMENT.id_weather = t_WEATHER.id_weather
@@ -891,7 +891,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
@@ -913,7 +913,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
;
@@ -940,7 +940,7 @@ BEGIN
;
END IF;
CALL parts.p_dog_clear_calc_user(
CALL fetchmetrics.p_dog_clear_calc_user(
a_guid
, 0 -- a_debug
);
@@ -955,7 +955,7 @@ BEGIN
SELECT * FROM tmp_Msg_Error_Calc_Assessment;
END IF;
IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment 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_Assessment 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_Weather_Calc_Assessment;
SELECT * FROM tmp_Lighting_Level_Calc_Assessment;
@@ -978,7 +978,7 @@ BEGIN
-- Outputs
START TRANSACTION;
-- Assessments
INSERT INTO parts.DOG_Assessment_Temp (
INSERT INTO fetchmetrics.DOG_Assessment_Temp (
guid
, id_assessment
, id_weather
@@ -1005,7 +1005,7 @@ BEGIN
, t_ASSESSMENT.does_meet_id_filters
, t_ASSESSMENT.does_meet_non_id_filters
FROM parts.DOG_Assessment ASSESSMENT
FROM fetchmetrics.DOG_Assessment ASSESSMENT
INNER JOIN tmp_Assessment_Calc_Assessment t_ASSESSMENT ON ASSESSMENT.id_assessment = t_ASSESSMENT.id_assessment
;
COMMIT;
@@ -1023,7 +1023,7 @@ BEGIN
, ERROR_TYPE.text_colour
, t_ERROR.msg
FROM tmp_Msg_Error_Calc_Assessment 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;
@@ -1043,7 +1043,7 @@ BEGIN
DROP TEMPORARY TABLE IF EXISTS tmp_Image_Calc_Assessment;
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 ;
@@ -1051,7 +1051,7 @@ DELIMITER ;
/*
CALL parts.p_dog_calc_assessment (
CALL fetchmetrics.p_dog_calc_assessment (
'slippery ' -- a_guid
, 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user
, 1 -- a_get_all_assessment
@@ -1086,7 +1086,7 @@ CALL parts.p_dog_calc_assessment (
, 0 -- a_debug
);
CALL parts.p_dog_calc_assessment (
CALL fetchmetrics.p_dog_calc_assessment (
'slippery ' -- a_guid
, 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user
, 1 -- a_get_all_assessment
@@ -1119,14 +1119,14 @@ CALL parts.p_dog_calc_assessment (
, 0 -- a_debug
);
SELECT *
FROM parts.DOG_Assessment_Temp
FROM fetchmetrics.DOG_Assessment_Temp
;
CALL parts.p_dog_clear_calc_assessment (
CALL fetchmetrics.p_dog_clear_calc_assessment (
'slippery ' -- a_guid
, 1 -- debug
);
-- DELETE FROM parts.DOG_Assessment_Temp;
-- DELETE FROM fetchmetrics.DOG_Assessment_Temp;
*/