add rpdata-dump command.
This commit is contained in:
@@ -11,6 +11,8 @@ import (
|
||||
"github.com/globalsign/mgo"
|
||||
)
|
||||
|
||||
var DisableFixes bool
|
||||
|
||||
type MongoDB struct {
|
||||
session *mgo.Session
|
||||
|
||||
@@ -169,7 +171,9 @@ func Init(cfg config.Database) (*MongoDB, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
go posts.fixPositions(logs)
|
||||
if !DisableFixes {
|
||||
go posts.fixPositions(logs)
|
||||
}
|
||||
|
||||
return &MongoDB{
|
||||
session: session,
|
||||
|
||||
@@ -91,7 +91,12 @@ func (r *postRepository) List(ctx context.Context, filter models.PostFilter) ([]
|
||||
}
|
||||
|
||||
posts := make([]*models.Post, 0, 32)
|
||||
err := r.posts.Find(query).Sort("-logId", "position").Limit(filter.Limit).All(&posts)
|
||||
var err error
|
||||
if filter.LogID != nil {
|
||||
err = r.posts.Find(query).Sort("position").Limit(filter.Limit).All(&posts)
|
||||
} else {
|
||||
err = r.posts.Find(query).Limit(filter.Limit).All(&posts)
|
||||
}
|
||||
if err != nil {
|
||||
if err == mgo.ErrNotFound {
|
||||
return []*models.Post{}, nil
|
||||
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
"git.aiterp.net/rpdata/api/models"
|
||||
"git.aiterp.net/rpdata/api/repositories"
|
||||
"github.com/globalsign/mgo"
|
||||
"github.com/globalsign/mgo/bson"
|
||||
)
|
||||
|
||||
type userRepository struct {
|
||||
@@ -31,6 +32,16 @@ func (r *userRepository) Find(ctx context.Context, id string) (*models.User, err
|
||||
return user, nil
|
||||
}
|
||||
|
||||
func (r *userRepository) List(ctx context.Context) ([]*models.User, error) {
|
||||
users := make([]*models.User, 0, 8)
|
||||
err := r.users.Find(bson.M{}).All(&users)
|
||||
if err != nil && err != mgo.ErrNotFound {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return users, nil
|
||||
}
|
||||
|
||||
func (r *userRepository) Insert(ctx context.Context, user models.User) (*models.User, error) {
|
||||
err := r.users.Insert(user)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user