MM-43780: Adjust getPostThread API for easier pagination (#20172)
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
b10ff1b1f7
Коммит
2315fcf05b
@@ -604,23 +604,34 @@ func (s *SqlPostStore) getPostWithCollapsedThreads(id, userID string, opts model
|
||||
query = query.OrderBy("CreateAt " + sort + ", Id " + sort)
|
||||
}
|
||||
|
||||
if opts.FromPost != "" && opts.FromCreateAt != 0 {
|
||||
if opts.FromCreateAt != 0 {
|
||||
if opts.Direction == "down" {
|
||||
query = query.Where(sq.Or{
|
||||
sq.Gt{"Posts.CreateAt": opts.FromCreateAt},
|
||||
sq.And{
|
||||
sq.Eq{"Posts.CreateAt": opts.FromCreateAt},
|
||||
sq.Gt{"Posts.Id": opts.FromPost},
|
||||
},
|
||||
})
|
||||
direction := sq.Gt{"Posts.CreateAt": opts.FromCreateAt}
|
||||
if opts.FromPost != "" {
|
||||
query = query.Where(sq.Or{
|
||||
direction,
|
||||
sq.And{
|
||||
sq.Eq{"Posts.CreateAt": opts.FromCreateAt},
|
||||
sq.Gt{"Posts.Id": opts.FromPost},
|
||||
},
|
||||
})
|
||||
} else {
|
||||
query = query.Where(direction)
|
||||
}
|
||||
} else {
|
||||
query = query.Where(sq.Or{
|
||||
sq.Lt{"Posts.CreateAt": opts.FromCreateAt},
|
||||
sq.And{
|
||||
sq.Eq{"Posts.CreateAt": opts.FromCreateAt},
|
||||
sq.Lt{"Posts.Id": opts.FromPost},
|
||||
},
|
||||
})
|
||||
direction := sq.Lt{"Posts.CreateAt": opts.FromCreateAt}
|
||||
if opts.FromPost != "" {
|
||||
query = query.Where(sq.Or{
|
||||
direction,
|
||||
sq.And{
|
||||
sq.Eq{"Posts.CreateAt": opts.FromCreateAt},
|
||||
sq.Lt{"Posts.Id": opts.FromPost},
|
||||
},
|
||||
})
|
||||
|
||||
} else {
|
||||
query = query.Where(direction)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -715,23 +726,34 @@ func (s *SqlPostStore) Get(ctx context.Context, id string, opts model.GetPostsOp
|
||||
query = query.OrderBy("CreateAt " + sort + ", Id " + sort)
|
||||
}
|
||||
|
||||
if opts.FromPost != "" && opts.FromCreateAt != 0 {
|
||||
if opts.FromCreateAt != 0 {
|
||||
if opts.Direction == "down" {
|
||||
query = query.Where(sq.Or{
|
||||
sq.Gt{"p.CreateAt": opts.FromCreateAt},
|
||||
sq.And{
|
||||
sq.Eq{"p.CreateAt": opts.FromCreateAt},
|
||||
sq.Gt{"p.Id": opts.FromPost},
|
||||
},
|
||||
})
|
||||
direction := sq.Gt{"p.CreateAt": opts.FromCreateAt}
|
||||
if opts.FromPost != "" {
|
||||
query = query.Where(sq.Or{
|
||||
direction,
|
||||
sq.And{
|
||||
sq.Eq{"p.CreateAt": opts.FromCreateAt},
|
||||
sq.Gt{"p.Id": opts.FromPost},
|
||||
},
|
||||
})
|
||||
} else {
|
||||
query = query.Where(direction)
|
||||
}
|
||||
} else {
|
||||
query = query.Where(sq.Or{
|
||||
sq.Lt{"p.CreateAt": opts.FromCreateAt},
|
||||
sq.And{
|
||||
sq.Eq{"p.CreateAt": opts.FromCreateAt},
|
||||
sq.Lt{"p.Id": opts.FromPost},
|
||||
},
|
||||
})
|
||||
direction := sq.Lt{"p.CreateAt": opts.FromCreateAt}
|
||||
if opts.FromPost != "" {
|
||||
query = query.Where(sq.Or{
|
||||
direction,
|
||||
sq.And{
|
||||
sq.Eq{"p.CreateAt": opts.FromCreateAt},
|
||||
sq.Lt{"p.Id": opts.FromPost},
|
||||
},
|
||||
})
|
||||
|
||||
} else {
|
||||
query = query.Where(direction)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user