Updates to encompass benchmarks

This commit is contained in:
ivan-pelly
2026-03-07 16:10:55 -08:00
parent 69e96403f4
commit 3d531298e2
65 changed files with 2505 additions and 86 deletions
@@ -0,0 +1,20 @@
DELIMITER ;;
CREATE DEFINER=`root`@`%` PROCEDURE `sp_Benchmark_GetByStudentId`(IN p_id_student CHAR(36))
BEGIN
SELECT
s.`identifier` AS `studentIdentifier`,
b.`id_benchmark` AS `benchmarkId`,
b.`id_goal` AS `goalId`,
g.`title` AS `goalTitle`,
b.`benchmark` AS `benchmark`,
u.`name` AS `createdByName`,
b.`created_at` AS `createdAt`,
b.`updated_at` AS `updatedAt`
FROM `benchmark` b
INNER JOIN `goal` g ON g.`id_goal` = b.`id_goal`
INNER JOIN `student` s ON s.`id_student` = g.`id_student`
LEFT JOIN `user` u ON u.`id_user` = b.`id_user_created`
WHERE g.`id_student` = p_id_student
ORDER BY b.`created_at` DESC;
END;;
DELIMITER ;
@@ -0,0 +1,38 @@
DELIMITER ;;
CREATE DEFINER=`root`@`%` PROCEDURE `sp_Benchmark_Insert`(
IN p_id_benchmark CHAR(36),
IN p_id_goal CHAR(36),
IN p_id_user_created CHAR(36),
IN p_benchmark TEXT
)
BEGIN
INSERT INTO benchmark
(
id_benchmark,
id_goal,
id_user_created,
benchmark,
created_at,
updated_at
)
VALUES
(
p_id_benchmark,
p_id_goal,
p_id_user_created,
p_benchmark,
UTC_TIMESTAMP(),
NULL
);
SELECT
id_benchmark,
id_goal,
id_user_created,
benchmark,
created_at,
updated_at
FROM benchmark
WHERE id_benchmark = p_id_benchmark
LIMIT 1;
END;;
DELIMITER ;
@@ -0,0 +1,14 @@
DELIMITER ;;
CREATE DEFINER=`root`@`%` PROCEDURE `sp_Benchmark_Update`(
IN p_id_benchmark CHAR(36),
IN p_benchmark TEXT
)
BEGIN
UPDATE benchmark
SET
benchmark = p_benchmark,
updated_at = UTC_TIMESTAMP()
WHERE id_benchmark = p_id_benchmark;
SELECT ROW_COUNT() AS rowsAffected;
END;;
DELIMITER ;
@@ -8,7 +8,8 @@ BEGIN
vc.`title`,
vc.`description`,
vc.`category`,
vc.`progressEventCount`
vc.`progressEventCount`,
vc.`benchmarkCount`
FROM `v_goal_card` vc
INNER JOIN `student` s ON s.`id_student` = vc.`studentId`
WHERE vc.`studentId` = p_id_student
+9
View File
@@ -0,0 +1,9 @@
CREATE TABLE `benchmark` (
`id_benchmark` char(36) NOT NULL DEFAULT (uuid()),
`id_goal` char(36) NOT NULL,
`id_user_created` char(36) NOT NULL,
`benchmark` text NOT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime DEFAULT NULL,
PRIMARY KEY (`id_benchmark`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
@@ -0,0 +1,7 @@
CREATE TABLE `progress_event_benchmark` (
`id_progress_event_benchmark` char(36) NOT NULL DEFAULT (uuid()),
`id_progress_event` char(36) NOT NULL,
`id_benchmark` char(36) NOT NULL,
`created_at` datetime NOT NULL,
PRIMARY KEY (`id_progress_event_benchmark`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+5 -3
View File
@@ -1,5 +1,7 @@
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`%` SQL SECURITY DEFINER VIEW `winstudentgoaltracker`.`v_goal_card` AS
select `winstudentgoaltracker`.`goal`.`id_goal` AS `goalId`,`winstudentgoaltracker`.`goal`.`id_goal_parent` AS `goalParentId`,`winstudentgoaltracker`.`goal`.`id_student` AS `studentId`,`winstudentgoaltracker`.`goal`.`title` AS `title`,`winstudentgoaltracker`.`goal`.`description` AS `description`,`winstudentgoaltracker`.`goal`.`category` AS `category`,count(`pe`.`id_progress_event`) AS `progressEventCount`
from (`winstudentgoaltracker`.`goal`
select `g`.`id_goal` AS `goalId`,`g`.`id_goal_parent` AS `goalParentId`,`g`.`id_student` AS `studentId`,`g`.`title` AS `title`,`g`.`description` AS `description`,`g`.`category` AS `category`,count(distinct `pe`.`id_progress_event`) AS `progressEventCount`,count(distinct `b`.`id_benchmark`) AS `benchmarkCount`
from ((`winstudentgoaltracker`.`goal` `g`
left
join `winstudentgoaltracker`.`progress_event` `pe` on((`pe`.`id_goal` = `winstudentgoaltracker`.`goal`.`id_goal`))) group by `winstudentgoaltracker`.`goal`.`id_goal`,`winstudentgoaltracker`.`goal`.`id_goal_parent`,`winstudentgoaltracker`.`goal`.`id_student`,`winstudentgoaltracker`.`goal`.`title`,`winstudentgoaltracker`.`goal`.`description`,`winstudentgoaltracker`.`goal`.`category`;
join `winstudentgoaltracker`.`progress_event` `pe` on((`pe`.`id_goal` = `g`.`id_goal`)))
left
join `winstudentgoaltracker`.`benchmark` `b` on((`b`.`id_goal` = `g`.`id_goal`))) group by `g`.`id_goal`,`g`.`id_goal_parent`,`g`.`id_student`,`g`.`title`,`g`.`description`,`g`.`category`;
+2 -1
View File
@@ -2,4 +2,5 @@ CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`%` SQL SECURITY DEFINER VIEW `winstud
select `pe`.`id_progress_event` AS `progressEventId`,`pe`.`id_goal` AS `goalId`,`g`.`id_student` AS `studentId`,`pe`.`content` AS `content`,`pe`.`created_at` AS `createdAt`,`u`.`name` AS `createdByName`
from ((`winstudentgoaltracker`.`progress_event` `pe`
join `winstudentgoaltracker`.`goal` `g` on((`g`.`id_goal` = `pe`.`id_goal`)))
left join `winstudentgoaltracker`.`user` `u` on((`u`.`id_user` = `pe`.`id_user_created`)));
left
join `winstudentgoaltracker`.`user` `u` on((`u`.`id_user` = `pe`.`id_user_created`)));