More fixes
This commit is contained in:
@@ -77,79 +77,6 @@ func (bs *BitcaskStore) DelFeed(name string) error {
|
||||
return bs.db.Delete(key)
|
||||
}
|
||||
|
||||
func (bs *BitcaskStore) GetFeed(name string) (*Feed, error) {
|
||||
key := []byte(fmt.Sprintf("%s/%s", feedsKeyPrefix, name))
|
||||
data, err := bs.db.Get(key)
|
||||
if err == bitcask.ErrKeyNotFound {
|
||||
return nil, ErrFeedNotFound
|
||||
}
|
||||
return LoadFeed(data)
|
||||
}
|
||||
|
||||
func (bs *BitcaskStore) SetFeed(name string, feed *Feed) error {
|
||||
data, err := feed.Bytes()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
key := []byte(fmt.Sprintf("%s/%s", feedsKeyPrefix, name))
|
||||
if err := bs.db.Put(key, data); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (bs *BitcaskStore) LenFeeds() int64 {
|
||||
var count int64
|
||||
|
||||
if err := bs.db.Scan([]byte(feedsKeyPrefix), func(_ []byte) error {
|
||||
count++
|
||||
return nil
|
||||
}); err != nil {
|
||||
log.WithError(err).Error("error scanning")
|
||||
}
|
||||
|
||||
return count
|
||||
}
|
||||
|
||||
func (bs *BitcaskStore) SearchFeeds(prefix string) []string {
|
||||
var keys []string
|
||||
|
||||
if err := bs.db.Scan([]byte(feedsKeyPrefix), func(key []byte) error {
|
||||
if strings.HasPrefix(strings.ToLower(string(key)), prefix) {
|
||||
keys = append(keys, strings.TrimPrefix(string(key), "/feeds/"))
|
||||
}
|
||||
return nil
|
||||
}); err != nil {
|
||||
log.WithError(err).Error("error scanning")
|
||||
}
|
||||
|
||||
return keys
|
||||
}
|
||||
|
||||
func (bs *BitcaskStore) GetAllFeeds() ([]*Feed, error) {
|
||||
var feeds []*Feed
|
||||
|
||||
err := bs.db.Scan([]byte(feedsKeyPrefix), func(key []byte) error {
|
||||
data, err := bs.db.Get(key)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
feed, err := LoadFeed(data)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
feeds = append(feeds, feed)
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return feeds, nil
|
||||
}
|
||||
|
||||
func (bs *BitcaskStore) HasUser(username string) bool {
|
||||
key := []byte(fmt.Sprintf("%s/%s", usersKeyPrefix, username))
|
||||
return bs.db.Has(key)
|
||||
|
||||
Reference in New Issue
Block a user