24 lines
632 B
Go
24 lines
632 B
Go
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 }}`
|
|
}
|