\App\Api\Request\DB\ChatMessagesRequest

API request to fetch chat messages between the current user and another user

Summary

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

Properties

$defaultScope

$defaultScope : 

Type

$perPageDefault

$perPageDefault : 

Type

$orderBased

$orderBased : 

Type

$httpRequest

$httpRequest : \Illuminate\Http\Request

HTTP request

Type

\Illuminate\Http\Request

$modelClass

$modelClass : 

Type

$guard

$guard : \Illuminate\Contracts\Auth\Guard

Type

\Illuminate\Contracts\Auth\Guard

Methods

__construct()

__construct(\Illuminate\Contracts\Auth\Guard  $guard) 

MessagesRequest constructor.

Parameters

\Illuminate\Contracts\Auth\Guard $guard

setHttpRequest()

setHttpRequest(\Illuminate\Http\Request  $httpRequest) 

Parameters

\Illuminate\Http\Request $httpRequest

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<mixed,string>

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<mixed,string>

paginator()

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

Returns a Paginator instance to be used

Parameters

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

Returns

\Illuminate\Contracts\Pagination\Paginator

_rules()

_rules(\Illuminate\Support\Collection  $parameters, \Illuminate\Validation\Validator  $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 $validator

Returns

array

addWhere()

addWhere(\Illuminate\Database\Eloquent\Builder  $query, string  $param, string  $operator = null, mixed  $value = null, string  $boolean = 'and') 

Converts API request parameter to its query counterpart. Supports relations using forward slash notation.

Parameters

\Illuminate\Database\Eloquent\Builder $query
string $param

The parameter. Forward slash notation defines relations.

string $operator

See {@see Builder::where}

mixed $value

See {@see Builder::where}

string $boolean

See {@see Builder::where}

additionalQuery()

additionalQuery(  $query, \Illuminate\Support\Collection  $parameters) : \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Query\Builder|\Laravel\Scout\Builder

Parameters

$query
\Illuminate\Support\Collection $parameters

Returns

\Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Query\Builder|\Laravel\Scout\Builder

buildQuery()

buildQuery(\Illuminate\Support\Collection  $parameters) : \Illuminate\Database\Eloquent\Builder

Builds the query from parameters

Parameters

\Illuminate\Support\Collection $parameters

Throws

\Illuminate\Auth\Access\AuthorizationException

Returns

\Illuminate\Database\Eloquent\Builder

onResults()

onResults(  $results) 

Parameters

$results

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

resourceClass()

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

Parameters

\Illuminate\Support\Collection $parameters

Returns

string

shouldResolve()

shouldResolve() 

rules()

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

Parameters

\Illuminate\Support\Collection $parameters
\Illuminate\Validation\Validator|null $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