Files
api-antrian-operasi/internal/domain/reference/dokter/handler.go
T
2026-01-29 10:19:13 +07:00

58 lines
1.1 KiB
Go

package dokter
import (
"log"
"net/http"
baseResponse "antrian-operasi/internal/shared"
"github.com/gin-gonic/gin"
)
type DokterHandler struct {
repo IDokterRepository
}
func NewDokterHandler(repo IDokterRepository) DokterHandler {
return DokterHandler{repo}
}
func (h DokterHandler) ListDokter(c *gin.Context) {
var list ListDokterModel
list, err := h.repo.SearchableListDokter(c)
if err != nil {
c.JSON(http.StatusInternalServerError, err)
}
response := baseResponse.ToBaseResponse(
list.ToResponseList(),
true,
200,
"success get doctor's list")
c.JSON(http.StatusOK, response)
}
// Test repository GetDokterById, soon to be deleted
func (h DokterHandler) GetDokterById(c *gin.Context) {
var result DokterModel
idDokter := c.Param("id")
result, err := h.repo.GetDokterById(c, idDokter)
if err != nil {
log.Printf("something went wrong : %s", err)
c.JSON(http.StatusInternalServerError, err)
return
}
response := baseResponse.ToBaseResponse(
result.ToResponse(),
true,
200,
"success get doctor's list")
c.JSON(http.StatusOK, response)
}