diff --git a/internal/handler/banner_handler.go b/internal/handler/banner_handler.go index ef5a7cb..ac5bd9e 100644 --- a/internal/handler/banner_handler.go +++ b/internal/handler/banner_handler.go @@ -101,7 +101,6 @@ func (h *BannerHandler) DeleteBanner(c *fiber.Ctx) error { err := h.BannerService.DeleteBanner(id) if err != nil { - return utils.GenericResponse(c, fiber.StatusNotFound, err.Error()) } diff --git a/internal/services/banner_service.go b/internal/services/banner_service.go index b1de884..9d5b6c1 100644 --- a/internal/services/banner_service.go +++ b/internal/services/banner_service.go @@ -335,8 +335,18 @@ func (s *bannerService) DeleteBanner(id string) error { return fmt.Errorf("banner with ID %s not found", id) } + if banner.BannerImage != "" { + err := os.Remove(banner.BannerImage) + if err != nil { + + fmt.Printf("Failed to delete banner image: %v\n", err) + } else { + fmt.Printf("Successfully deleted banner image: %s\n", banner.BannerImage) + } + } + if err := s.BannerRepo.DeleteBanner(id); err != nil { - return fmt.Errorf("failed to delete banner: %v", err) + return fmt.Errorf("failed to delete banner from database: %v", err) } cacheKey := fmt.Sprintf("banner:%s", banner.ID)