Files
api-poliklinik/internal/server/routes.go
T
2025-05-10 14:35:26 +07:00

126 lines
4.1 KiB
Go

package server
import (
patientHandler "api-poliklinik/pkg/handlers/MongoHandler/Patient"
patientRelatedHandler "api-poliklinik/pkg/handlers/MongoHandler/PatientRelated"
personHandler "api-poliklinik/pkg/handlers/MongoHandler/person"
practitionerHandler "api-poliklinik/pkg/handlers/MongoHandler/practitioner"
datarelatedpersonHandler "api-poliklinik/pkg/handlers/MongoHandler/relatedperson"
datapoliklinikHandler "api-poliklinik/pkg/handlers/Poliklinik"
datapractitionerHandler "api-poliklinik/pkg/handlers/Practitioner"
dataAlamatHandler "api-poliklinik/pkg/handlers/address"
MigrasiHandler "api-poliklinik/pkg/handlers/migrasi"
"github.com/gin-contrib/cors"
"github.com/gin-gonic/gin"
"net/http"
)
func (s *Server) RegisterRoutes() http.Handler {
r := gin.Default()
r.Use(cors.New(cors.Config{
AllowOrigins: []string{"*"}, // or specific domains like "http://example.com"
AllowMethods: []string{"GET", "POST", "PUT", "DELETE"},
AllowHeaders: []string{"Origin", "Content-Type"},
AllowCredentials: true,
}))
r.GET("/", s.HelloWorldHandler)
r.GET("/health", s.healthHandler)
v1 := r.Group("/api")
migrasi := v1.Group("/migrasi")
{
migrasi.POST("/migrate/practitioners", MigrasiHandler.MigratePractitionerToFHIR)
migrasi.POST("/migrate/pasien", MigrasiHandler.MigratePasienToFHIR)
}
Poliklinik := v1.Group("/poliklinik")
{
Poliklinik.GET("/getdata/statuspelayanan/:statuspelayanan", datapoliklinikHandler.GetDataPoliklinik)
}
Practitioner := v1.Group("/practitionersatu")
{
Practitioner.GET("/getdata", datapractitionerHandler.GetDataPractitioner)
Practitioner.GET("/getdatapasien", datapractitionerHandler.GetDataMPasien)
}
Alamat := v1.Group("/Alamat")
{
Alamat.GET("/getdata", dataAlamatHandler.GetDataAlamat)
}
Relasi := v1.Group("/relasi")
{
Relasi.POST("/insertpatientrelatedperson", patientRelatedHandler.InsertPatientRelated)
Relasi.GET("/getdatapatientrelated", patientRelatedHandler.GetAllPatientdanRelated)
}
patient := v1.Group("/patient")
{
//patient.POST("/insertpatient", patientHandler.InsertPatient)
patient.GET("/getallpatient", patientHandler.GetAllPatient)
patient.PUT("/updatepatient", patientHandler.UpdatePatient)
patient.POST("/deletepatient", patientHandler.DeletePatient)
patient.GET("/getdata/display/:display/value/:value", patientHandler.GetDataBY)
//patient.POST("/getdataby", patientHandler.GetDataIdentifier)
}
Relatedperson := v1.Group("/relatedperson")
{
Relatedperson.GET("/getdatarelatedperson", datarelatedpersonHandler.GetDataRelatedPerson)
Relatedperson.POST("/insertrelatedperson", datarelatedpersonHandler.InsertRelatedPerson)
Relatedperson.POST("/deleterelatedperson", datarelatedpersonHandler.DeleteRelatedPersonHand)
}
Person := v1.Group("/person")
{
Person.GET("/getdataperson", personHandler.GetDataPerson)
Person.POST("/insertperson", personHandler.InsertPerson)
//Person.POST("/deleteperson", personHandler.DeletePersonHand)
}
Practitionermongo := v1.Group("/practitioner")
{
Practitionermongo.GET("/getdatapractitioner", practitionerHandler.GetDataPractitioner)
//Practitionermongo.POST("/insertpractitioner", personHandler.InsertPerson)
//Practitionermongo.POST("/deletepractitioner", personHandler.DeletePersonHand)
}
Organization := v1.Group("/organization")
{
Organization.GET("/getdataorganization", personHandler.GetDataPerson)
//Organization.POST("/insertorganization", personHandler.Inse rtPerson)
//Organization.POST("/deleteorganization", personHandler.DeletePersonHand)
}
Location := v1.Group("/location")
{
Location.GET("/getdatalocation", personHandler.GetDataPerson)
//Location.POST("/insertlocation", personHandler.Inse rtPerson)
//Location.POST("/deletelocation", personHandler.DeletePersonHand)
}
Master := v1.Group("createdocument")
{
Master.GET("/getdatamaster", personHandler.GetDataPerson)
}
return r
}
func (s *Server) HelloWorldHandler(c *gin.Context) {
resp := make(map[string]string)
resp["message"] = "Hello World"
c.JSON(http.StatusOK, resp)
}
func (s *Server) healthHandler(c *gin.Context) {
c.JSON(http.StatusOK, s.db.Health())
}