add commands model
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
package commands
|
||||
|
||||
import (
|
||||
"dorisbot/models"
|
||||
"errors"
|
||||
"time"
|
||||
)
|
||||
|
||||
// CommandsModel -
|
||||
type CommandsModel struct {
|
||||
CMD string `db:"cmd"`
|
||||
Server string `db:"server"`
|
||||
RequireManage bool `db:"require_manage"`
|
||||
RequireInit bool `db:"require_init"`
|
||||
Value string `db:"value"`
|
||||
Ctime time.Time `db:"ctime"`
|
||||
Mtime time.Time `db:"mtime"`
|
||||
}
|
||||
|
||||
// NewCommand -
|
||||
func NewCommand(cmd, server, value string, requireManage, requireInit bool) (c *CommandsModel, err error) {
|
||||
if len(cmd) == 0 || len(server) == 0 || len(value) == 0 {
|
||||
return nil, errors.New("cmd, server or value is empty")
|
||||
}
|
||||
|
||||
c = &CommandsModel{
|
||||
CMD: cmd,
|
||||
Server: server,
|
||||
Value: value,
|
||||
RequireInit: requireInit,
|
||||
RequireManage: requireManage,
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// Write -
|
||||
func (p *CommandsModel) Write() (err error) {
|
||||
db := models.GetConn()
|
||||
query := `insert into "commands" ("cmd", "server", "value", "require_init", "require_manage") values
|
||||
(:cmd, :server, :value, :require_init, :require_manage) returning *`
|
||||
row, err := db.NamedQuery(query, p)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = row.StructScan(p)
|
||||
|
||||
return
|
||||
}
|
||||
Reference in New Issue
Block a user