add server dao

This commit is contained in:
Jay
2019-09-29 14:46:01 +00:00
parent 290f5ce85b
commit 4da803d57c
5 changed files with 69 additions and 4 deletions
+10
View File
@@ -0,0 +1,10 @@
package discord
import "github.com/jmoiron/sqlx"
var x *sqlx.DB
// Init -
func Init(db *sqlx.DB) {
x = db
}
+43
View File
@@ -0,0 +1,43 @@
package discord
import (
dsmodel "dorisbot/database/models/discord"
sq "github.com/elgris/sqrl"
)
// ServerImpl -
type ServerImpl struct{}
// Create -
func (s ServerImpl) Create(server *dsmodel.Server) error {
query, args, err := sq.Insert(`"discord"."server"`).Columns("id", "name", "permission", "owner").
Values(server.ID, server.Name, server.Permission, server.Owner).
Suffix("returning *").
ToSql()
if err != nil {
return err
}
query = x.Rebind(query)
err = x.Get(server, query, args...)
if err != nil {
return err
}
return nil
}
// Delete -
func (s ServerImpl) Delete(id string) error {
query, args, err := sq.Delete(`"discord"."server"`).Where(sq.Eq{"id": id}).ToSql()
if err != nil {
return err
}
query = x.Rebind(query)
_, err = x.Exec(query, args...)
if err != nil {
return err
}
return nil
}