added prefix scan and fixed logout issue

This commit is contained in:
ston1th 2019-07-06 11:31:12 +02:00
commit 8143e484cd
12 changed files with 99 additions and 77 deletions

View file

@ -24,19 +24,17 @@ var (
func (db *DB) GetAllSections(username string, admin bool) (sections core.SectionPages) {
m := make(map[string]core.UpdatedPages)
db.store.ForEach(func(k string, _ []byte) error {
if trim, ok := hasTrimPrefix(k, pagePrefix); ok {
if trim == core.IndexURI {
return nil
}
p, err := db.getPage(trim, username)
if err == nil {
s := trim[:strings.Index(trim, "/")]
if _, ok := m[s]; !ok {
m[s] = core.UpdatedPages{}
}
m[s] = append(m[s], *p)
db.store.ForEachPrefix(pagePrefix, func(k string, _ []byte) error {
if k == core.IndexURI {
return nil
}
p, err := db.getPage(k, username)
if err == nil {
s := k[:strings.Index(k, "/")]
if _, ok := m[s]; !ok {
m[s] = core.UpdatedPages{}
}
m[s] = append(m[s], *p)
}
return nil
})
@ -67,18 +65,16 @@ func (db *DB) GetAllSectionPages(section, username string, admin bool) (pages co
if err != nil {
return
}
db.store.ForEach(func(k string, _ []byte) error {
if trim, ok := hasTrimPrefix(k, pagePrefix); ok {
if !strings.HasPrefix(trim, section+"/") {
return nil
}
if trim == core.IndexURI {
return nil
}
p, err := db.getPage(trim, username)
if err == nil {
pages = append(pages, *p)
}
db.store.ForEachPrefix(pagePrefix, func(k string, _ []byte) error {
if !strings.HasPrefix(k, section+"/") {
return nil
}
if k == core.IndexURI {
return nil
}
p, err := db.getPage(k, username)
if err == nil {
pages = append(pages, *p)
}
return nil
})