Documentation
¶
Index ¶
- type Operator
- type OrderDirection
- type QueryBuilder
- func ActiveRecords() *QueryBuilder
- func ByAssignedTo(userID string) *QueryBuilder
- func ByPriority(priority interface{}) *QueryBuilder
- func ByState(state interface{}) *QueryBuilder
- func InactiveRecords() *QueryBuilder
- func New() *QueryBuilder
- func RecentRecords(days int) *QueryBuilder
- func SearchText(searchTerm string, fields ...string) *QueryBuilder
- func UpdatedSince(date string) *QueryBuilder
- func (q *QueryBuilder) And() *QueryBuilder
- func (q *QueryBuilder) Between(field string, start, end interface{}) *QueryBuilder
- func (q *QueryBuilder) Build() map[string]string
- func (q *QueryBuilder) BuildQuery() string
- func (q *QueryBuilder) Clone() *QueryBuilder
- func (q *QueryBuilder) Contains(field string, value interface{}) *QueryBuilder
- func (q *QueryBuilder) EndsWith(field string, value interface{}) *QueryBuilder
- func (q *QueryBuilder) Equals(field string, value interface{}) *QueryBuilder
- func (q *QueryBuilder) Fields(fields ...string) *QueryBuilder
- func (q *QueryBuilder) GreaterThan(field string, value interface{}) *QueryBuilder
- func (q *QueryBuilder) In(field string, values []interface{}) *QueryBuilder
- func (q *QueryBuilder) IsEmpty(field string) *QueryBuilder
- func (q *QueryBuilder) IsNotEmpty(field string) *QueryBuilder
- func (q *QueryBuilder) LessThan(field string, value interface{}) *QueryBuilder
- func (q *QueryBuilder) Limit(limit int) *QueryBuilder
- func (q *QueryBuilder) NewQuery() *QueryBuilder
- func (q *QueryBuilder) Not() *QueryBuilder
- func (q *QueryBuilder) NotEquals(field string, value interface{}) *QueryBuilder
- func (q *QueryBuilder) NotIn(field string, values []interface{}) *QueryBuilder
- func (q *QueryBuilder) Offset(offset int) *QueryBuilder
- func (q *QueryBuilder) Or() *QueryBuilder
- func (q *QueryBuilder) OrderBy(field string, direction OrderDirection) *QueryBuilder
- func (q *QueryBuilder) OrderByAsc(field string) *QueryBuilder
- func (q *QueryBuilder) OrderByDesc(field string) *QueryBuilder
- func (q *QueryBuilder) Reset() *QueryBuilder
- func (q *QueryBuilder) StartsWith(field string, value interface{}) *QueryBuilder
- func (q *QueryBuilder) String() string
- func (q *QueryBuilder) Where(field string, operator Operator, value interface{}) *QueryBuilder
- type QuerySet
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Operator ¶
type Operator string
Operator represents query operators
const ( // Comparison operators OpEquals Operator = "=" OpNotEquals Operator = "!=" OpLessThan Operator = "<" OpLessThanOrEqual Operator = "<=" OpGreaterThan Operator = ">" OpGreaterThanOrEqual Operator = ">=" OpStartsWith Operator = "STARTSWITH" OpEndsWith Operator = "ENDSWITH" OpContains Operator = "CONTAINS" OpDoesNotContain Operator = "DOESNOTCONTAIN" OpIn Operator = "IN" OpNotIn Operator = "NOT IN" OpIsEmpty Operator = "ISEMPTY" OpIsNotEmpty Operator = "ISNOTEMPTY" OpBetween Operator = "BETWEEN" OpSameAs Operator = "SAMEAS" OpNotSameAs Operator = "NSAMEAS" OpLike Operator = "LIKE" OpNotLike Operator = "NOTLIKE" // Date/time operators OpOn Operator = "ON" OpNotOn Operator = "NOTON" OpAfter Operator = ">" OpBefore Operator = "<" OpToday Operator = "TODAY" OpYesterday Operator = "YESTERDAY" OpThisWeek Operator = "THISWEEK" OpLastWeek Operator = "LASTWEEK" OpThisMonth Operator = "THISMONTH" OpLastMonth Operator = "LASTMONTH" OpThisYear Operator = "THISYEAR" OpLastYear Operator = "LASTYEAR" // Logical operators OpAnd Operator = "^" OpOr Operator = "^OR" OpNot Operator = "^NOT" OpNewQuery Operator = "^NQ" )
type OrderDirection ¶
type OrderDirection string
OrderDirection represents sort order
const ( OrderAsc OrderDirection = "ASC" OrderDesc OrderDirection = "DESC" )
type QueryBuilder ¶
type QueryBuilder struct {
// contains filtered or unexported fields
}
QueryBuilder provides a fluent interface for building ServiceNow encoded queries
func ActiveRecords ¶
func ActiveRecords() *QueryBuilder
ActiveRecords creates a query for active records
func ByAssignedTo ¶
func ByAssignedTo(userID string) *QueryBuilder
ByAssignedTo creates a query for records assigned to specific user
func ByPriority ¶
func ByPriority(priority interface{}) *QueryBuilder
ByPriority creates a query for records with specific priority
func ByState ¶
func ByState(state interface{}) *QueryBuilder
ByState creates a query for records with specific state
func InactiveRecords ¶
func InactiveRecords() *QueryBuilder
InactiveRecords creates a query for inactive records
func RecentRecords ¶
func RecentRecords(days int) *QueryBuilder
RecentRecords creates a query for records created in the last N days
func SearchText ¶
func SearchText(searchTerm string, fields ...string) *QueryBuilder
SearchText creates a query that searches across multiple text fields
func UpdatedSince ¶
func UpdatedSince(date string) *QueryBuilder
UpdatedSince creates a query for records updated since a specific date
func (*QueryBuilder) And ¶
func (q *QueryBuilder) And() *QueryBuilder
And adds an AND operator (this is the default behavior)
func (*QueryBuilder) Between ¶
func (q *QueryBuilder) Between(field string, start, end interface{}) *QueryBuilder
Between checks if field value is between two values
func (*QueryBuilder) Build ¶
func (q *QueryBuilder) Build() map[string]string
Build constructs the final query parameters map
func (*QueryBuilder) BuildQuery ¶
func (q *QueryBuilder) BuildQuery() string
BuildQuery returns just the encoded query string
func (*QueryBuilder) Clone ¶
func (q *QueryBuilder) Clone() *QueryBuilder
Clone creates a copy of the query builder
func (*QueryBuilder) Contains ¶
func (q *QueryBuilder) Contains(field string, value interface{}) *QueryBuilder
Contains is a convenience method for contains comparison
func (*QueryBuilder) EndsWith ¶
func (q *QueryBuilder) EndsWith(field string, value interface{}) *QueryBuilder
EndsWith is a convenience method for ends with comparison
func (*QueryBuilder) Equals ¶
func (q *QueryBuilder) Equals(field string, value interface{}) *QueryBuilder
Equals is a convenience method for equality comparison
func (*QueryBuilder) Fields ¶
func (q *QueryBuilder) Fields(fields ...string) *QueryBuilder
Fields specifies which fields to return
func (*QueryBuilder) GreaterThan ¶
func (q *QueryBuilder) GreaterThan(field string, value interface{}) *QueryBuilder
GreaterThan is a convenience method for greater than comparison
func (*QueryBuilder) In ¶
func (q *QueryBuilder) In(field string, values []interface{}) *QueryBuilder
In checks if field value is in the provided list
func (*QueryBuilder) IsEmpty ¶
func (q *QueryBuilder) IsEmpty(field string) *QueryBuilder
IsEmpty checks if field is empty
func (*QueryBuilder) IsNotEmpty ¶
func (q *QueryBuilder) IsNotEmpty(field string) *QueryBuilder
IsNotEmpty checks if field is not empty
func (*QueryBuilder) LessThan ¶
func (q *QueryBuilder) LessThan(field string, value interface{}) *QueryBuilder
LessThan is a convenience method for less than comparison
func (*QueryBuilder) Limit ¶
func (q *QueryBuilder) Limit(limit int) *QueryBuilder
Limit sets the maximum number of records to return
func (*QueryBuilder) NewQuery ¶
func (q *QueryBuilder) NewQuery() *QueryBuilder
NewQuery starts a new query group
func (*QueryBuilder) NotEquals ¶
func (q *QueryBuilder) NotEquals(field string, value interface{}) *QueryBuilder
NotEquals is a convenience method for inequality comparison
func (*QueryBuilder) NotIn ¶
func (q *QueryBuilder) NotIn(field string, values []interface{}) *QueryBuilder
NotIn checks if field value is not in the provided list
func (*QueryBuilder) Offset ¶
func (q *QueryBuilder) Offset(offset int) *QueryBuilder
Offset sets the number of records to skip
func (*QueryBuilder) OrderBy ¶
func (q *QueryBuilder) OrderBy(field string, direction OrderDirection) *QueryBuilder
OrderBy adds ordering to the query
func (*QueryBuilder) OrderByAsc ¶
func (q *QueryBuilder) OrderByAsc(field string) *QueryBuilder
OrderByAsc adds ascending order
func (*QueryBuilder) OrderByDesc ¶
func (q *QueryBuilder) OrderByDesc(field string) *QueryBuilder
OrderByDesc adds descending order
func (*QueryBuilder) Reset ¶
func (q *QueryBuilder) Reset() *QueryBuilder
Reset clears all conditions and settings
func (*QueryBuilder) StartsWith ¶
func (q *QueryBuilder) StartsWith(field string, value interface{}) *QueryBuilder
StartsWith is a convenience method for starts with comparison
func (*QueryBuilder) String ¶
func (q *QueryBuilder) String() string
String returns a human-readable representation of the query
func (*QueryBuilder) Where ¶
func (q *QueryBuilder) Where(field string, operator Operator, value interface{}) *QueryBuilder
Where adds a basic condition to the query
type QuerySet ¶
type QuerySet struct {
// contains filtered or unexported fields
}
QuerySet provides a way to combine multiple queries
func (*QuerySet) Add ¶
func (qs *QuerySet) Add(query *QueryBuilder) *QuerySet
Add adds a query to the set
func (*QuerySet) Intersection ¶
func (qs *QuerySet) Intersection() *QueryBuilder
Intersection combines all queries with AND
func (*QuerySet) Union ¶
func (qs *QuerySet) Union() *QueryBuilder
Union combines all queries with OR