paginate

package module
v0.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 12, 2023 License: MIT Imports: 6 Imported by: 0

README

GORM Paginate

GoDevDoc

Query Params

type DefaultPagination struct {
	Page   int               `query:"page" minimum:"1" default:"1"`
	Size   int               `query:"size" minimum:"1" default:"10"`
	Sort   string            `query:"sort" description:"1. asc: **id**\n2. desc: **-id**\n3. multi: **id,created_at**"`
	Search string            `query:"search"`
	Filter map[string]string `query:"filter" description:"1. Comparison Operators: **eq**, **ne**, **like**, **contain**, **gt**, **gte**, **lt**, **lte**, **in**\n2. Usage: \"field**[:op]**\":value"`
}

Filter

  1. Comparison Operators: eq, ne, like, contain, gt, gte, lt, lte, in
  2. Usage: "field[:op]":value

Sort

  1. asc: id
  2. desc: -id
  3. multi: id,created_at

Example

exmaples

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func OrderByScope added in v0.2.0

func OrderByScope(model any, sort string) func(db *gorm.DB) *gorm.DB

func Paginate

func Paginate[T any](db *gorm.DB, p Pagination, out *[]T, query ...func(db *gorm.DB) *gorm.DB) (int64, error)

Types

type DefaultPagination added in v0.4.0

type DefaultPagination struct {
	Page   int               `query:"page" minimum:"1" default:"1"`
	Size   int               `query:"size" minimum:"1" default:"10"`
	Sort   string            `query:"sort" description:"1. asc: **id**\n2. desc: **-id**\n3. multi: **id,created_at**"`
	Search string            `query:"search"`
	Filter map[string]string `` /* 169-byte string literal not displayed */
}

func (*DefaultPagination) GetFilter added in v0.4.0

func (p *DefaultPagination) GetFilter() map[string]string

func (*DefaultPagination) GetPage added in v0.4.0

func (p *DefaultPagination) GetPage() int

func (*DefaultPagination) GetSearch added in v0.4.0

func (p *DefaultPagination) GetSearch() string

func (*DefaultPagination) GetSize added in v0.4.0

func (p *DefaultPagination) GetSize() int

func (*DefaultPagination) GetSort added in v0.4.0

func (p *DefaultPagination) GetSort() string

func (*DefaultPagination) SetDefaultSort added in v0.4.0

func (p *DefaultPagination) SetDefaultSort(sort string) Pagination

type Pagination

type Pagination interface {
	GetPage() int
	GetSize() int
	GetSort() string
	GetSearch() string
	GetFilter() map[string]string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL