36 lines
938 B
Go
36 lines
938 B
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"github.com/loveuer/uzone"
|
||
|
"github.com/loveuer/uzone/pkg/api"
|
||
|
"github.com/loveuer/uzone/pkg/interfaces"
|
||
|
)
|
||
|
|
||
|
type Record struct {
|
||
|
Id uint64 `json:"id" gorm:"primaryKey;column:id"`
|
||
|
CreatedAt int64 `json:"created_at" gorm:"column:created_at;autoCreateTime:milli"`
|
||
|
Name string `json:"name" gorm:"column:name"`
|
||
|
}
|
||
|
|
||
|
func main() {
|
||
|
app := uzone.New(uzone.Config{Debug: true})
|
||
|
|
||
|
app.With(uzone.InitDB("sqlite://data.db", &Record{}))
|
||
|
app.With(uzone.InitApi(api.New()))
|
||
|
|
||
|
app.With(uzone.InitFn(func(u interfaces.Uzone) {
|
||
|
u.UseLogger().Debug("[init] create init record")
|
||
|
u.UseDB().Create(&Record{Name: "init"})
|
||
|
}))
|
||
|
|
||
|
app.GET("/hello/:name", func(c *api.Ctx) error {
|
||
|
name := c.Param("name")
|
||
|
c.UseLogger().Debug("[hello] got name = %s", name)
|
||
|
record := &Record{Name: name}
|
||
|
err := c.UseDB().Create(record).Error
|
||
|
return c.JSON(map[string]any{"record": record, "err": err})
|
||
|
})
|
||
|
|
||
|
app.RunSignal()
|
||
|
}
|