add commands model

This commit is contained in:
Jay
2019-06-30 15:05:54 +00:00
parent 45c8fc4f0e
commit dd09bfda6e
5 changed files with 112 additions and 9 deletions
+26 -2
View File
@@ -2,6 +2,7 @@ package discord
import (
"dorisbot/models"
cmdmodel "dorisbot/models/commands"
"errors"
"time"
)
@@ -11,6 +12,7 @@ type DiscordServerModel struct {
ID string `db:"id"`
Name string `db:"name"`
Permission int `db:"permission"`
Owner string `db:"owner"`
Ctime time.Time `db:"ctime"`
Mtime time.Time `db:"mtime"`
}
@@ -47,6 +49,17 @@ func NewDiscordServer(id, name string, permission int) (ds *DiscordServerModel,
return
}
// GetDiscordServerList -
func GetDiscordServerList() (list []*DiscordServerModel, err error) {
db := models.GetConn()
query := `select "id", "name", "permission", "owner", "ctime", "mtime" from discord_server`
err = db.Select(&list, query)
if err != nil {
return nil, err
}
return
}
// GetDiscordServerByID -
func GetDiscordServerByID(id string) (ds *DiscordServerModel, err error) {
if len(id) == 0 {
@@ -54,7 +67,7 @@ func GetDiscordServerByID(id string) (ds *DiscordServerModel, err error) {
}
db := models.GetConn()
ds = &DiscordServerModel{}
query := `select "id", "name", "permission", "ctime", "mtime" from discord_server where "id" = $1`
query := `select "id", "name", "permission", "owner", "ctime", "mtime" from discord_server where "id" = $1`
err = db.Get(ds, query, id)
return
}
@@ -62,7 +75,7 @@ func GetDiscordServerByID(id string) (ds *DiscordServerModel, err error) {
// Write DiscordServer data to database
func (p *DiscordServerModel) Write() error {
db := models.GetConn()
query := `insert into discord_server ("id", "name", "permission") values (:id, :name, :permission) returning *`
query := `insert into discord_server ("id", "name", "permission", "owner") values (:id, :name, :permission, :owner) returning *`
row, err := db.NamedQuery(query, p)
if err != nil {
return err
@@ -112,6 +125,17 @@ func (p *DiscordServerModel) GetChannel(id string) (ch *DiscordChannelModel, err
return
}
// GetCommandList -
func (p *DiscordServerModel) GetCommandList() (cmds []*cmdmodel.CommandsModel, err error) {
db := models.GetConn()
query := `select "cmd", "server", "value", "require_init", "require_manage", "ctime", "mtime" from "commands" where "server" = $1`
err = db.Select(&cmds, query, p.ID)
if err != nil {
return nil, err
}
return
}
// GetRoleList -
func (p *DiscordServerModel) GetRoleList() (list []*DiscordManageRoleModel, err error) {
db := models.GetConn()