dorisbot/database/impl/public/command.go

66 lines
1.6 KiB
Go

package public
import (
pubmodel "dorisbot/database/models/public"
sq "github.com/elgris/sqrl"
)
// CommandImpl -
type CommandImpl struct{}
// Create -
func (c *CommandImpl) Create(cmd *pubmodel.Command) error {
query, args, err := sq.Insert(`"public"."command"`).
Columns("key", "platform", "binding", "require_manage", "require_init", "value", "ctime", "mtime").
Values(cmd.Key, cmd.Platform, cmd.Binding, cmd.RequireManage, cmd.RequireInit, cmd.Value, sq.Expr("now()"), sq.Expr("now()")).
ToSql()
if err != nil {
return err
}
query = x.Rebind(query)
err = x.Get(cmd, query, args...)
if err != nil {
return err
}
return nil
}
// Delete -
func (c *CommandImpl) Delete(key string, platform string, binding string) error {
query, args, err := sq.Delete(`"public"."command"`).Where(sq.And{
sq.Eq{"key": key},
sq.Eq{"platform": platform},
sq.Eq{"binding": binding},
})
if err != nil {
return err
}
query = x.Rebind(query)
_, err = x.Exec(query, args...)
if err != nil {
return err
}
return nil
}
func (c *CommandImpl) GetByKey(key string) ([]pubmodel.Command, error) {
panic("not implemented")
}
func (c *CommandImpl) GetByKeyPlatform(key string, platform string) ([]pubmodel.Command, error) {
panic("not implemented")
}
func (c *CommandImpl) GetByKeyPlatformBinding(key string, platform string, binding string) ([]pubmodel.Command, error) {
panic("not implemented")
}
func (c *CommandImpl) GetByPlatformBinding(platform string, binding string) ([]pubmodel.Command, error) {
panic("not implemented")
}
func (c *CommandImpl) GetByKeyBinding(key string, binding string) ([]pubmodel.Command, error) {
panic("not implemented")
}