2020-10-25 23:16:41 +08:00

42 lines
619 B
Go

package clauses
type Sort int8
const (
SortNone Sort = 0
SortAscending Sort = 1
SortDescending Sort = 2
)
type Order struct {
column string
sort Sort
}
func (o *Order) GetColumn() string {
return o.column
}
func (o *Order) GetSort() Sort {
return o.sort
}
func ParseOrder(expressions ...string) []*Order {
var orders []*Order
for _, expression := range expressions {
sort := SortAscending
column := expression
if expression[0] == '-' {
sort = SortDescending
column = expression[1:]
}
orders = append(orders, &Order{
column: column,
sort: sort,
})
}
return orders
}