github.com/tickoalcantara12/micro/v3@v3.0.0-20221007104245-9d75b9bcbab9/service/model/query.go (about) 1 package model 2 3 type Query struct { 4 Index 5 Order Order 6 Value interface{} 7 Offset int64 8 Limit int64 9 } 10 11 // Equals is an equality query by `fieldName` 12 // It filters records where `fieldName` equals to a value. 13 func QueryEquals(fieldName string, value interface{}) Query { 14 return Query{ 15 Index: Index{ 16 Type: queryTypeEq, 17 FieldName: fieldName, 18 Order: Order{ 19 FieldName: fieldName, 20 Type: OrderTypeAsc, 21 }, 22 }, 23 Value: value, 24 Order: Order{ 25 FieldName: fieldName, 26 Type: OrderTypeAsc, 27 }, 28 } 29 } 30 31 func QueryAll() Query { 32 return Query{ 33 Index: Index{ 34 Type: queryTypeAll, 35 FieldName: "ID", 36 }, 37 } 38 } 39 40 // QueryByID is short hand for querying by the primary index 41 func QueryByID(id string) Query { 42 return QueryEquals("ID", id) 43 }