more cleanup

This commit is contained in:
ston1th 2018-10-21 22:45:22 +02:00
commit 78680de687
6 changed files with 200491 additions and 189802 deletions

View file

@ -52,9 +52,6 @@ func New(dir string) (db *DB, err error) {
} }
_, err = db.CreatePage(core.IndexPage, core.WikiSection, welcome, defUser, core.Public) _, err = db.CreatePage(core.IndexPage, core.WikiSection, welcome, defUser, core.Public)
if err != nil && err != store.ErrKeyNotFound {
return
}
return return
} }

View file

@ -13,11 +13,12 @@ import (
const pagePrefix = "page/" const pagePrefix = "page/"
var ( var (
errPageNotFound = store.ErrKeyNotFound errPageNotFound = store.ErrKeyNotFound
errPermissionDenied = errors.New("db: permission denied") errPermissionDenied = errors.New("db: permission denied")
errInvalidPermission = errors.New("db: invalid permission") errInvalidPermission = errors.New("db: invalid permission")
errPrivateWikiPage = errors.New("db: private wiki pages are not allowed") errPrivateWikiPage = errors.New("db: private wiki pages are not allowed")
errDeleteIndexPage = errors.New("db: index page can not be deleted") errNonPublicIndexPage = errors.New("db: internal/private index page is not allowed")
errDeleteIndexPage = errors.New("db: index page can not be deleted")
) )
func (db *DB) GetAllPages(username string) (pages core.Pages) { func (db *DB) GetAllPages(username string) (pages core.Pages) {
@ -77,7 +78,9 @@ func (db *DB) CreatePage(title, section, markdown, username string, p core.Permi
} }
} }
st := render.StoreTitle(section, render.Title(title)) st := render.StoreTitle(section, render.Title(title))
if _, err = db.getPage(st, username); err != nil && err != store.ErrKeyNotFound { _, err = db.getPage(st, username)
//if err == nil || (err != nil && err != store.ErrKeyNotFound) {
if err != store.ErrKeyNotFound {
return return
} }
@ -113,6 +116,11 @@ func (db *DB) UpdatePage(title, section, markdown, username string, p core.Permi
err = errPrivateWikiPage err = errPrivateWikiPage
return return
} }
if section == core.WikiSection && title == core.IndexPage &&
(p == core.Internal || p == core.Private) {
err = errNonPublicIndexPage
return
}
st := render.StoreTitle(section, title) st := render.StoreTitle(section, title)
page, err := db.getPage(st, username) page, err := db.getPage(st, username)
if err != nil { if err != nil {

View file

@ -13,8 +13,8 @@ var (
debug = false debug = false
) )
func InitLogger(dir, file string, debug bool) { func InitLogger(dir, file string, d bool) {
debug = debug debug = d
if file == "-" { if file == "-" {
return return
} }
@ -40,7 +40,7 @@ func Fatal(v ...interface{}) {
func Debug(v ...interface{}) { func Debug(v ...interface{}) {
if debug { if debug {
log.Println(append([]interface{}{"debug:"}, v...)) log.Println(append([]interface{}{"debug:"}, v...)...)
} }
} }

View file

@ -18,22 +18,21 @@ type BoltStore struct {
db *bolt.DB db *bolt.DB
} }
func NewBoltStore(file string, m Marshaler) (bs *BoltStore, err error) { func NewBoltStore(file string, m Marshaler) (Store, error) {
if m == nil { if m == nil {
m = NewGOB() m = NewGOB()
} }
db, err := bolt.Open(file, fileMode, nil) db, err := bolt.Open(file, fileMode, nil)
if err != nil { if err != nil {
return return nil, err
} }
if err = db.Update(func(tx *bolt.Tx) (err error) { if err = db.Update(func(tx *bolt.Tx) (err error) {
_, err = tx.CreateBucketIfNotExists([]byte(defaultBoltBucket)) _, err = tx.CreateBucketIfNotExists([]byte(defaultBoltBucket))
return return
}); err != nil { }); err != nil {
return return nil, err
} }
bs = &BoltStore{m, db} return &BoltStore{m, db}, nil
return
} }
type dump struct { type dump struct {

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff