You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
website/cmd/server/main.go

60 lines
1.2 KiB
Go

package main
import (
"log"
"git.phc.dm.unipi.it/phc/website/libs/db"
"git.phc.dm.unipi.it/phc/website/libs/sl"
"git.phc.dm.unipi.it/phc/website/server"
"git.phc.dm.unipi.it/phc/website/server/config"
"git.phc.dm.unipi.it/phc/website/server/database"
"git.phc.dm.unipi.it/phc/website/server/listautenti"
"git.phc.dm.unipi.it/phc/website/server/model"
)
func main() {
l := sl.New()
//
// Setup the application
//
// Config
sl.Provide(l, config.Slot, config.ExampleProductionConfig)
// Database
sl.Provide[database.Database](l, database.Slot, &database.Memory{
Users: []model.User{
{
Id: "e39ad8d5-a087-4cb2-8fd7-5a6ca3f6a534",
Username: "claire-doe",
FullName: db.NewOption("Claire Doe"),
Email: db.NewOption("claire.doe@example.org"),
},
{
Id: "9b7109cd-95a1-41e9-a9f6-001a32c20ca1",
Username: "john-smith",
FullName: db.NewOption("John Smith"),
Email: db.NewOption("john.smith@example.org"),
},
},
})
// Server
sl.ProvideFunc(l, server.Slot, server.Configure)
sl.ProvideHook(l, server.ApiRoutesHook,
listautenti.MountApiRoutesHook,
)
//
// Start the application
//
err := sl.Invoke(l, server.Slot)
if err != nil {
log.Fatal(err)
}
}