minor bugfixes and cleanup
This commit is contained in:
parent
2a203f6f29
commit
97d914bce4
26 changed files with 198 additions and 221 deletions
20
pkg/db/db.go
20
pkg/db/db.go
|
|
@ -21,10 +21,7 @@ This is the [Index](/wiki/Index) page.
|
|||
You can customize it how you like.`
|
||||
)
|
||||
|
||||
/*const (
|
||||
maxResult = 1e6
|
||||
maxSearchResult = 101
|
||||
)*/
|
||||
const blevePath = "bleve"
|
||||
|
||||
func dbErr(i interface{}) error {
|
||||
return fmt.Errorf("db: %s", i)
|
||||
|
|
@ -37,13 +34,12 @@ type DB struct {
|
|||
Index *index.Index
|
||||
}
|
||||
|
||||
func New(indexPath string) (db *DB, err error) {
|
||||
func New(datadir string) (db *DB, err error) {
|
||||
db = &DB{cache: cache.NewCache()}
|
||||
//TODO
|
||||
//db.Index, err = index.NewIndex(indexPath)
|
||||
//if err != nil {
|
||||
// return
|
||||
//}
|
||||
db.Index, err = index.NewIndex(datadir + "/" + blevePath)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
db.users, err = store.NewBoltStore(usersFile, nil)
|
||||
if err != nil {
|
||||
|
|
@ -80,7 +76,5 @@ func (db *DB) Close() error {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
//TODO
|
||||
//return db.Index.Close()
|
||||
return db.Index.Close()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
// Copyright (C) 2018 Marius Schellenberger
|
||||
|
||||
package db
|
||||
|
||||
import (
|
||||
"golang.org/x/crypto/sha3"
|
||||
"crypto/sha256"
|
||||
"time"
|
||||
)
|
||||
|
||||
|
|
@ -31,7 +33,7 @@ func validatePassword(pw string) (b []byte) {
|
|||
if len(pw) <= 56 {
|
||||
return
|
||||
}
|
||||
hash := sha3.New384()
|
||||
hash := sha256.New()
|
||||
hash.Write(b)
|
||||
b = hash.Sum(nil)
|
||||
return
|
||||
|
|
|
|||
|
|
@ -1,28 +0,0 @@
|
|||
package db
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/gob"
|
||||
)
|
||||
|
||||
type Marshaler interface {
|
||||
Marshal(v interface{}) ([]byte, error)
|
||||
Unmarshal(data []byte, v interface{}) error
|
||||
}
|
||||
|
||||
type gobMarshaler struct{}
|
||||
|
||||
func NewGOB() Marshaler {
|
||||
return gobMarshaler{}
|
||||
}
|
||||
|
||||
func (gobMarshaler) Marshal(v interface{}) (b []byte, err error) {
|
||||
buf := new(bytes.Buffer)
|
||||
err = gob.NewEncoder(buf).Encode(v)
|
||||
b = buf.Bytes()
|
||||
return
|
||||
}
|
||||
|
||||
func (gobMarshaler) Unmarshal(data []byte, v interface{}) error {
|
||||
return gob.NewDecoder(bytes.NewBuffer(data)).Decode(v)
|
||||
}
|
||||
|
|
@ -1,3 +1,5 @@
|
|||
// Copyright (C) 2018 Marius Schellenberger
|
||||
|
||||
package db
|
||||
|
||||
import (
|
||||
|
|
@ -81,19 +83,17 @@ func (db *DB) CreatePage(title, section, markdown, username string, p core.Permi
|
|||
Owner: owner,
|
||||
Perm: p,
|
||||
}
|
||||
//search := render.Render(page)
|
||||
render.Render(page)
|
||||
search := render.Render(page)
|
||||
|
||||
err = db.pages.Set(st, page)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
//TODO
|
||||
//err = db.Index.Add(title, st, search)
|
||||
//if err != nil {
|
||||
// return
|
||||
//}
|
||||
err = db.Index.Add(title, st, search)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
db.cache.Add(st, page)
|
||||
return
|
||||
}
|
||||
|
|
@ -119,20 +119,17 @@ func (db *DB) UpdatePage(title, section, markdown, username string, p core.Permi
|
|||
page.Markdown = markdown
|
||||
page.Updated = created(username)
|
||||
page.Perm = p
|
||||
//TODO
|
||||
//search := render.Render(page)
|
||||
render.Render(page)
|
||||
search := render.Render(page)
|
||||
|
||||
err = db.pages.Set(st, page)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
//TODO
|
||||
//err = db.Index.Add(title, st, search)
|
||||
//if err != nil {
|
||||
// return
|
||||
//}
|
||||
err = db.Index.Add(title, st, search)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
db.cache.Add(st, page)
|
||||
return
|
||||
}
|
||||
|
|
@ -155,7 +152,5 @@ func (db *DB) DeletePage(title, section, username string) (err error) {
|
|||
return
|
||||
}
|
||||
db.cache.Delete(st)
|
||||
return nil
|
||||
//TODO
|
||||
//return db.Index.Delete(st)
|
||||
return db.Index.Delete(st)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
// Copyright (C) 2018 Marius Schellenberger
|
||||
|
||||
package db
|
||||
|
||||
import (
|
||||
|
|
@ -166,6 +168,7 @@ func (db *DB) AdminUpdateUser(username, password string, admin bool) error {
|
|||
return db.users.Set(username, u)
|
||||
}
|
||||
|
||||
//TODO delete all user owned pages
|
||||
func (db *DB) DeleteUser(username string) error {
|
||||
if username == defUser {
|
||||
return errors.New("user '" + defUser + "' cannot be deleted")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue