fix module removal to delete actual module records
Add a module delete API route and handler so level/module removal actions remove modules directly instead of only deleting sub-modules. Made-with: Cursor
This commit is contained in:
parent
9123ff571d
commit
542a597f41
|
|
@ -43,6 +43,11 @@ func (q *Queries) DeleteSubModuleCompat(ctx context.Context, id int64) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (q *Queries) DeleteModuleCompat(ctx context.Context, id int64) error {
|
||||||
|
_, err := q.db.Exec(ctx, `DELETE FROM modules WHERE id = $1`, id)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
func (q *Queries) UpdateSubModuleVideoCompat(ctx context.Context, id int64, title string, description string, videoURL string) error {
|
func (q *Queries) UpdateSubModuleVideoCompat(ctx context.Context, id int64, title string, description string, videoURL string) error {
|
||||||
_, err := q.db.Exec(ctx, `
|
_, err := q.db.Exec(ctx, `
|
||||||
UPDATE sub_module_videos
|
UPDATE sub_module_videos
|
||||||
|
|
|
||||||
|
|
@ -865,6 +865,18 @@ func (h *Handler) DeleteSubModule(c *fiber.Ctx) error {
|
||||||
return c.JSON(domain.Response{Message: "Sub-module deleted"})
|
return c.JSON(domain.Response{Message: "Sub-module deleted"})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (h *Handler) DeleteModule(c *fiber.Ctx) error {
|
||||||
|
moduleID, err := strconv.ParseInt(c.Params("moduleId"), 10, 64)
|
||||||
|
if err != nil || moduleID <= 0 {
|
||||||
|
return c.Status(fiber.StatusBadRequest).JSON(domain.ErrorResponse{Message: "Invalid module ID", Error: "moduleId must be a positive integer"})
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := h.analyticsDB.DeleteModuleCompat(c.Context(), moduleID); err != nil {
|
||||||
|
return c.Status(fiber.StatusInternalServerError).JSON(domain.ErrorResponse{Message: "Failed to delete module", Error: err.Error()})
|
||||||
|
}
|
||||||
|
return c.JSON(domain.Response{Message: "Module deleted"})
|
||||||
|
}
|
||||||
|
|
||||||
func (h *Handler) UpdateSubModuleVideo(c *fiber.Ctx) error {
|
func (h *Handler) UpdateSubModuleVideo(c *fiber.Ctx) error {
|
||||||
videoID, err := strconv.ParseInt(c.Params("videoId"), 10, 64)
|
videoID, err := strconv.ParseInt(c.Params("videoId"), 10, 64)
|
||||||
if err != nil || videoID <= 0 {
|
if err != nil || videoID <= 0 {
|
||||||
|
|
|
||||||
|
|
@ -92,6 +92,7 @@ func (a *App) initAppRoutes() {
|
||||||
groupV1.Delete("/course-management/sub-categories/:subCategoryId", a.authMiddleware, a.RequirePermission("course_categories.delete"), h.DeleteCourseSubCategory)
|
groupV1.Delete("/course-management/sub-categories/:subCategoryId", a.authMiddleware, a.RequirePermission("course_categories.delete"), h.DeleteCourseSubCategory)
|
||||||
groupV1.Post("/course-management/levels", a.authMiddleware, a.RequirePermission("subcourses.create"), h.CreateLevel)
|
groupV1.Post("/course-management/levels", a.authMiddleware, a.RequirePermission("subcourses.create"), h.CreateLevel)
|
||||||
groupV1.Post("/course-management/modules", a.authMiddleware, a.RequirePermission("subcourses.create"), h.CreateModule)
|
groupV1.Post("/course-management/modules", a.authMiddleware, a.RequirePermission("subcourses.create"), h.CreateModule)
|
||||||
|
groupV1.Delete("/course-management/modules/:moduleId", a.authMiddleware, a.RequirePermission("subcourses.delete"), h.DeleteModule)
|
||||||
groupV1.Post("/course-management/sub-modules", a.authMiddleware, a.RequirePermission("subcourses.create"), h.CreateSubModule)
|
groupV1.Post("/course-management/sub-modules", a.authMiddleware, a.RequirePermission("subcourses.create"), h.CreateSubModule)
|
||||||
groupV1.Put("/course-management/sub-modules/:subModuleId", a.authMiddleware, a.RequirePermission("subcourses.update"), h.UpdateSubModule)
|
groupV1.Put("/course-management/sub-modules/:subModuleId", a.authMiddleware, a.RequirePermission("subcourses.update"), h.UpdateSubModule)
|
||||||
groupV1.Delete("/course-management/sub-modules/:subModuleId", a.authMiddleware, a.RequirePermission("subcourses.delete"), h.DeleteSubModule)
|
groupV1.Delete("/course-management/sub-modules/:subModuleId", a.authMiddleware, a.RequirePermission("subcourses.delete"), h.DeleteSubModule)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user