Expose AddRaw[User|News] for scripting

This commit is contained in:
Las Zenow 2017-05-21 22:48:43 +00:00
parent d0670c0b62
commit 83ab1b461d
4 changed files with 17 additions and 4 deletions

View file

@ -1,6 +1,8 @@
package database package database
import ( import (
"time"
"github.com/go-pg/pg" "github.com/go-pg/pg"
) )
@ -15,10 +17,12 @@ type DB interface {
ActiveBook(id string) error ActiveBook(id string) error
IsBookActive(id string) bool IsBookActive(id string) bool
AddUser(name string, pass string) error AddUser(name string, pass string) error
AddRawUser(name string, hpass []byte, salt []byte, role string) error
GetRole(name string) (string, error) GetRole(name string) (string, error)
SetPassword(name string, pass string) error SetPassword(name string, pass string) error
ValidPassword(name string, pass string) bool ValidPassword(name string, pass string) bool
AddNews(text string) error AddNews(text string) error
AddRawNews(text string, date time.Time) error
GetNews(num int, days int) (news []New, err error) GetNews(num int, days int) (news []New, err error)
AddStats(stats interface{}) error AddStats(stats interface{}) error
GetVisitedBooks() (books []Book, err error) GetVisitedBooks() (books []Book, err error)

View file

@ -14,10 +14,10 @@ type New struct {
// AddNews creates a new entry // AddNews creates a new entry
func (db *pgDB) AddNews(text string) error { func (db *pgDB) AddNews(text string) error {
return db.addRawNews(text, time.Now()) return db.AddRawNews(text, time.Now())
} }
func (db *pgDB) addRawNews(text string, date time.Time) error { func (db *pgDB) AddRawNews(text string, date time.Time) error {
return db.sql.Insert(&New{ return db.sql.Insert(&New{
Text: text, Text: text,
Date: date, Date: date,

View file

@ -2,6 +2,7 @@ package database
import ( import (
"errors" "errors"
"time"
) )
type roDB struct { type roDB struct {
@ -48,6 +49,10 @@ func (db *roDB) AddUser(name string, pass string) error {
return errors.New("RO database") return errors.New("RO database")
} }
func (db *roDB) AddRawUser(name string, hpass []byte, salt []byte, role string) error {
return errors.New("RO database")
}
func (db *roDB) GetRole(name string) (string, error) { func (db *roDB) GetRole(name string) (string, error) {
return db.db.GetRole(name) return db.db.GetRole(name)
} }
@ -64,6 +69,10 @@ func (db *roDB) AddNews(text string) error {
return errors.New("RO database") return errors.New("RO database")
} }
func (db *roDB) AddRawNews(text string, date time.Time) error {
return errors.New("RO database")
}
func (db *roDB) GetNews(num int, days int) (news []New, err error) { func (db *roDB) GetNews(num int, days int) (news []New, err error) {
return db.db.GetNews(num, days) return db.db.GetNews(num, days)
} }

View file

@ -36,10 +36,10 @@ func (db *pgDB) AddUser(name string, pass string) error {
log.Error("Error hashing password: ", err) log.Error("Error hashing password: ", err)
return errors.New("An error happen storing the password") return errors.New("An error happen storing the password")
} }
return db.addRawUser(name, hpass, salt, "") return db.AddRawUser(name, hpass, salt, "")
} }
func (db *pgDB) addRawUser(name string, hpass []byte, salt []byte, role string) error { func (db *pgDB) AddRawUser(name string, hpass []byte, salt []byte, role string) error {
u := user{ u := user{
Username: name, Username: name,
Password: hpass, Password: hpass,