go-sample-webpage/main.go

42 lines
1.0 KiB
Go
Raw Normal View History

2021-11-03 01:10:36 +00:00
package main
import (
2021-11-22 22:46:01 +00:00
"crypto/tls"
2021-11-03 01:10:36 +00:00
"embed"
2021-11-09 11:34:25 +00:00
"git.keks.cloud/kekskurse/go-sample-webpage/pkg/sample"
"git.keks.cloud/kekskurse/go-sample-webpage/pkg/user"
"git.keks.cloud/kekskurse/go-sample-webpage/pkg/webpage"
2021-11-22 22:11:37 +00:00
"github.com/go-chi/chi/v5"
"github.com/go-chi/jwtauth/v5"
2021-11-22 22:46:01 +00:00
gomail "gopkg.in/mail.v2"
2021-11-03 01:10:36 +00:00
)
// content holds our static web server content.
//go:embed static/* templates/*
var webserver embed.FS
2021-11-08 01:25:36 +00:00
//go:embed database/migrations/*.sql
var migrationFS embed.FS
2021-11-03 01:10:36 +00:00
func main() {
2021-11-08 02:33:36 +00:00
config := webpage.WebPageConfig{
Templates: webserver,
Static: webserver,
Migrations: migrationFS,
2021-11-22 22:11:37 +00:00
Bootstrap: func(router chi.Router) {
tokenAuth := jwtauth.New("HS256", []byte("secret"), nil)
2021-11-22 22:46:01 +00:00
uc := user.GetUserMemmoryClient()
d := gomail.NewDialer("localhost", 1025, "from@gmail.com", "email_password")
d.TLSConfig = &tls.Config{InsecureSkipVerify: true}
2021-11-22 22:11:37 +00:00
2021-11-23 19:21:43 +00:00
userconfig := user.NewUserConfig()
2021-11-22 22:11:37 +00:00
sample.Register(router)
2021-11-23 19:21:43 +00:00
user.Register(router, tokenAuth, uc, d, userconfig)
2021-11-08 01:25:36 +00:00
},
}
2021-11-08 02:33:36 +00:00
webpage.RunWebApp(config)
2021-11-08 01:25:36 +00:00
}