chore: baseline snapshot before moderation-strictness feature
Repo .git was damaged (refs/ missing, index truncated, object store near-empty). Repaired via git init (rebuilt refs), stale index preserved as .git/index.corrupt-20260910.bak, then full worktree committed as a rollback baseline.
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
// Copyright 2022 E99p1ant. All rights reserved.
|
||||
// Use of this source code is governed by a MIT-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package dbutil
|
||||
|
||||
var (
|
||||
DefaultPageSize = 20
|
||||
MaxDefaultPageSize = 100
|
||||
)
|
||||
|
||||
type Pagination struct {
|
||||
Page int
|
||||
PageSize int
|
||||
}
|
||||
|
||||
// LimitOffset returns LIMIT and OFFSET parameter for SQL.
|
||||
// The first page is page 0.
|
||||
func (p Pagination) LimitOffset() (limit, offset int) {
|
||||
page := p.Page
|
||||
pageSize := p.PageSize
|
||||
|
||||
if page <= 0 {
|
||||
page = 1
|
||||
}
|
||||
if pageSize < 1 {
|
||||
pageSize = DefaultPageSize
|
||||
}
|
||||
return pageSize, (page - 1) * pageSize
|
||||
}
|
||||
|
||||
type Cursor struct {
|
||||
Value interface{}
|
||||
PageSize int
|
||||
}
|
||||
|
||||
func (p Cursor) Limit() int {
|
||||
pageSize := p.PageSize
|
||||
if pageSize < 1 {
|
||||
pageSize = DefaultPageSize
|
||||
}
|
||||
if pageSize > MaxDefaultPageSize {
|
||||
pageSize = MaxDefaultPageSize
|
||||
}
|
||||
return pageSize
|
||||
}
|
||||
Reference in New Issue
Block a user