Files
satusehat-bridging/internal/handler/practitioner_handler.go
2025-11-24 09:13:08 +07:00

38 lines
869 B
Go

package handler
import (
"net/http"
"satusehat-rssa/internal/integration"
"github.com/gin-gonic/gin"
)
type PracticionerHandler struct {
Practicioner integration.PracticionerInterface
}
func NewPracticionerHandler(practicioner integration.PracticionerInterface) *PracticionerHandler {
return &PracticionerHandler{Practicioner: practicioner}
}
func (p PracticionerHandler) GetPracticionerByNik(c *gin.Context) {
nik := c.Query("identifier")
if nik == "" {
c.JSON(http.StatusBadRequest, gin.H{"error": "identifier is required"})
return
}
practicioner, err := p.Practicioner.GetPracticionerByNIK(nik)
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
return
}
if practicioner == nil {
c.JSON(http.StatusNotFound, gin.H{"message": "Practicioner not found"})
return
}
c.JSON(http.StatusOK, practicioner)
}