Implement Read Only mode

This commit is contained in:
Las Zenow 2017-05-21 10:16:16 +00:00
parent 6464d92dd4
commit e1bd235785
19 changed files with 544 additions and 335 deletions

129
lib/database/ro.go Normal file
View file

@ -0,0 +1,129 @@
package database
import (
"errors"
)
type roDB struct {
db DB
}
func (db *roDB) Close() {
db.db.Close()
}
func (db *roDB) Copy() DB {
return &roDB{db.db.Copy()}
}
func (db *roDB) AddBook(book map[string]interface{}) error {
return errors.New("RO database")
}
func (db *roDB) GetBooks(query string, length int, start int) (books []Book, num int, err error) {
return db.db.GetBooks(query, length, start)
}
func (db *roDB) GetBooksIter() Iter {
return db.db.GetBooksIter()
}
func (db *roDB) GetNewBooks(query string, length int, start int) (books []Book, num int, err error) {
return db.db.GetNewBooks(query, length, start)
}
func (db *roDB) GetBookId(id string) (Book, error) {
return db.db.GetBookId(id)
}
func (db *roDB) DeleteBook(id string) error {
return errors.New("RO database")
}
func (db *roDB) UpdateBook(id string, data map[string]interface{}) error {
return errors.New("RO database")
}
func (db *roDB) FlagBadQuality(id string, user string) error {
return errors.New("RO database")
}
func (db *roDB) ActiveBook(id string) error {
return errors.New("RO database")
}
func (db *roDB) IsBookActive(id string) bool {
return db.db.IsBookActive(id)
}
func (db *roDB) User(name string) *User {
return db.db.User(name)
}
func (db *roDB) AddUser(name string, pass string) error {
return errors.New("RO database")
}
func (db *roDB) AddNews(text string) error {
return errors.New("RO database")
}
func (db *roDB) GetNews(num int, days int) (news []News, err error) {
return db.db.GetNews(num, days)
}
func (db *roDB) AddStats(stats interface{}) error {
return nil
}
func (db *roDB) GetVisitedBooks() (books []Book, err error) {
return db.db.GetVisitedBooks()
}
func (db *roDB) UpdateMostVisited() error {
return errors.New("RO database")
}
func (db *roDB) GetDownloadedBooks() (books []Book, err error) {
return db.db.GetDownloadedBooks()
}
func (db *roDB) UpdateDownloadedBooks() error {
return errors.New("RO database")
}
func (db *roDB) GetTags() ([]string, error) {
return db.db.GetTags()
}
func (db *roDB) UpdateTags() error {
return errors.New("RO database")
}
func (db *roDB) GetVisits(visitType VisitType) ([]Visits, error) {
return db.db.GetVisits(visitType)
}
func (db *roDB) UpdateHourVisits() error {
return errors.New("RO database")
}
func (db *roDB) UpdateDayVisits() error {
return errors.New("RO database")
}
func (db *roDB) UpdateMonthVisits() error {
return errors.New("RO database")
}
func (db *roDB) UpdateHourDownloads() error {
return errors.New("RO database")
}
func (db *roDB) UpdateDayDownloads() error {
return errors.New("RO database")
}
func (db *roDB) UpdateMonthDownloads() error {
return errors.New("RO database")
}