Files
dash/backend/dash_backend.go
2022-11-26 18:41:39 +01:00

50 lines
1.3 KiB
Go

// package main
// import "fmt"
// func main() {
// fmt.Println("Hello!")
// }
package main
import (
"log"
"net/http"
"github.com/gorilla/handlers"
dashapi "github.com/moustachioed/dash/backend/dashapi"
database "github.com/moustachioed/dash/backend/database"
mapping "github.com/moustachioed/dash/backend/mapping"
service "github.com/moustachioed/dash/backend/service"
)
func main() {
db, err := database.NewPgDatabase("localhost", "dash", "dash", "dash", 15432)
if err != nil {
log.Fatal(err)
}
mapper := mapping.NewMapperImpl()
JournalApiService := service.NewJournalApiService(db, mapper)
JournalApiController := dashapi.NewJournalApiController(JournalApiService)
PlanApiService := service.NewPlanApiService(db, mapper)
PlanApiController := dashapi.NewPlanApiController(PlanApiService)
cors := handlers.CORS(
// handlers.AllowedMethods([]string{"GET", "POST", "DELETE"}),
handlers.AllowedHeaders([]string{"Accept", "Accept-Language", "Content-Type", "Content-Language", "Origin"}),
handlers.AllowedOrigins([]string{"*"}),
)
router := dashapi.NewRouter(JournalApiController, PlanApiController)
router.Methods("GET", "POST", "DELETE", "OPTIONS")
log.Printf("Starting server.")
// TODO remove listening on all interfaces
log.Fatal(http.ListenAndServe("0.0.0.0:8080", cors(router)))
}