\App\Api\Request\DBSearchRequest

An API request to retrieve a list of DB entries based on a search query

Summary

Methods
Properties
Constants
__construct()
setHttpRequest()
No public properties found
No constants found
modelClass()
resourceClass()
getDBParameters()
_rules()
doResolve()
isOrderBased()
urlParameters()
_urlParameters()
paginator()
onResults()
shouldResolve()
rules()
jsonParameters()
authorizationError()
filterResult()
$modelClass
$resourceClass
$perPageDefault
$orderBased
$httpRequest
N/A
No private methods found
No private properties found
N/A

Properties

$modelClass

$modelClass : string

Type

string

$resourceClass

$resourceClass : string

Type

string

$perPageDefault

$perPageDefault : integer|null

Default value for `per_page` parameter. If `null`, the `per_page` parameter is always required.

Type

integer|null

$orderBased

$orderBased : boolean

Whether a page based or an order based Paginator will be used.

Type

boolean

$httpRequest

$httpRequest : \Illuminate\Http\Request

HTTP request

Type

\Illuminate\Http\Request

Methods

__construct()

__construct() 

SearchRequest constructor.

setHttpRequest()

setHttpRequest(\Illuminate\Http\Request  $httpRequest) 

Parameters

\Illuminate\Http\Request $httpRequest

modelClass()

modelClass() : string

Returns name of a Model class to be used.

Returns

string

resourceClass()

resourceClass(\Illuminate\Support\Collection  $parameters) : string|false

Returns name of a Resource class to be used. If false, no Resource class used

Parameters

\Illuminate\Support\Collection $parameters

Returns

string|false

getDBParameters()

getDBParameters(\Illuminate\Support\Collection  $parameters) : \Illuminate\Support\Collection

Get a Collection of parameters related to the database

Parameters

\Illuminate\Support\Collection $parameters

Returns

\Illuminate\Support\Collection

_rules()

_rules(\Illuminate\Support\Collection  $parameters, \Illuminate\Validation\Validator|null  $validator = null) : array

Returns validation rules for the request parameters. Should be used by abstract classes and should always concatenate result with parent implementation

Parameters

\Illuminate\Support\Collection $parameters
\Illuminate\Validation\Validator|null $validator

Returns

array

doResolve()

doResolve(  $name, \Illuminate\Support\Collection  $parameters) : \App\Api\Response\Response

This function is called only when all validation passed.

Should return a Response.

Parameters

$name
\Illuminate\Support\Collection $parameters

Throws

\Illuminate\Validation\ValidationException

Returns

\App\Api\Response\Response

isOrderBased()

isOrderBased(\Illuminate\Support\Collection  $parameters) : boolean

Whether AfterPaginator or regular Paginator should be used

Parameters

\Illuminate\Support\Collection $parameters

Returns

boolean

urlParameters()

urlParameters(\Illuminate\Support\Collection  $parameters) : array

Returns an array of parameters that should be present in the URL get query in next/previous URLs

Parameters

\Illuminate\Support\Collection $parameters

Returns

array

_urlParameters()

_urlParameters(\Illuminate\Support\Collection  $parameters) : array

Returns an array of parameters that should be present in the URL get query in next/previous URLs.

Should be used by abstract classes and should always concatenate result with parent implementation.

Parameters

\Illuminate\Support\Collection $parameters

Returns

array

paginator()

paginator(\Illuminate\Support\Collection  $parameters, integer  $perPage, integer|string|null  $pageOrAfter) : \Illuminate\Pagination\LengthAwarePaginator

Returns a Paginator instance to be used

Parameters

\Illuminate\Support\Collection $parameters
integer $perPage
integer|string|null $pageOrAfter

Returns

\Illuminate\Pagination\LengthAwarePaginator

onResults()

onResults(array<mixed,\Illuminate\Database\Eloquent\Model>|\Illuminate\Database\Eloquent\Model  $results) 

Called after the query is requested.

Parameters

array<mixed,\Illuminate\Database\Eloquent\Model>|\Illuminate\Database\Eloquent\Model $results

shouldResolve()

shouldResolve() : true|string

Decides whether the request will be resolved.

If the request should not run, returns the error message. Otherwise returns true.

Returns

true|string

rules()

rules(\Illuminate\Support\Collection  $parameters, \Illuminate\Validation\Validator  $validator = null) : array

Returns validation rules for the request parameters

Parameters

\Illuminate\Support\Collection $parameters
\Illuminate\Validation\Validator $validator

Returns

array

jsonParameters()

jsonParameters() : array<mixed,string>

Returns an array of parameters that are JSON and should be converted to an array

Returns

array<mixed,string>

authorizationError()

authorizationError() 

Throws

\Illuminate\Auth\Access\AuthorizationException

filterResult()

filterResult(\Illuminate\Database\Eloquent\Model  $model, \Illuminate\Support\Collection  $parameters) : boolean

Return whether a result can be shown

Parameters

\Illuminate\Database\Eloquent\Model $model
\Illuminate\Support\Collection $parameters

Returns

boolean