From 83ab1b461d196291b91b138e33e048c0f4e03d53 Mon Sep 17 00:00:00 2001 From: Las Zenow Date: Sun, 21 May 2017 22:48:43 +0000 Subject: [PATCH] Expose AddRaw[User|News] for scripting --- lib/database/database.go | 4 ++++ lib/database/news.go | 4 ++-- lib/database/ro.go | 9 +++++++++ lib/database/users.go | 4 ++-- 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/lib/database/database.go b/lib/database/database.go index 91edf3e..3aa017d 100644 --- a/lib/database/database.go +++ b/lib/database/database.go @@ -1,6 +1,8 @@ package database import ( + "time" + "github.com/go-pg/pg" ) @@ -15,10 +17,12 @@ type DB interface { ActiveBook(id string) error IsBookActive(id string) bool AddUser(name string, pass string) error + AddRawUser(name string, hpass []byte, salt []byte, role string) error GetRole(name string) (string, error) SetPassword(name string, pass string) error ValidPassword(name string, pass string) bool AddNews(text string) error + AddRawNews(text string, date time.Time) error GetNews(num int, days int) (news []New, err error) AddStats(stats interface{}) error GetVisitedBooks() (books []Book, err error) diff --git a/lib/database/news.go b/lib/database/news.go index 5fb55c8..3e040d2 100644 --- a/lib/database/news.go +++ b/lib/database/news.go @@ -14,10 +14,10 @@ type New struct { // AddNews creates a new entry 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{ Text: text, Date: date, diff --git a/lib/database/ro.go b/lib/database/ro.go index db03bd4..f5b111d 100644 --- a/lib/database/ro.go +++ b/lib/database/ro.go @@ -2,6 +2,7 @@ package database import ( "errors" + "time" ) type roDB struct { @@ -48,6 +49,10 @@ func (db *roDB) AddUser(name string, pass string) error { 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) { return db.db.GetRole(name) } @@ -64,6 +69,10 @@ func (db *roDB) AddNews(text string) error { 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) { return db.db.GetNews(num, days) } diff --git a/lib/database/users.go b/lib/database/users.go index 6e082fd..38a27f4 100644 --- a/lib/database/users.go +++ b/lib/database/users.go @@ -36,10 +36,10 @@ func (db *pgDB) AddUser(name string, pass string) error { log.Error("Error hashing password: ", err) 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{ Username: name, Password: hpass,