28 lines
419 B
Go
28 lines
419 B
Go
package helpers
|
|
|
|
type Pagination struct {
|
|
Page int
|
|
PerPage int
|
|
Total int
|
|
}
|
|
|
|
func (p Pagination) Offset() int {
|
|
return (p.Page - 1) * p.PerPage
|
|
}
|
|
|
|
func (p Pagination) TotalPages() int {
|
|
pages := (p.Total + p.PerPage - 1) / p.PerPage
|
|
if pages < 1 {
|
|
return 1
|
|
}
|
|
return pages
|
|
}
|
|
|
|
func (p Pagination) HasNext() bool {
|
|
return p.Page < p.TotalPages()
|
|
}
|
|
|
|
func (p Pagination) HasPrev() bool {
|
|
return p.Page > 1
|
|
}
|