package message import ( lib "git.sr.ht/~cco/go-scopes" sql "git.sr.ht/~cco/go-scopes/storage" ) func Store(act lib.Action) bool { db := lib.GetState[*sql.Storage](act.Context()) StoreDB(db, act.Message()) return true } // var Store = func(db *sql.Storage, msg lib.Message) { func StoreDB(db *sql.Storage, msg lib.Message) { q := db.BuildQuery("insert_msg", "messages") db.Exec(q, msg.Domain(), msg.Action(), msg.Class(), msg.Item(), msg.Payload()) } func init() { sql.SqlSources += `{{ define "insert_msg" -}} insert into {{ .table }} (domain, action, class, item, payload) values ($1, $2, $3, $4, $5) {{- end }}` }