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
This commit is contained in:
Yared Yemane 2026-04-21 09:31:22 -07:00
parent 72d1a0c3ed
commit 6839d1aa0d
3 changed files with 7 additions and 6 deletions

View File

@ -119,7 +119,6 @@ FROM sub_module_practices smp
JOIN question_sets qs ON qs.id = smp.question_set_id JOIN question_sets qs ON qs.id = smp.question_set_id
WHERE smp.sub_module_id = $1 WHERE smp.sub_module_id = $1
AND smp.is_active = TRUE AND smp.is_active = TRUE
AND qs.set_type = 'PRACTICE'
ORDER BY smp.display_order ASC, smp.id ASC; ORDER BY smp.display_order ASC, smp.id ASC;
-- name: GetSubModulePracticeByID :one -- name: GetSubModulePracticeByID :one
@ -140,8 +139,7 @@ SELECT
FROM sub_module_practices smp FROM sub_module_practices smp
JOIN question_sets qs ON qs.id = smp.question_set_id JOIN question_sets qs ON qs.id = smp.question_set_id
WHERE smp.id = $1 WHERE smp.id = $1
AND smp.is_active = TRUE AND smp.is_active = TRUE;
AND qs.set_type = 'PRACTICE';
-- name: GetSubModuleCapstones :many -- name: GetSubModuleCapstones :many
SELECT SELECT

View File

@ -1611,7 +1611,6 @@ FROM sub_module_practices smp
JOIN question_sets qs ON qs.id = smp.question_set_id JOIN question_sets qs ON qs.id = smp.question_set_id
WHERE smp.id = $1 WHERE smp.id = $1
AND smp.is_active = TRUE AND smp.is_active = TRUE
AND qs.set_type = 'PRACTICE'
` `
type GetSubModulePracticeByIDRow struct { type GetSubModulePracticeByIDRow struct {
@ -1670,7 +1669,6 @@ FROM sub_module_practices smp
JOIN question_sets qs ON qs.id = smp.question_set_id JOIN question_sets qs ON qs.id = smp.question_set_id
WHERE smp.sub_module_id = $1 WHERE smp.sub_module_id = $1
AND smp.is_active = TRUE AND smp.is_active = TRUE
AND qs.set_type = 'PRACTICE'
ORDER BY smp.display_order ASC, smp.id ASC ORDER BY smp.display_order ASC, smp.id ASC
` `

View File

@ -2229,9 +2229,14 @@ func (h *Handler) GetSubModulePractices(c *fiber.Ctx) error {
Error: err.Error(), Error: err.Error(),
}) })
} }
if practices == nil {
practices = []dbgen.GetSubModulePracticesRow{}
}
return c.JSON(domain.Response{ 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{}{ Data: map[string]interface{}{
"practices": practices, "practices": practices,
"total_count": len(practices), "total_count": len(practices),