<NME> repository.php
<BEF> <?php
/*
|--------------------------------------------------------------------------
| Prettus Repository Config
|--------------------------------------------------------------------------
|
|
*/
return [

    /*
    |--------------------------------------------------------------------------
    | Repository Pagination Limit Default
    |--------------------------------------------------------------------------
    |
    */
    'pagination' => [
        'limit' => 15
    ],

    /*
    |--------------------------------------------------------------------------
    | Fractal Presenter Config
    |--------------------------------------------------------------------------
    |

    Available serializers:
    ArraySerializer
    DataArraySerializer
        ]
    ],

    /*
    |--------------------------------------------------------------------------
    | Criteria Config
                '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
       |
        | Params :
        |
        | - search : Searched value
        |   Ex: http://artesaos/?search=lorem
        |
        | - searchFields : Fields in which research should be carried out
        |   Ex:
        |    http://artesaos/?search=lorem&searchFields=name;email
        |    http://artesaos/?search=lorem&searchFields=name:like;email
        |    http://artesaos/?search=lorem&searchFields=name:like
        |
        | - filter : Fields that must be returned to the response object
        |   Ex:
        |   http://artesaos/?search=lorem&filter=id,name
        |
        | - orderBy : Order By
        |   Ex:
        |   http://artesaos/?search=lorem&orderBy=id
        |
        | - sortedBy : Sort
        |   Ex:
        |   http://artesaos/?search=lorem&orderBy=id&sortedBy=asc
        |   http://artesaos/?search=lorem&orderBy=id&sortedBy=desc
        |
        */
        'params'=>[
        | 'acceptedConditions'=>['=','like']
        |
        | $query->where('foo','=','bar')
        | $query->where('foo','like','bar')
        |
        */
        'acceptedConditions' => [
            '=',
            'like',
            'in'
        ],
        /*
        |--------------------------------------------------------------------------
        | 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'
        ]
    ],
    /*
    |--------------------------------------------------------------------------
    | Generator Config
    |--------------------------------------------------------------------------
    |
    */
    'generator'  => [
        'basePath'      => app()->path(),
        'rootNamespace' => 'App\\',
        'stubsOverridePath' => app()->path(),
        'paths'         => [
            'models'       => 'Entities',
            'repositories' => 'Repositories',
            'interfaces'   => 'Repositories',
            'transformers' => 'Transformers',
            'presenters'   => 'Presenters',
            'validators'   => 'Validators',
            'controllers'  => 'Http/Controllers',
            'provider'     => 'RepositoryServiceProvider',
            'criteria'     => 'Criteria'
        ]
    ]
];

<MSG> Adjust Cacheable Trait and configs

<DFF> @@ -30,6 +30,77 @@ return [
         ]
     ],
 
+    /*
+    |--------------------------------------------------------------------------
+    | Cache Config
+    |--------------------------------------------------------------------------
+    |
+    */
+    'cache'=>[
+        /*
+         |--------------------------------------------------------------------------
+         | Cache Status
+         |--------------------------------------------------------------------------
+         |
+         | Enable or disable cache
+         |
+         */
+        'enabled'   => true,
+
+        /*
+         |--------------------------------------------------------------------------
+         | Cache Minutes
+         |--------------------------------------------------------------------------
+         |
+         | Time of expiration cache
+         |
+         */
+        'minutes'   => 30,
+
+         /*
+          |--------------------------------------------------------------------------
+          | Cache Repository
+          |--------------------------------------------------------------------------
+          |
+          | Instance of Illuminate\Contracts\Cache\Repository
+          |
+          */
+        'repository'=> 'cache',
+
+        '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
@@ -67,26 +138,26 @@ return [
         | Params :
         |
         | - search : Searched value
-        |   Ex: http://artesaos/?search=lorem
+        |   Ex: http://prettus.local/?search=lorem
         |
         | - searchFields : Fields in which research should be carried out
         |   Ex:
-        |    http://artesaos/?search=lorem&searchFields=name;email
-        |    http://artesaos/?search=lorem&searchFields=name:like;email
-        |    http://artesaos/?search=lorem&searchFields=name:like
+        |    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://artesaos/?search=lorem&filter=id,name
+        |   http://prettus.local/?search=lorem&filter=id,name
         |
         | - orderBy : Order By
         |   Ex:
-        |   http://artesaos/?search=lorem&orderBy=id
+        |   http://prettus.local/?search=lorem&orderBy=id
         |
         | - sortedBy : Sort
         |   Ex:
-        |   http://artesaos/?search=lorem&orderBy=id&sortedBy=asc
-        |   http://artesaos/?search=lorem&orderBy=id&sortedBy=desc
+        |   http://prettus.local/?search=lorem&orderBy=id&sortedBy=asc
+        |   http://prettus.local/?search=lorem&orderBy=id&sortedBy=desc
         |
         */
         'params'=>[

Adjust Cacheable Trait and configs