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()) }