filters

package module
v1.0.4 Latest Latest
Warning

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

Go to latest
Published: Mar 24, 2022 License: MIT Imports: 9 Imported by: 0

README

filters

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BeetweenString

func BeetweenString(value string, a string, b string) string

BeetweenString func

func CountLengthIface

func CountLengthIface(data interface{}) int

CountLengthIface func

func CountRecordsData

func CountRecordsData(CustomFilters, pageFilters, pageSearch, columnFilter string, model *gorm.DB) int

CountRecordsData func

func CreateCustomFilters

func CreateCustomFilters(pageFilters, pageSearch, columnFilter, pageSort string) (string, []interface{}, string, []interface{}, string)

CreateCustomFilters func => Example => filters=["age", "not in", [20,21] ] -> pageFilters := [["id","=","6"],["AND"],["status_transaction","=","waiting"],["AND"],["business_id","=","10"]] -> pageSearch := "value" -> columnFilters := ["trx_id","id"] -> pageSort := - Sort ascending example : sort=column_name - Sort descending example : sort=-column_name - Sort multiple example : sort=-fist_column,second_column

func CreateWhereCause

func CreateWhereCause(filter QueryFilter, queryFilters *[]string, whereParams *[]interface{})

CreateWhereCause func

func HasPages

func HasPages(totalPages int) bool

HasPages func

func NormalizeFieldName

func NormalizeFieldName(field string) string

NormalizeFieldName func

func NormalizeParam

func NormalizeParam(Param string) string

NormalizeParam func

func Paginates

func Paginates(totalPages int) []int

Paginates func

func SetFilterValue

func SetFilterValue(item *FilterItem, a interface{})

SetFilterValue func

func StringToJson

func StringToJson(value string) interface{}

StringToJson func

Types

type FilterItem

type FilterItem struct {
	Field     string
	Operator  string
	Value     interface{}
	ValueType string
}

FilterItem struct

type PageModel

type PageModel struct {
	Items                interface{} `json:"items"` // (Optional)
	Page                 int         `json:"page"`
	PrevPage             int         `json:"prev_page"`
	NextPage             int         `json:"next_page"`
	PostsPerPage         int         `json:"size"`
	CurrentParam         string      `json:"current_param"`
	First                bool        `json:"first"` // (Optional)
	Last                 bool        `json:"last"`
	HasPages             bool        `json:"hasPages"`
	Paginates            []int       `json:"paginates"`
	TotalPages           float64     `json:"totalPages,omitempty"` // (Optional) Total data shows
	TotalVisible         int         `json:"total,omitempty"`      // Total real data
	TotalRecordsFiltered int         `json:"visible,omitempty"`    // (Optional) Total records filter
	Additional           interface{} `json:"additional,omitempty"` // (Optional)
	Summary              interface{} `json:"summary,omitempty"`    // (Optional)
}

PageModel struct

func GeneratePagination

func GeneratePagination(pageNumber, pageSize, TotalVisible int, CurrentParam []byte, Items interface{}) *PageModel

GeneratePagination func

type QueryFilter

type QueryFilter struct {
	Item FilterItem
	Type string
}

QueryFilter struct

func CreateFilter

func CreateFilter(jsonParams string) []QueryFilter

CreateFilter func

Jump to

Keyboard shortcuts

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