Files
kouiz/internal/setup/quiz_handler.go

27 lines
637 B
Go
Raw Normal View History

2025-06-10 21:09:58 +02:00
package setup
import (
"context"
"log"
"forge.cadoles.com/wpetit/kouiz/internal/config"
"forge.cadoles.com/wpetit/kouiz/internal/http/handler/webui/quiz"
"forge.cadoles.com/wpetit/kouiz/internal/store"
"github.com/glebarez/sqlite"
"github.com/pkg/errors"
"gorm.io/gorm"
)
func NewQuizHandlerFromConfig(ctx context.Context, conf *config.Config) (*quiz.Handler, error) {
db, err := gorm.Open(sqlite.Open(string(conf.Store.DSN)), &gorm.Config{})
if err != nil {
log.Fatalf("[FATAL] %+v", errors.Wrap(err, "could not open store"))
}
if conf.Store.Debug {
db = db.Debug()
}
return quiz.NewHandler(store.New(db)), nil
}