40 lines
828 B
Go
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()
|
|
}
|