package store // PageFilter is the shared pagination query for list endpoints. type PageFilter struct { Page int `form:"page"` PageSize int `form:"page_size"` } // Normalize applies defaults: page=1, page_size=20. func (p *PageFilter) Normalize() { if p.Page <= 0 { p.Page = 1 } if p.PageSize <= 0 { p.PageSize = 20 } } // Offset returns the SQL OFFSET for the current page. func (p PageFilter) Offset() int { return (p.Page - 1) * p.PageSize }