42 lines
869 B
Go
42 lines
869 B
Go
package main
|
|
|
|
import (
|
|
"io/fs"
|
|
"log"
|
|
|
|
netHttp "net/http"
|
|
|
|
"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"
|
|
"git.javil.eu/jacob1123/budgeteer/web"
|
|
)
|
|
|
|
func main() {
|
|
cfg, err := config.LoadConfig()
|
|
if err != nil {
|
|
log.Fatalf("Could not load config: %v", err)
|
|
}
|
|
|
|
q, err := postgres.Connect("pgx", cfg.DatabaseConnection)
|
|
if err != nil {
|
|
log.Fatalf("Failed connecting to DB: %v", err)
|
|
}
|
|
|
|
static, err := fs.Sub(web.Static, "dist")
|
|
if err != nil {
|
|
panic("couldn't open static files")
|
|
}
|
|
|
|
handler := &http.Handler{
|
|
Service: q,
|
|
TokenVerifier: &jwt.TokenVerifier{},
|
|
CredentialsVerifier: &bcrypt.Verifier{},
|
|
StaticFS: netHttp.FS(static),
|
|
}
|
|
|
|
handler.Serve()
|
|
}
|