github.com/kyma-incubator/compass/components/director@v0.0.0-20230623144113-d764f56ff805/internal/repo/order_by.go (about) 1 package repo 2 3 // OrderByDir is a type encapsulating the ORDER BY direction 4 type OrderByDir string 5 6 const ( 7 // AscOrderBy defines ascending order 8 AscOrderBy OrderByDir = "ASC" 9 // DescOrderBy defines descending order 10 DescOrderBy OrderByDir = "DESC" 11 ) 12 13 // OrderBy type that wraps the information about the ordering column and direction 14 type OrderBy struct { 15 Field string 16 Dir OrderByDir 17 } 18 19 // NewAscOrderBy returns wrapping type for ascending order for a given column (field) 20 func NewAscOrderBy(field string) OrderBy { 21 return OrderBy{ 22 Field: field, 23 Dir: AscOrderBy, 24 } 25 } 26 27 // NewDescOrderBy returns wrapping type for descending ordered for a given column (field) 28 func NewDescOrderBy(field string) OrderBy { 29 return OrderBy{ 30 Field: field, 31 Dir: DescOrderBy, 32 } 33 } 34 35 // OrderByParams is a wrapping type for slice of OrderBy types 36 type OrderByParams []OrderBy 37 38 // NoOrderBy represents default ordering (no order specified) 39 var NoOrderBy = OrderByParams{}