CartExtensionsSchema
extends AbstractSchema
in package
Class CartExtensionsSchema
Table of Contents
- EXTENDING_KEY = 'extensions'
- Extending key that gets added to endpoint.
- IDENTIFIER = 'cart-extensions'
- The schema item identifier.
- $cart_schema : CartSchema
- Cart schema instance.
- $controller : SchemaController
- Schema Controller instance.
- $extend : ExtendSchema
- Rest extend instance.
- $title : string
- The schema item name.
- __construct() : mixed
- Constructor.
- get_endpoint_args_for_item_schema() : array<string|int, mixed>
- Retrieves an array of endpoint arguments from the item schema for the controller.
- get_item_response() : array<string|int, mixed>
- Handle the request and return a valid response for this endpoint.
- get_item_schema() : array<string|int, mixed>
- Returns the full item schema.
- get_properties() : array<string|int, mixed>
- Cart extensions schema properties.
- get_public_item_schema() : array<string|int, mixed>
- Returns the public schema.
- force_schema_readonly() : array<string|int, mixed>
- Force all schema properties to be readonly.
- get_extended_data() : object
- Returns extended data for a specific endpoint.
- get_extended_schema() : array<string|int, mixed>
- Returns extended schema for a specific endpoint.
- get_item_responses_from_schema() : array<string|int, mixed>
- Apply a schema get_item_response callback to an array of items and return the result.
- get_recursive_sanitize_callback() : function
- Gets a function that sanitizes recursively.
- get_recursive_schema_property_defaults() : array<string|int, mixed>
- Gets an array of schema defaults recursively.
- get_recursive_validate_callback() : function
- Gets a function that validates recursively.
- get_store_currency_properties() : array<string|int, mixed>
- Returns consistent currency schema used across endpoints for prices.
- prepare_currency_response() : array<string|int, mixed>
- Adds currency data to an array of monetary values.
- prepare_html_response() : string|array<string|int, mixed>
- Prepares HTML based content, such as post titles and content, for the API response.
- prepare_money_response() : string
- Convert monetary values from WooCommerce to string based integers, using the smallest unit of a currency.
- remove_arg_options() : mixed
- Recursive removal of arg_options.
Constants
EXTENDING_KEY
Extending key that gets added to endpoint.
public
string
EXTENDING_KEY
= 'extensions'
IDENTIFIER
The schema item identifier.
public
string
IDENTIFIER
= 'cart-extensions'
Properties
$cart_schema
Cart schema instance.
public
CartSchema
$cart_schema
$controller
Schema Controller instance.
protected
SchemaController
$controller
$extend
Rest extend instance.
protected
ExtendSchema
$extend
$title
The schema item name.
protected
string
$title
= 'cart-extensions'
Methods
__construct()
Constructor.
public
__construct(ExtendSchema $extend, SchemaController $controller) : mixed
Parameters
- $extend : ExtendSchema
-
Rest Extending instance.
- $controller : SchemaController
-
Schema Controller instance.
Return values
mixed —get_endpoint_args_for_item_schema()
Retrieves an array of endpoint arguments from the item schema for the controller.
public
get_endpoint_args_for_item_schema([string $method = WP_REST_Server::CREATABLE ]) : array<string|int, mixed>
Parameters
- $method : string = WP_REST_Server::CREATABLE
-
Optional. HTTP method of the request.
Tags
Return values
array<string|int, mixed> — Endpoint arguments.get_item_response()
Handle the request and return a valid response for this endpoint.
public
get_item_response([WP_REST_Request $request = null ]) : array<string|int, mixed>
Parameters
- $request : WP_REST_Request = null
-
Request containing data for the extension callback.
Tags
Return values
array<string|int, mixed> —get_item_schema()
Returns the full item schema.
public
get_item_schema() : array<string|int, mixed>
Return values
array<string|int, mixed> —get_properties()
Cart extensions schema properties.
public
get_properties() : array<string|int, mixed>
Return values
array<string|int, mixed> —get_public_item_schema()
Returns the public schema.
public
get_public_item_schema() : array<string|int, mixed>
Return values
array<string|int, mixed> —force_schema_readonly()
Force all schema properties to be readonly.
protected
force_schema_readonly(array<string|int, mixed> $properties) : array<string|int, mixed>
Parameters
- $properties : array<string|int, mixed>
-
Schema.
Return values
array<string|int, mixed> — Updated schema.get_extended_data()
Returns extended data for a specific endpoint.
protected
get_extended_data(string $endpoint, array<string|int, mixed> ...$passed_args) : object
Parameters
- $endpoint : string
-
The endpoint identifier.
- $passed_args : array<string|int, mixed>
-
An array of arguments to be passed to callbacks.
Return values
object — the data that will get added.get_extended_schema()
Returns extended schema for a specific endpoint.
protected
get_extended_schema(string $endpoint, array<string|int, mixed> ...$passed_args) : array<string|int, mixed>
Parameters
- $endpoint : string
-
The endpoint identifer.
- $passed_args : array<string|int, mixed>
-
An array of arguments to be passed to callbacks.
Return values
array<string|int, mixed> — the data that will get added.get_item_responses_from_schema()
Apply a schema get_item_response callback to an array of items and return the result.
protected
get_item_responses_from_schema(AbstractSchema $schema, array<string|int, mixed> $items) : array<string|int, mixed>
Parameters
- $schema : AbstractSchema
-
Schema class instance.
- $items : array<string|int, mixed>
-
Array of items.
Return values
array<string|int, mixed> — Array of values from the callback function.get_recursive_sanitize_callback()
Gets a function that sanitizes recursively.
protected
get_recursive_sanitize_callback(array<string|int, mixed> $properties) : function
Parameters
- $properties : array<string|int, mixed>
-
Schema property data.
Return values
function — Anonymous validation callback.get_recursive_schema_property_defaults()
Gets an array of schema defaults recursively.
protected
get_recursive_schema_property_defaults(array<string|int, mixed> $properties) : array<string|int, mixed>
Parameters
- $properties : array<string|int, mixed>
-
Schema property data.
Return values
array<string|int, mixed> — Array of defaults, pulled from arg_optionsget_recursive_validate_callback()
Gets a function that validates recursively.
protected
get_recursive_validate_callback(array<string|int, mixed> $properties) : function
Parameters
- $properties : array<string|int, mixed>
-
Schema property data.
Return values
function — Anonymous validation callback.get_store_currency_properties()
Returns consistent currency schema used across endpoints for prices.
protected
get_store_currency_properties() : array<string|int, mixed>
Return values
array<string|int, mixed> —prepare_currency_response()
Adds currency data to an array of monetary values.
protected
prepare_currency_response(array<string|int, mixed> $values) : array<string|int, mixed>
Parameters
- $values : array<string|int, mixed>
-
Monetary amounts.
Return values
array<string|int, mixed> — Monetary amounts with currency data appended.prepare_html_response()
Prepares HTML based content, such as post titles and content, for the API response.
protected
prepare_html_response(string|array<string|int, mixed> $response) : string|array<string|int, mixed>
Parameters
- $response : string|array<string|int, mixed>
-
Data to format.
Return values
string|array<string|int, mixed> — Formatted data.prepare_money_response()
Convert monetary values from WooCommerce to string based integers, using the smallest unit of a currency.
protected
prepare_money_response(string|float $amount[, int $decimals = 2 ][, int $rounding_mode = PHP_ROUND_HALF_UP ]) : string
Parameters
- $amount : string|float
-
Monetary amount with decimals.
- $decimals : int = 2
-
Number of decimals the amount is formatted with.
- $rounding_mode : int = PHP_ROUND_HALF_UP
-
Defaults to the PHP_ROUND_HALF_UP constant.
Return values
string — The new amount.remove_arg_options()
Recursive removal of arg_options.
protected
remove_arg_options(array<string|int, mixed> $properties) : mixed
Parameters
- $properties : array<string|int, mixed>
-
Schema properties.