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
}
