From 6839d1aa0d1519c37af932484c02eb8e942ad1c5 Mon Sep 17 00:00:00 2001 From: Yared Yemane Date: Tue, 21 Apr 2026 09:31:22 -0700 Subject: [PATCH] fix: sub-module practices list excludes non-PRACTICE sets and bad Response flags - Drop question_sets.set_type = PRACTICE filter so sub_module_practices rows list correctly - Set Success and StatusCode on GET sub-modules/:id/practices response - Return empty JSON array instead of null for no practices Made-with: Cursor --- db/query/hierarchy.sql | 4 +--- gen/db/hierarchy.sql.go | 2 -- internal/web_server/handlers/hierarchy_handler.go | 7 ++++++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/db/query/hierarchy.sql b/db/query/hierarchy.sql index e1204b3..13ec333 100644 --- a/db/query/hierarchy.sql +++ b/db/query/hierarchy.sql @@ -119,7 +119,6 @@ FROM sub_module_practices smp JOIN question_sets qs ON qs.id = smp.question_set_id WHERE smp.sub_module_id = $1 AND smp.is_active = TRUE - AND qs.set_type = 'PRACTICE' ORDER BY smp.display_order ASC, smp.id ASC; -- name: GetSubModulePracticeByID :one @@ -140,8 +139,7 @@ SELECT FROM sub_module_practices smp JOIN question_sets qs ON qs.id = smp.question_set_id WHERE smp.id = $1 - AND smp.is_active = TRUE - AND qs.set_type = 'PRACTICE'; + AND smp.is_active = TRUE; -- name: GetSubModuleCapstones :many SELECT diff --git a/gen/db/hierarchy.sql.go b/gen/db/hierarchy.sql.go index 19d565f..a25df45 100644 --- a/gen/db/hierarchy.sql.go +++ b/gen/db/hierarchy.sql.go @@ -1611,7 +1611,6 @@ FROM sub_module_practices smp JOIN question_sets qs ON qs.id = smp.question_set_id WHERE smp.id = $1 AND smp.is_active = TRUE - AND qs.set_type = 'PRACTICE' ` type GetSubModulePracticeByIDRow struct { @@ -1670,7 +1669,6 @@ FROM sub_module_practices smp JOIN question_sets qs ON qs.id = smp.question_set_id WHERE smp.sub_module_id = $1 AND smp.is_active = TRUE - AND qs.set_type = 'PRACTICE' ORDER BY smp.display_order ASC, smp.id ASC ` diff --git a/internal/web_server/handlers/hierarchy_handler.go b/internal/web_server/handlers/hierarchy_handler.go index ad5816d..fbb66f8 100644 --- a/internal/web_server/handlers/hierarchy_handler.go +++ b/internal/web_server/handlers/hierarchy_handler.go @@ -2229,9 +2229,14 @@ func (h *Handler) GetSubModulePractices(c *fiber.Ctx) error { Error: err.Error(), }) } + if practices == nil { + practices = []dbgen.GetSubModulePracticesRow{} + } return c.JSON(domain.Response{ - Message: "Sub-module practices retrieved successfully", + Message: "Sub-module practices retrieved successfully", + Success: true, + StatusCode: fiber.StatusOK, Data: map[string]interface{}{ "practices": practices, "total_count": len(practices),