You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Handling JSON API URI query with Trailblazer nested operations
Operation
Description
HTTP request example
Api::V1::Lib::Operation::Filtering
Provides JSON API filtering with all_filters as default matcher
GET /users?filter[email-eq][email protected]&filter[name-cont]=son&match=any_filters
Api::V1::Lib::Operation::Sorting
Provides JSON API sorting
GET /users?sort=name,-age
Api::V1::Lib::Operation::Inclusion
Provides JSON API inclusion of related resources. Dot-separated relationship path supporting not implemented at this time
GET /users?include=team,organization
Api::V1::Lib::Operation::Pagination
Provides JSON API pagination with offset strategy. Accepts AciveRelation or Array as collection. By default returns 25 items per page
GET /users?page[number]=1&page[size]=1
Trailblazer macroses
Macros
Description
Macro::Assign
Provides to assign into context value from other context/context chains
Macro::AddContractError
Provides to set custom error to namespaced contract
Macro::Contract::Schema
Provides to use Dry::Validation.Schema as operation contract
Macro::Decorate
Provides to decorate ctx object with specified decorator. Supports object or collection as model
Macro::Inject
Provides to set dependency injection in operations
Macro::LinksBuilder
Provides to proxy resource path to Service::JsonApi::Paginator and sets composed links into context
Macro::Model
Provides to assign model into context. Supports assign by relation chain, relation find_by
Macro::ModelDelete
Provides to delete model
Macro::ModelDestroy
Provides to destroy model
Macro::Renderer
Provides to render operation result with specified serializer with strict following Jsonapi specification
Macro::Semantic
Provides to set value of semantic marker (semantic_success or semantic_failure) into context
Services
Service
Description
Service::Pagy
Wrapes active record collection / array into Pagy
Service::JsonApi::Paginator
Buildes pagination links with Pagy
Service::JsonApi::ResourceSerializer
FastJson serializer factory
Service::JsonApi::ResourceErrorSerializer
Resource error serializer service with strict following Jsonapi specification
Service::JsonApi::HashErrorSerializer
Hash error serializer service with strict following Jsonapi specification
Service::JsonApi::UriQueryErrorSerializer
URI query error serializer service with strict following Jsonapi specification
Api::V1::Lib::Service::JsonApi::ColumnsBuilder
Auxiliary service for performing validation dependencies for filtering/sorting operations. Build collection with Api::V1::Lib::Service::JsonApi::Column instances
Constants
Constant
Description
JsonApi::Filtering::PREDICATES
Available JSON API filter predicates by column type
JsonApi::Filtering::OPERATORS
Available JSON API filter matchers
JsonApi::Pagination::MINIMAL_VALUE
Pagination per page configuration
Constants::TokenNamespace::SESSION
Session JWT token namespace
Constants::TokenNamespace::RESET_PASSWORD
Reset password JWT token namespace
Application base classes
Class
Description
ApplicationEndpoint
Base class that responsible for handling statuses of HTTP-responses, works with DefaultEndpoint concern
ApiController
Base application controller class that available for unauthorized users
ApplicationOperation
Base application operation class
ApplicationContract
Base application contract class. Use it for build/update entity. Otherwise use Dry::Validation.Schema