123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 |
- <?php
- /*
- * This file is part of the Jiannei/lumen-api-starter.
- *
- * (c) Jiannei <longjian.huang@foxmail.com>
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
- return [
- /*
- |--------------------------------------------------------------------------
- | Repository Pagination Limit Default
- |--------------------------------------------------------------------------
- |
- */
- 'pagination' => [
- 'limit' => 15,
- ],
- /*
- |--------------------------------------------------------------------------
- | Fractal Presenter Config
- |--------------------------------------------------------------------------
- |
- Available serializers:
- ArraySerializer
- DataArraySerializer
- JsonApiSerializer
- */
- 'fractal' => [
- 'params' => [
- 'include' => 'include',
- ],
- 'serializer' => \Jiannei\Response\Laravel\Support\Serializers\ArraySerializer::class,
- ],
- /*
- |--------------------------------------------------------------------------
- | Cache Config
- |--------------------------------------------------------------------------
- |
- */
- 'cache' => [
- /*
- |--------------------------------------------------------------------------
- | Cache Status
- |--------------------------------------------------------------------------
- |
- | Enable or disable cache
- |
- */
- 'enabled' => false,
- /*
- |--------------------------------------------------------------------------
- | Cache Minutes
- |--------------------------------------------------------------------------
- |
- | Time of expiration cache
- |
- */
- 'minutes' => 30,
- /*
- |--------------------------------------------------------------------------
- | Cache Repository
- |--------------------------------------------------------------------------
- |
- | Instance of Illuminate\Contracts\Cache\Repository
- |
- */
- 'repository' => 'cache',
- /*
- |--------------------------------------------------------------------------
- | Cache Clean Listener
- |--------------------------------------------------------------------------
- |
- |
- |
- */
- 'clean' => [
- /*
- |--------------------------------------------------------------------------
- | Enable clear cache on repository changes
- |--------------------------------------------------------------------------
- |
- */
- 'enabled' => true,
- /*
- |--------------------------------------------------------------------------
- | Actions in Repository
- |--------------------------------------------------------------------------
- |
- | create : Clear Cache on create Entry in repository
- | update : Clear Cache on update Entry in repository
- | delete : Clear Cache on delete Entry in repository
- |
- */
- 'on' => [
- 'create' => true,
- 'update' => true,
- 'delete' => true,
- ],
- ],
- 'params' => [
- /*
- |--------------------------------------------------------------------------
- | Skip Cache Params
- |--------------------------------------------------------------------------
- |
- |
- | Ex: http://prettus.local/?search=lorem&skipCache=true
- |
- */
- 'skipCache' => 'skipCache',
- ],
- /*
- |--------------------------------------------------------------------------
- | Methods Allowed
- |--------------------------------------------------------------------------
- |
- | methods cacheable : all, paginate, find, findByField, findWhere, getByCriteria
- |
- | Ex:
- |
- | 'only' =>['all','paginate'],
- |
- | or
- |
- | 'except' =>['find'],
- */
- 'allowed' => [
- 'only' => null,
- 'except' => null,
- ],
- ],
- /*
- |--------------------------------------------------------------------------
- | Criteria Config
- |--------------------------------------------------------------------------
- |
- | Settings of request parameters names that will be used by Criteria
- |
- */
- 'criteria' => [
- /*
- |--------------------------------------------------------------------------
- | Accepted Conditions
- |--------------------------------------------------------------------------
- |
- | Conditions accepted in consultations where the Criteria
- |
- | Ex:
- |
- | 'acceptedConditions'=>['=','like']
- |
- | $query->where('foo','=','bar')
- | $query->where('foo','like','bar')
- |
- */
- 'acceptedConditions' => [
- '=',
- 'like',
- ],
- /*
- |--------------------------------------------------------------------------
- | Request Params
- |--------------------------------------------------------------------------
- |
- | Request parameters that will be used to filter the query in the repository
- |
- | Params :
- |
- | - search : Searched value
- | Ex: http://prettus.local/?search=lorem
- |
- | - searchFields : Fields in which research should be carried out
- | Ex:
- | http://prettus.local/?search=lorem&searchFields=name;email
- | http://prettus.local/?search=lorem&searchFields=name:like;email
- | http://prettus.local/?search=lorem&searchFields=name:like
- |
- | - filter : Fields that must be returned to the response object
- | Ex:
- | http://prettus.local/?search=lorem&filter=id,name
- |
- | - orderBy : Order By
- | Ex:
- | http://prettus.local/?search=lorem&orderBy=id
- |
- | - sortedBy : Sort
- | Ex:
- | http://prettus.local/?search=lorem&orderBy=id&sortedBy=asc
- | http://prettus.local/?search=lorem&orderBy=id&sortedBy=desc
- |
- | - searchJoin: Specifies the search method (AND / OR), by default the
- | application searches each parameter with OR
- | EX:
- | http://prettus.local/?search=lorem&searchJoin=and
- | http://prettus.local/?search=lorem&searchJoin=or
- |
- */
- 'params' => [
- 'search' => 'search',
- 'searchFields' => 'searchFields',
- 'filter' => 'filter',
- 'orderBy' => 'orderBy',
- 'sortedBy' => 'sortedBy',
- 'with' => 'with',
- 'searchJoin' => 'searchJoin',
- 'withCount' => 'withCount',
- 'cursor' => 'cursor',
- ],
- ],
- /*
- |--------------------------------------------------------------------------
- | Generator Config
- |--------------------------------------------------------------------------
- |
- */
- 'generator' => [
- 'basePath' => app()->path(),
- 'rootNamespace' => 'App\\',
- 'stubsOverridePath' => app()->path(),
- 'paths' => [
- 'models' => 'Repositories\\Models',
- 'repositories' => 'Repositories\\Eloquent',
- 'interfaces' => 'Contracts\\Repositories',
- 'transformers' => 'Repositories\\Transformers',
- 'presenters' => 'Repositories\\Presenters',
- 'validators' => 'Repositories\\Validators',
- 'controllers' => 'Http/Controllers',
- 'provider' => 'RepositoryServiceProvider',
- 'criteria' => 'Repositories\\Criteria',
- ],
- ],
- ];
|