single db with prefixes, dump/restore, blacklisting on user deletion

This commit is contained in:
ston1th 2018-09-23 23:56:12 +02:00
commit d4971cda89
20 changed files with 264 additions and 163 deletions

View file

@ -13,8 +13,7 @@ import (
const (
defUser = "admin"
defPassword = "gowiki"
usersFile = "users.db"
pagesFile = "pages.db"
storeFile = "store.db"
bcryptCost = 13
welcome = `# Welcome to GoWiki
This is the [Index](/wiki/Index) page.
@ -28,8 +27,7 @@ func dbErr(i interface{}) error {
}
type DB struct {
pages store.Store
users store.Store
store store.Store
cache *cache.Cache
Index *index.Index
}
@ -41,7 +39,7 @@ func New(datadir string) (db *DB, err error) {
return
}
db.users, err = store.NewBoltStore(usersFile, nil)
db.store, err = store.NewBoltStore(storeFile, nil)
if err != nil {
return
}
@ -56,10 +54,6 @@ func New(datadir string) (db *DB, err error) {
return
}
db.pages, err = store.NewBoltStore(pagesFile, nil)
if err != nil {
return
}
_, err = db.CreatePage(core.IndexPage, core.WikiSection, welcome, defUser, core.Public)
if err != nil && err != store.ErrKeyNotFound {
return
@ -68,11 +62,7 @@ func New(datadir string) (db *DB, err error) {
}
func (db *DB) Close() error {
err := db.pages.Close()
if err != nil {
return err
}
err = db.users.Close()
err := db.store.Close()
if err != nil {
return err
}