50 lines
1.3 KiB
Go
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)))
|
|
}
|