* refactor(api): refactor HTTP API to version 2 * refactor: remove forced site_origin check * refactor: update http client * fix * add more api description and error code * reduce nestings in response structures * separate unread * refactor(api/comments): get comments * refactor: frontend api module * chore: remove vite temporary file * chore: restore swagger file * update * 移除为管理员分配站点名的站点隔离功能,简化实现 * refactor pagesAllFetch * fix ci * remove useless codes * limiter protected paths * add test for version endpoint * rename handler code files * code file separate * fix some bug of interacting with backend * add fetch error class for handling * fix and rename * refactor: checker support both `Promise` and callback fn * fix new checker captcha iframe url * rename and add swagger id field * replace tab with spaces in go comment * chore: refine * complete the validate tag for request fields and enable `--defaultRequired` 90% of the request fields of our API are required,100% of response fields in our API are required. Each field add validate:"required" is easy to miss. * replace original api client with auto-generated codes * artalk pkg apply new api client * artalk-sidebar pkg apply new api client * fix issues * fix sidebar locale conf and refactor user login * fix and refactor captcha and limiter * fix ui testing * add script to build http client by swagger.json
23 lines
340 B
Go
23 lines
340 B
Go
package handler
|
|
|
|
import "gorm.io/gorm"
|
|
|
|
type Map = map[string]interface{}
|
|
|
|
// 分页
|
|
func Paginate(offset int, limit int) func(db *gorm.DB) *gorm.DB {
|
|
if offset < 0 {
|
|
offset = 0
|
|
}
|
|
|
|
if limit > 100 {
|
|
limit = 100
|
|
} else if limit <= 0 {
|
|
limit = 15
|
|
}
|
|
|
|
return func(db *gorm.DB) *gorm.DB {
|
|
return db.Offset(offset).Limit(limit)
|
|
}
|
|
}
|