DanzApp-BE-Test / controllers /assistant_controller.go
lifedebugger's picture
Deploy files from GitHub repository
e1a0299
package controllers
import (
"abdanhafidz.com/go-boilerplate/services"
"github.com/gin-gonic/gin"
)
type AssistantController interface {
GetAssistantDetail(ctx *gin.Context)
}
type assistantController struct {
assistantService services.AssistantService
}
func NewAssistantController(assistantService services.AssistantService) AssistantController {
return &assistantController{assistantService: assistantService}
}
// GetAssistantDetail godoc
// @Summary Get Assistant Detail
// @Description Return detailed information about an assistant (instructor) including nested previews of their classes.
// @Tags Assistants
// @Accept json
// @Produce json
// @Param id path string true "Assistant ID"
// @Success 200 {object} dto.AssistantDetail
// @Failure 400 {object} dto.ErrorResponse
// @Failure 404 {object} dto.ErrorResponse
// @Security BearerAuth
// @Router /api/v1/assistants/{id} [get]
func (c *assistantController) GetAssistantDetail(ctx *gin.Context) {
assistantID := ctx.Param("id")
userID := ParseUserId(ctx)
res, err := c.assistantService.GetAssistantDetail(ctx.Request.Context(), assistantID, userID)
ResponseJSON(ctx, "", res, err)
}