tableapi

package
v1.0.0-preview20231104... Latest Latest
Warning

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

Go to latest
Published: Nov 3, 2023 License: MIT Imports: 9 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNilClient         = errors.New("client can't be nil")
	ErrNilResponse       = errors.New("response can't be nil")
	ErrNilResult         = errors.New("result property missing in response object")
	ErrWrongResponseType = errors.New("incorrect Response Type")
)

Functions

This section is empty.

Types

type DisplayValue

type DisplayValue string
const (
	TRUE  DisplayValue = "true"
	FALSE DisplayValue = "false"
	ALL   DisplayValue = "all"
)

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 TableCollectionResponse

type TableCollectionResponse struct {
	Result           []*TableEntry
	NextPageLink     string
	PreviousPageLink string
	FirstPageLink    string
	LastPageLink     string
}

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

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

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

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
}

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

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

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

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)

type View

type View string
const (
	DESKTOP View = "desktop"
	MOBILE  View = "mobile"
	BOTH    View = "both"
)

Jump to

Keyboard shortcuts

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