Spaces:
Running
Running
| package controllers | |
| import ( | |
| "net/http" | |
| "situkang/services" | |
| "situkang/utils" | |
| "github.com/gin-gonic/gin" | |
| ) | |
| type CategoryController interface { | |
| ListCategories(ctx *gin.Context) | |
| ListCategoryServices(ctx *gin.Context) | |
| } | |
| type categoryController struct { | |
| categoryService services.CategoryService | |
| } | |
| func NewCategoryController(categoryService services.CategoryService) CategoryController { | |
| return &categoryController{categoryService: categoryService} | |
| } | |
| func (cc *categoryController) ListCategories(ctx *gin.Context) { | |
| data, err := cc.categoryService.ListCategories(ctx) | |
| if err != nil { | |
| utils.ResponseFAILED(ctx, nil, err) | |
| return | |
| } | |
| utils.JSONSuccess(ctx, http.StatusOK, "", data, map[string]any{ | |
| "current_page": 1, | |
| "per_page": 20, | |
| "total": 0, | |
| "total_pages": 0, | |
| }) | |
| } | |
| func (cc *categoryController) ListCategoryServices(ctx *gin.Context) { | |
| categoryID := ctx.Param("category_id") | |
| data, err := cc.categoryService.ListCategoryServices(ctx, categoryID) | |
| if err != nil { | |
| utils.ResponseFAILED(ctx, nil, err) | |
| return | |
| } | |
| utils.JSONSuccess(ctx, http.StatusOK, "", data, nil) | |
| } | |