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

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

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

    Available serializers:
    ArraySerializer
    DataArraySerializer
    JsonApiSerializer

    */
    'fractal'=>[
        'params'=>[
            'include'=>'include'
        ],
        'serializer' => League\Fractal\Serializer\DataArraySerializer::class
    ],

    /*
    |--------------------------------------------------------------------------
    | 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',

        /*
          |--------------------------------------------------------------------------
          | 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
        |   http://prettus.local/?search=lorem&orderBy=id&sortedBy=desc
        |
        */
        'params'=>[
            'search'        =>'search',
            'searchFields'  =>'searchFields',
            'filter'        =>'filter',
            'orderBy'       =>'orderBy',
            'sortedBy'      =>'sortedBy',
            'with'          =>'with'
        ]
    ],
    /*
            'searchFields' => 'searchFields',
            'filter'       => 'filter',
    |--------------------------------------------------------------------------
    |
    */
    'generator'=>[
        'basePath'=>app_path(),
        'rootNamespace'=>'App\\',
        'paths'=>[
            'models'=>'Entities',
            'repositories'=>'Repositories',
            'interfaces'=>'Repositories',
            'transformers'=>'Transformers',
            'presenters'=>'Presenters'
        ]
    ]
];
        'stubsOverridePath' => app()->path(),
        'paths'         => [
            'models'       => 'Entities',
            'repositories' => 'Repositories',
            'interfaces'   => 'Repositories',
            'transformers' => 'Transformers',
            'presenters'   => 'Presenters',
            'validators'   => 'Validators',
            'controllers'  => 'Http/Controllers',
            'provider'     => 'RepositoryServiceProvider',
            'criteria'     => 'Criteria'
        ]
    ]
];

<MSG> Added Validator command with Rules parser

Signed-off-by: Madalin Pasarel <64d45ef6df1c43163bbeba3d7830276a4373e4c9@gmail.com>

<DFF> @@ -14,8 +14,8 @@ return [
     |--------------------------------------------------------------------------
     |
     */
-    'pagination'=>[
-        'limit'=>15
+    'pagination' => [
+        'limit' => 15
     ],
 
     /*
@@ -30,9 +30,9 @@ return [
     JsonApiSerializer
 
     */
-    'fractal'=>[
-        'params'=>[
-            'include'=>'include'
+    'fractal'    => [
+        'params'     => [
+            'include' => 'include'
         ],
         'serializer' => League\Fractal\Serializer\DataArraySerializer::class
     ],
@@ -43,7 +43,7 @@ return [
     |--------------------------------------------------------------------------
     |
     */
-    'cache'=>[
+    'cache'      => [
         /*
          |--------------------------------------------------------------------------
          | Cache Status
@@ -52,7 +52,7 @@ return [
          | Enable or disable cache
          |
          */
-        'enabled'   => true,
+        'enabled'    => true,
 
         /*
          |--------------------------------------------------------------------------
@@ -62,17 +62,17 @@ return [
          | Time of expiration cache
          |
          */
-        'minutes'   => 30,
+        'minutes'    => 30,
 
-         /*
-          |--------------------------------------------------------------------------
-          | Cache Repository
-          |--------------------------------------------------------------------------
-          |
-          | Instance of Illuminate\Contracts\Cache\Repository
-          |
-          */
-        'repository'=> 'cache',
+        /*
+         |--------------------------------------------------------------------------
+         | Cache Repository
+         |--------------------------------------------------------------------------
+         |
+         | Instance of Illuminate\Contracts\Cache\Repository
+         |
+         */
+        'repository' => 'cache',
 
         /*
           |--------------------------------------------------------------------------
@@ -82,7 +82,7 @@ return [
           |
           |
           */
-        'clean'     => [
+        'clean'      => [
 
             /*
               |--------------------------------------------------------------------------
@@ -102,24 +102,24 @@ return [
               | delete : Clear Cache on delete Entry in repository
               |
               */
-            'on' => [
-                'create'=>true,
-                'update'=>true,
-                'delete'=>true,
+            'on'      => [
+                'create' => true,
+                'update' => true,
+                'delete' => true,
             ]
         ],
 
-        'params'    => [
-              /*
-              |--------------------------------------------------------------------------
-              | Skip Cache Params
-              |--------------------------------------------------------------------------
-              |
-              |
-              | Ex: http://prettus.local/?search=lorem&skipCache=true
-              |
-              */
-            'skipCache'=>'skipCache'
+        'params'  => [
+            /*
+            |--------------------------------------------------------------------------
+            | Skip Cache Params
+            |--------------------------------------------------------------------------
+            |
+            |
+            | Ex: http://prettus.local/?search=lorem&skipCache=true
+            |
+            */
+            'skipCache' => 'skipCache'
         ],
 
         /*
@@ -137,9 +137,9 @@ return [
        |
        | 'except'  =>['find'],
        */
-        'allowed'=>[
-            'only'  =>null,
-            'except'=>null
+        'allowed' => [
+            'only'   => null,
+            'except' => null
         ]
     ],
 
@@ -151,7 +151,7 @@ return [
     | Settings of request parameters names that will be used by Criteria
     |
     */
-    'criteria'=>[
+    'criteria'   => [
         /*
         |--------------------------------------------------------------------------
         | Accepted Conditions
@@ -167,8 +167,8 @@ return [
         | $query->where('foo','like','bar')
         |
         */
-        'acceptedConditions'=>[
-            '=','like'
+        'acceptedConditions' => [
+            '=','like'
         ],
         /*
         |--------------------------------------------------------------------------
@@ -202,13 +202,13 @@ return [
         |   http://prettus.local/?search=lorem&orderBy=id&sortedBy=desc
         |
         */
-        'params'=>[
-            'search'        =>'search',
-            'searchFields'  =>'searchFields',
-            'filter'        =>'filter',
-            'orderBy'       =>'orderBy',
-            'sortedBy'      =>'sortedBy',
-            'with'          =>'with'
+        'params'             => [
+            'search'       => 'search',
+            'searchFields' => 'searchFields',
+            'filter'       => 'filter',
+            'orderBy'      => 'orderBy',
+            'sortedBy'     => 'sortedBy',
+            'with'         => 'with'
         ]
     ],
     /*
@@ -217,15 +217,16 @@ return [
     |--------------------------------------------------------------------------
     |
     */
-    'generator'=>[
-        'basePath'=>app_path(),
-        'rootNamespace'=>'App\\',
-        'paths'=>[
-            'models'=>'Entities',
-            'repositories'=>'Repositories',
-            'interfaces'=>'Repositories',
-            'transformers'=>'Transformers',
-            'presenters'=>'Presenters'
+    'generator'  => [
+        'basePath'      => app_path(),
+        'rootNamespace' => 'App\\',
+        'paths'         => [
+            'models'       => 'Entities',
+            'repositories' => 'Repositories',
+            'interfaces'   => 'Repositories',
+            'transformers' => 'Transformers',
+            'presenters'   => 'Presenters',
+            'validators'   => 'Validators',
         ]
     ]
 ];
\ No newline at end of file

Added Validator command with Rules parser