This repository has been archived on 2025-03-30. You can view files and clone it, but cannot push or open issues or pull requests.
bactdb/models/interfaces.go
Matthew Dillon 62734899e2 Refactor create handlers
Fixes #17.
2015-10-13 12:51:08 -07:00

29 lines
554 B
Go

package models
import "github.com/thermokarst/bactdb/Godeps/_workspace/src/github.com/jmoiron/modl"
type base interface {
PreInsert(modl.SqlExecutor) error
PreUpdate(modl.SqlExecutor) error
UpdateError() error
}
// Create will create a new DB record of a model.
func Create(b base) error {
if err := DBH.Insert(b); err != nil {
return nil
}
return nil
}
// Update runs a DB update on a model.
func Update(b base) error {
count, err := DBH.Update(b)
if err != nil {
return err
}
if count != 1 {
return b.UpdateError()
}
return nil
}