40 lines
828 B
Go

package main
import (
"log"
"git.javil.eu/jacob1123/budgeteer/bcrypt"
"git.javil.eu/jacob1123/budgeteer/config"
"git.javil.eu/jacob1123/budgeteer/http"
"git.javil.eu/jacob1123/budgeteer/jwt"
"git.javil.eu/jacob1123/budgeteer/postgres"
)
func main() {
cfg, err := config.LoadConfig()
if err != nil {
log.Fatalf("Could not load Config: %v", err)
}
bv := &bcrypt.Verifier{}
q, db, err := postgres.Connect(cfg.DatabaseHost, cfg.DatabaseUser, cfg.DatabasePassword, cfg.DatabaseName)
if err != nil {
log.Fatalf("Failed connecting to DB: %v", err)
}
us, err := postgres.NewRepository(q, db)
if err != nil {
log.Fatalf("Failed building Repository: %v", err)
}
tv := &jwt.TokenVerifier{}
h := &http.Handler{
Service: us,
TokenVerifier: tv,
CredentialsVerifier: bv,
}
h.Serve()
}