statping/types/messages/database.go

47 lines
826 B
Go
Raw Normal View History

2020-03-04 10:29:00 +00:00
package messages
2020-04-17 03:21:17 +00:00
import (
"github.com/statping/statping/database"
"github.com/statping/statping/types/errors"
"github.com/statping/statping/utils"
2020-04-17 03:21:17 +00:00
)
2020-03-04 10:29:00 +00:00
var (
db database.Database
log = utils.Log.WithField("type", "message")
)
2020-03-10 05:24:35 +00:00
func SetDB(database database.Database) {
db = database.Model(&Message{})
2020-03-04 14:20:47 +00:00
}
2020-03-04 10:29:00 +00:00
func Find(id int64) (*Message, error) {
2020-03-05 05:38:56 +00:00
var message Message
2020-03-10 05:24:35 +00:00
q := db.Where("id = ?", id).Find(&message)
2020-04-17 03:21:17 +00:00
if q.Error() != nil {
return nil, errors.Missing(message, id)
}
2020-03-10 05:24:35 +00:00
return &message, q.Error()
2020-03-04 10:29:00 +00:00
}
func All() []*Message {
var messages []*Message
2020-03-10 05:24:35 +00:00
db.Find(&messages)
2020-03-04 10:29:00 +00:00
return messages
}
func (m *Message) Create() error {
2020-03-10 05:24:35 +00:00
q := db.Create(m)
return q.Error()
2020-03-04 10:29:00 +00:00
}
func (m *Message) Update() error {
2020-03-10 05:24:35 +00:00
q := db.Update(m)
return q.Error()
2020-03-04 10:29:00 +00:00
}
func (m *Message) Delete() error {
2020-03-10 05:24:35 +00:00
q := db.Delete(m)
return q.Error()
2020-03-04 10:29:00 +00:00
}