Documentation ¶
Index ¶
- Variables
- type DisplayValue
- type Fragment
- type LogicalOperator
- type OrderBy
- type OrderDirection
- type PageIterator
- type PageResult
- type Query
- func (q *Query) AddBetween(field string, start, end interface{}) *Query
- func (q *Query) AddContains(field string, value interface{}) *Query
- func (q *Query) AddEndsWith(field string, value interface{}) *Query
- func (q *Query) AddEqual(field string, value interface{}) *Query
- func (q *Query) AddFragment(fragment *Fragment, operator LogicalOperator) *Query
- func (q *Query) AddGreaterThan(field string, value interface{}) *Query
- func (q *Query) AddIsDifferent(startField, endField string) *Query
- func (q *Query) AddIsSame(startField, endField string) *Query
- func (q *Query) AddLessThan(field string, value interface{}) *Query
- func (q *Query) AddNotContains(field string, value interface{}) *Query
- func (q *Query) AddNotEqual(field string, value interface{}) *Query
- func (q *Query) AddOrContains(field string, value interface{}) *Query
- func (q *Query) AddOrEqual(field string, value interface{}) *Query
- func (q *Query) AddOrGreaterThan(field string, value interface{}) *Query
- func (q *Query) AddOrLessThan(field string, value interface{}) *Query
- func (q *Query) AddOrNotContains(field string, value interface{}) *Query
- func (q *Query) AddOrNotEqual(field string, value interface{}) *Query
- func (q *Query) AddOrQuery(field string, operator RelationalOperator, value interface{}) *Query
- func (q *Query) AddOrderBy(field string) *Query
- func (q *Query) AddOrderByDesc(field string) *Query
- func (q *Query) AddQuery(field string, operator RelationalOperator, value interface{}) *Query
- func (q *Query) AddStartsWith(field string, value interface{}) *Query
- func (q *Query) Encoded() string
- func (q *Query) IsEmpty(field string) *Query
- func (q *Query) String() string
- type RelationalOperator
- type TableCollectionResponse
- type TableEntry
- type TableItemRequestBuilder
- func (rB *TableItemRequestBuilder) Delete(params *TableItemRequestBuilderDeleteQueryParameters) error
- func (rB *TableItemRequestBuilder) Get(params *TableItemRequestBuilderGetQueryParameters) (*TableItemResponse, error)
- func (rB *TableItemRequestBuilder) Put(tableEntry map[string]string, ...) (*TableItemResponse, error)
- type TableItemRequestBuilderDeleteQueryParameters
- type TableItemRequestBuilderGetQueryParameters
- type TableItemRequestBuilderPutQueryParameters
- type TableItemResponse
- type TableRequestBuilder
- func (T *TableRequestBuilder) ById(sysId string) *TableItemRequestBuilder
- func (T *TableRequestBuilder) Count() (int, error)
- func (rB *TableRequestBuilder) Get(params *TableRequestBuilderGetQueryParameters) (*TableCollectionResponse, error)
- func (rB *TableRequestBuilder) Post(data map[string]string, params *TableRequestBuilderPostQueryParamters) (*TableItemResponse, error)
- type TableRequestBuilderGetQueryParameters
- type TableRequestBuilderPostQueryParamters
- type TableResponse
- type TableValue
- type View
Constants ¶
This section is empty.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type DisplayValue ¶
type DisplayValue string
const ( TRUE DisplayValue = "true" FALSE DisplayValue = "false" ALL DisplayValue = "all" )
type Fragment ¶ added in v1.1.0
type Fragment struct { // Field represents the field on which the condition is applied. Field string // RelationalOperator represents the comparison operator for the condition. RelationalOperator RelationalOperator // Value represents the value to compare against. Value interface{} // LogicalOperator represents the operator connection to the next fragment LogicalOperator LogicalOperator // contains filtered or unexported fields }
Fragment represents a query fragment with a field, operator, and value.
func NewFragment ¶ added in v1.1.0
func NewFragment(field string, operator RelationalOperator, value interface{}) *Fragment
NewFragment creates a new query fragment with the specified field, operator, and value.
func (*Fragment) SetNext ¶ added in v1.1.0
func (f *Fragment) SetNext(fragment *Fragment, operator LogicalOperator)
SetNext sets the next and Logical Operator value
type LogicalOperator ¶ added in v1.1.0
type LogicalOperator string
const ( And LogicalOperator = "^" Or LogicalOperator = "^OR" )
type OrderBy ¶ added in v1.1.0
type OrderBy struct { Direction OrderDirection Field string }
OrderBy represents an order-by clause.
func NewOrderBy ¶ added in v1.1.0
func NewOrderBy() *OrderBy
type OrderDirection ¶ added in v1.1.0
type OrderDirection string
OrderDirection represents the order direction for sorting.
const ( Unset OrderDirection = "" Asc OrderDirection = "^ORDERBY" Desc OrderDirection = "^ORDERBYDESC" )
type PageIterator ¶
type PageIterator struct {
// contains filtered or unexported fields
}
PageIterator represents an iterator for paginated results from a table.
func NewPageIterator ¶
func NewPageIterator(currentPage interface{}, client core.Client) (*PageIterator, error)
NewPageIterator creates a new PageIterator instance.
func (*PageIterator) Iterate ¶
func (p *PageIterator) Iterate(callback func(pageItem *TableEntry) bool) error
Iterate iterates through pages and invokes the provided callback for each page item.
type PageResult ¶
type PageResult struct { Result []*TableEntry NextPageLink string PreviousPageLink string FirstPageLink string LastPageLink string }
PageResult represents a single page of results from a table.
type Query ¶ added in v1.1.0
type Query struct {
// contains filtered or unexported fields
}
Query represents a ServiceNow query and its conditions.
func NewQuery ¶ added in v1.1.0
func NewQuery() *Query
NewQuery returns a new Query with no conditions.
func (*Query) AddBetween ¶ added in v1.1.0
AddBetween adds a between condition to the query.
func (*Query) AddContains ¶ added in v1.1.0
AddContains adds a contains condition to the query.
func (*Query) AddEndsWith ¶ added in v1.1.0
AddEndsWith adds an ends-with condition to the query.
func (*Query) AddFragment ¶ added in v1.1.0
func (q *Query) AddFragment(fragment *Fragment, operator LogicalOperator) *Query
func (*Query) AddGreaterThan ¶ added in v1.1.0
AddGreaterThan adds a greater-than condition to the query.
func (*Query) AddIsDifferent ¶ added in v1.1.0
AddIsDifferent adds a condition to check if two fields are different.
func (*Query) AddIsSame ¶ added in v1.1.0
AddIsSame adds a condition to check if two fields are the same.
func (*Query) AddLessThan ¶ added in v1.1.0
AddLessThan adds a less-than condition to the query.
func (*Query) AddNotContains ¶ added in v1.1.0
AddNotContains adds a not-contains condition to the query.
func (*Query) AddNotEqual ¶ added in v1.1.0
AddNotEqual adds a not-equal condition to the query.
func (*Query) AddOrContains ¶ added in v1.1.0
AddOrContains adds an "OR" contains condition to the query.
func (*Query) AddOrEqual ¶ added in v1.1.0
AddOrEqual adds an "OR" equality condition to the query.
func (*Query) AddOrGreaterThan ¶ added in v1.1.0
AddOrGreaterThan adds an "OR" greater-than condition to the query.
func (*Query) AddOrLessThan ¶ added in v1.1.0
AddOrLessThan adds an "OR" less-than condition to the query.
func (*Query) AddOrNotContains ¶ added in v1.1.0
AddOrNotContains adds an "OR" not-contains condition to the query.
func (*Query) AddOrNotEqual ¶ added in v1.1.0
AddOrNotEqual adds an "OR" not-equal condition to the query.
func (*Query) AddOrQuery ¶ added in v1.1.0
func (q *Query) AddOrQuery(field string, operator RelationalOperator, value interface{}) *Query
AddOrQuery adds an "OR" query condition to the query.
func (*Query) AddOrderBy ¶ added in v1.1.0
AddOrderBy sets the order-by field in ascending order.
func (*Query) AddOrderByDesc ¶ added in v1.1.0
AddOrderByDesc sets the order-by field in descending order.
func (*Query) AddQuery ¶ added in v1.1.0
func (q *Query) AddQuery(field string, operator RelationalOperator, value interface{}) *Query
AddQuery adds a query condition to the query.
func (*Query) AddStartsWith ¶ added in v1.1.0
AddStartsWith adds a starts-with condition to the query.
type RelationalOperator ¶ added in v1.1.0
type RelationalOperator string
const ( Null RelationalOperator = "" Is RelationalOperator = "=" IsNot RelationalOperator = "!=" GreaterThan RelationalOperator = ">" GreaterOrEqual RelationalOperator = ">=" LessThan RelationalOperator = "<" LessOrEqual RelationalOperator = "<=" Contains RelationalOperator = "CONTAINS" NotContains RelationalOperator = "!CONTAINS" StartsWith RelationalOperator = "STARTSWITH" EndsWith RelationalOperator = "ENDSWITH" Between RelationalOperator = "BETWEEN" IsSame RelationalOperator = "SAMEAS" IsDifferent RelationalOperator = "NSAMEAS" IsEmpty RelationalOperator = "ISEMPTY" )
type TableCollectionResponse ¶
type TableCollectionResponse struct { Result []*TableEntry NextPageLink string PreviousPageLink string FirstPageLink string LastPageLink string }
func (*TableCollectionResponse) ParseHeaders ¶ added in v1.1.0
func (cR *TableCollectionResponse) ParseHeaders(headers http.Header)
type TableEntry ¶
type TableEntry map[string]interface{}
func (TableEntry) Value ¶
func (tE TableEntry) Value(key string) *TableValue
type TableItemRequestBuilder ¶
type TableItemRequestBuilder struct {
core.RequestBuilder
}
func NewTableItemRequestBuilder ¶
func NewTableItemRequestBuilder(client core.Client, pathParameters map[string]string) *TableItemRequestBuilder
NewTableItemRequestBuilder creates a new instance of the TableItemRequestBuilder associated with the given URL and Client. It accepts the URL and Client as parameters and returns a pointer to the created TableItemRequestBuilder.
func (*TableItemRequestBuilder) Delete ¶
func (rB *TableItemRequestBuilder) Delete(params *TableItemRequestBuilderDeleteQueryParameters) error
Delete sends an HTTP DELETE request using the specified query parameters and returns an error if the request or response encounters any issues.
Parameters:
- params: An instance of TableItemRequestBuilderDeleteQueryParameters to include in the DELETE request.
Returns:
- error: An error if there was an issue with the request or response, or nil if the request was successful.
func (*TableItemRequestBuilder) Get ¶
func (rB *TableItemRequestBuilder) Get(params *TableItemRequestBuilderGetQueryParameters) (*TableItemResponse, error)
Get sends an HTTP GET request using the specified query parameters and returns a TableItemResponse.
Parameters:
- params: An instance of TableItemRequestBuilderGetQueryParameters to include in the GET request.
Returns:
- *TableItemResponse: The response data as a TableItemResponse.
- error: An error if there was an issue with the request or response.
func (*TableItemRequestBuilder) Put ¶
func (rB *TableItemRequestBuilder) Put(tableEntry map[string]string, params *TableItemRequestBuilderPutQueryParameters) (*TableItemResponse, error)
Put updates a table item using an HTTP PUT request. It takes a map of table entry data and optional query parameters to send in the request. The method returns a TableItemResponse representing the updated item or an error if the request fails.
Parameters:
- tableEntry: A map containing the data to update the table item.
- params: An optional pointer to TableItemRequestBuilderPutQueryParameters, which can be used to specify query parameters for the request.
Returns:
- *TableItemResponse: A TableItemResponse containing the updated item data.
- error: An error, if the request fails at any point, such as request information creation or JSON deserialization.
type TableItemRequestBuilderDeleteQueryParameters ¶
type TableItemRequestBuilderDeleteQueryParameters struct { //Flag that indicates whether to restrict the record search to only the domains for which the logged in user is configured. // //Valid values: // //- false: Exclude the record if it is in a domain that the currently logged in user is not configured to access. // //- true: Include the record even if it is in a domain that the currently logged in user is not configured to access. QueryNoDomain bool `query:"sysparm_query_no_domain"` }
type TableItemRequestBuilderGetQueryParameters ¶
type TableItemRequestBuilderGetQueryParameters struct { //Determines the type of data returned, either the actual values from the database or the display values of the fields. //Display values are manipulated based on the actual value in the database and user or system settings and preferences. //If returning display values, the value that is returned is dependent on the field type. //- Choice fields: The database value may be a number, but the display value will be more descriptive. // //- Date fields: The database value is in UTC format, while the display value is based on the user's time zone. // //- Encrypted text: The database value is encrypted, while the displayed value is unencrypted based on the user's encryption context. // //- Reference fields: The database value is sys_id, but the display value is a display field of the referenced record. DisplayValue DisplayValue `query:"sysparm_display_value"` //Flag that indicates whether to exclude Table API links for reference fields. // //Valid values: // //- true: Exclude Table API links for reference fields. // //- false: Include Table API links for reference fields. ExcludeReferenceLink bool `query:"sysparm_exclude_reference_link"` //list of fields to return in the response. Fields []string `query:"sysparm_fields"` //Flag that indicates whether to restrict the record search to only the domains for which the logged in user is configured. // //Valid values: // //- false: Exclude the record if it is in a domain that the currently logged in user is not configured to access. // //- true: Include the record even if it is in a domain that the currently logged in user is not configured to access. QueryNoDomain bool `query:"sysparm_query_no_domain"` // UI view for which to render the data. Determines the fields returned in the response. // //Valid values: // //- desktop //- mobile //- both //If you also specify the sysparm_fields parameter, it takes precedent. View View `query:"sysparm_view"` }
type TableItemRequestBuilderPutQueryParameters ¶
type TableItemRequestBuilderPutQueryParameters struct { DisplayValue DisplayValue `query:"sysparm_display_value"` ExcludeReferenceLink bool `query:"sysparm_exclude_reference_link"` Fields []string `query:"sysparm_fields"` InputDisplayValue bool `query:"sysparm_input_display_value"` QueryNoDomain bool `query:"sysparm_query_no_domain"` View View `query:"sysparm_view"` }
type TableItemResponse ¶
type TableItemResponse struct {
Result *TableEntry
}
func (*TableItemResponse) ParseHeaders ¶ added in v1.1.0
func (iR *TableItemResponse) ParseHeaders(headers http.Header)
type TableRequestBuilder ¶
type TableRequestBuilder struct {
core.RequestBuilder
}
func NewTableRequestBuilder ¶
func NewTableRequestBuilder(client core.Client, pathParameters map[string]string) *TableRequestBuilder
NewTableRequestBuilder creates a new instance of the TableRequestBuilder associated with the given URL and Client. It accepts the URL and Client as parameters and returns a pointer to the created TableRequestBuilder.
func (*TableRequestBuilder) ById ¶
func (T *TableRequestBuilder) ById(sysId string) *TableItemRequestBuilder
ById returns a TableItemRequestBuilder for a specific record in the table. It accepts the sysId of the record as a parameter and constructs the URL for the record. The returned TableItemRequestBuilder can be used to build and execute requests for the specific record.
func (*TableRequestBuilder) Count ¶
func (T *TableRequestBuilder) Count() (int, error)
Count sends an HTTP HEAD request and retrieves the value of "X-Total-Count" from the response header, which represents the count of items.
Returns:
- int: The count of items.
- error: An error if there was an issue with the request or response.
func (*TableRequestBuilder) Get ¶
func (rB *TableRequestBuilder) Get(params *TableRequestBuilderGetQueryParameters) (*TableCollectionResponse, error)
Get sends an HTTP GET request using the specified query parameters and returns a TableCollectionResponse.
Parameters:
- params: An instance of TableRequestBuilderGetQueryParameters to include in the GET request.
Returns:
- *TableCollectionResponse: The response data as a TableCollectionResponse.
- error: An error if there was an issue with the request or response.
func (*TableRequestBuilder) Post ¶
func (rB *TableRequestBuilder) Post(data map[string]string, params *TableRequestBuilderPostQueryParamters) (*TableItemResponse, error)
Post sends an HTTP Post request with the provided data and query parameters and returns a TableResponse.
Parameters:
- data: A map[string]string representing data to be included in the request body.
- params: An instance of TableRequestBuilderPostQueryParamters for query parameters.
Returns:
- *TableResponse: The response data as a TableResponse.
- error: An error if there was an issue with the request or response.
type TableRequestBuilderGetQueryParameters ¶
type TableRequestBuilderGetQueryParameters struct { //Determines the type of data returned, either the actual values from the database or the display values of the fields. //Display values are manipulated based on the actual value in the database and user or system settings and preferences. //If returning display values, the value that is returned is dependent on the field type. //- Choice fields: The database value may be a number, but the display value will be more descriptive. // //- Date fields: The database value is in UTC format, while the display value is based on the user's time zone. // //- Encrypted text: The database value is encrypted, while the displayed value is unencrypted based on the user's encryption context. // //- Reference fields: The database value is sys_id, but the display value is a display field of the referenced record. DisplayValue DisplayValue `query:"sysparm_display_value"` //Flag that indicates whether to exclude Table API links for reference fields. // //Valid values: // //- true: Exclude Table API links for reference fields. // //- false: Include Table API links for reference fields. ExcludeReferenceLink bool `query:"sysparm_exclude_reference_link"` //list of fields to return in the response. Fields []string `query:"sysparm_fields"` //Flag that indicates whether to restrict the record search to only the domains for which the logged in user is configured. // //Valid values: // //- false: Exclude the record if it is in a domain that the currently logged in user is not configured to access. // //- true: Include the record even if it is in a domain that the currently logged in user is not configured to access. QueryNoDomain bool `query:"sysparm_query_no_domain"` // UI view for which to render the data. Determines the fields returned in the response. // //Valid values: // //- desktop //- mobile //- both //If you also specify the sysparm_fields parameter, it takes precedent. View View `query:"sysparm_view"` Limit int `query:"sysparm_limit"` NoCount bool `query:"sysparm_no_count"` Offset int `query:"sysparm_offset"` Query string `query:"sysparm_query"` QueryCategory string `query:"sysparm_query_category"` SuppressPaginationHeader bool `uriparameter:"sysparm_suppress_pagination_header"` }
type TableRequestBuilderPostQueryParamters ¶
type TableRequestBuilderPostQueryParamters struct { //Determines the type of data returned, either the actual values from the database or the display values of the fields. //Display values are manipulated based on the actual value in the database and user or system settings and preferences. //If returning display values, the value that is returned is dependent on the field type. //- Choice fields: The database value may be a number, but the display value will be more descriptive. // //- Date fields: The database value is in UTC format, while the display value is based on the user's time zone. // //- Encrypted text: The database value is encrypted, while the displayed value is unencrypted based on the user's encryption context. // //- Reference fields: The database value is sys_id, but the display value is a display field of the referenced record. DisplayValue DisplayValue `query:"sysparm_display_value"` //Flag that indicates whether to exclude Table API links for reference fields. // //Valid values: // //- true: Exclude Table API links for reference fields. // //- false: Include Table API links for reference fields. ExcludeReferenceLink bool `query:"sysparm_exclude_reference_link"` //list of fields to return in the response. Fields []string `query:"sysparm_fields"` InputDisplayValue bool `query:"sysparm_input_display_value"` // UI view for which to render the data. Determines the fields returned in the response. // //Valid values: // //- desktop //- mobile //- both //If you also specify the sysparm_fields parameter, it takes precedent. View View `query:"sysparm_view"` }
type TableResponse ¶
type TableResponse struct {
Result TableEntry
}
type TableValue ¶
type TableValue struct {
// contains filtered or unexported fields
}
func (*TableValue) GetType ¶
func (tV *TableValue) GetType() reflect.Type
func (*TableValue) ToBool ¶
func (tV *TableValue) ToBool() (bool, error)
func (*TableValue) ToFloat64 ¶
func (tV *TableValue) ToFloat64() (float64, error)
func (*TableValue) ToInt64 ¶
func (tV *TableValue) ToInt64() (int64, error)
func (*TableValue) ToString ¶
func (tV *TableValue) ToString() (string, error)
Source Files ¶
- display_value.go
- fragment.go
- helper.go
- logical_operator.go
- order_by.go
- order_direction.go
- page_iterator.go
- page_result.go
- query.go
- relational_operator.go
- table_collection_response.go
- table_entry.go
- table_item_request_builder.go
- table_item_request_builder_delete_query_parameters.go
- table_item_request_builder_get_query_parameters.go
- table_item_request_builder_put_query_parameters.go
- table_item_response.go
- table_request_builder.go
- table_request_builder_get_query_parameters.go
- table_request_builder_post_query_paramters.go
- table_response.go
- table_value.go
- view.go