Completed
Push — master ( 3cae80...41e9e9 )
by Sherif
02:59
created
src/Modules/V1/Core/Utl/CoreConfig.php 1 patch
Indentation   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -3,14 +3,14 @@  discard block
 block discarded – undo
3 3
 
4 4
 class CoreConfig
5 5
 {
6
-    public function getConfig()
7
-    {
8
-    	$customSettings = [];
9
-    	Settings::get(['key', 'value'])->each(function ($setting) use (&$customSettings){
10
-    		$customSettings[$setting['key']] = $setting['value'];
11
-    	});
6
+	public function getConfig()
7
+	{
8
+		$customSettings = [];
9
+		Settings::get(['key', 'value'])->each(function ($setting) use (&$customSettings){
10
+			$customSettings[$setting['key']] = $setting['value'];
11
+		});
12 12
 
13
-        return array_merge($customSettings, [
13
+		return array_merge($customSettings, [
14 14
 			/**
15 15
 			 * Specify what relations should be used for every model.
16 16
 			 */
@@ -149,5 +149,5 @@  discard block
 block discarded – undo
149 149
 				]
150 150
 			]
151 151
 		]);
152
-    }
152
+	}
153 153
 }
154 154
\ No newline at end of file
Please login to merge, or discard this patch.
src/Modules/V1/Core/Http/Controllers/BaseApiController.php 2 patches
Indentation   +267 added lines, -267 removed lines patch added patch discarded remove patch
@@ -6,297 +6,297 @@
 block discarded – undo
6 6
 
7 7
 class BaseApiController extends Controller
8 8
 {
9
-    /**
10
-     * The model implementation.
11
-     * 
12
-     * @var model
13
-     */
14
-    protected $model;
9
+	/**
10
+	 * The model implementation.
11
+	 * 
12
+	 * @var model
13
+	 */
14
+	protected $model;
15 15
 
16
-    /**
17
-     * The config implementation.
18
-     * 
19
-     * @var config
20
-     */
21
-    protected $config;
16
+	/**
17
+	 * The config implementation.
18
+	 * 
19
+	 * @var config
20
+	 */
21
+	protected $config;
22 22
 
23
-    /**
24
-     * The relations implementation.
25
-     * 
26
-     * @var relations
27
-     */
28
-    protected $relations;
23
+	/**
24
+	 * The relations implementation.
25
+	 * 
26
+	 * @var relations
27
+	 */
28
+	protected $relations;
29 29
 
30
-    public function __construct()
31
-    {        
32
-        $this->config              = \CoreConfig::getConfig();
33
-        $this->model               = property_exists($this, 'model') ? $this->model : false;
34
-        $this->validationRules     = property_exists($this, 'validationRules') ? $this->validationRules : false;
35
-        $this->skipPermissionCheck = property_exists($this, 'skipPermissionCheck') ? $this->skipPermissionCheck : [];
36
-        $this->skipLoginCheck      = property_exists($this, 'skipLoginCheck') ? $this->skipLoginCheck : [];
37
-        $route                     = explode('@',\Route::currentRouteAction())[1];
30
+	public function __construct()
31
+	{        
32
+		$this->config              = \CoreConfig::getConfig();
33
+		$this->model               = property_exists($this, 'model') ? $this->model : false;
34
+		$this->validationRules     = property_exists($this, 'validationRules') ? $this->validationRules : false;
35
+		$this->skipPermissionCheck = property_exists($this, 'skipPermissionCheck') ? $this->skipPermissionCheck : [];
36
+		$this->skipLoginCheck      = property_exists($this, 'skipLoginCheck') ? $this->skipLoginCheck : [];
37
+		$route                     = explode('@',\Route::currentRouteAction())[1];
38 38
 
39
-        $this->checkPermission($route);
40
-        $this->setRelations($route);
41
-        $this->setSessions();
42
-    }
39
+		$this->checkPermission($route);
40
+		$this->setRelations($route);
41
+		$this->setSessions();
42
+	}
43 43
 
44
-    /**
45
-     * Fetch all records with relations from model repository.
46
-     * 
47
-     * @param  string  $sortBy
48
-     * @param  boolean $desc
49
-     * @return \Illuminate\Http\Response
50
-     */
51
-    public function index($sortBy = 'created_at', $desc = 1) 
52
-    {
53
-        if ($this->model)
54
-        {
55
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->all($this->relations, $sortBy, $desc), 200);
56
-        }
57
-    }
44
+	/**
45
+	 * Fetch all records with relations from model repository.
46
+	 * 
47
+	 * @param  string  $sortBy
48
+	 * @param  boolean $desc
49
+	 * @return \Illuminate\Http\Response
50
+	 */
51
+	public function index($sortBy = 'created_at', $desc = 1) 
52
+	{
53
+		if ($this->model)
54
+		{
55
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->all($this->relations, $sortBy, $desc), 200);
56
+		}
57
+	}
58 58
 
59
-    /**
60
-     * Fetch the single object with relations from model repository.
61
-     * 
62
-     * @param  integer $id
63
-     * @return \Illuminate\Http\Response
64
-     */
65
-    public function find($id) 
66
-    {
67
-        if ($this->model) 
68
-        {
69
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->find($id, $this->relations), 200);
70
-        }
71
-    }
59
+	/**
60
+	 * Fetch the single object with relations from model repository.
61
+	 * 
62
+	 * @param  integer $id
63
+	 * @return \Illuminate\Http\Response
64
+	 */
65
+	public function find($id) 
66
+	{
67
+		if ($this->model) 
68
+		{
69
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->find($id, $this->relations), 200);
70
+		}
71
+	}
72 72
 
73
-    /**
74
-     * Paginate all records with relations from model repository
75
-     * that matche the given query.
76
-     * 
77
-     * @param  string  $query
78
-     * @param  integer $perPage
79
-     * @param  string  $sortBy
80
-     * @param  boolean $desc
81
-     * @return \Illuminate\Http\Response
82
-     */
83
-    public function search($query = '', $perPage = 15, $sortBy = 'created_at', $desc = 1) 
84
-    {
85
-        if ($this->model) 
86
-        {
87
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->search($query, $perPage, $this->relations, $sortBy, $desc), 200);
88
-        }
89
-    }
73
+	/**
74
+	 * Paginate all records with relations from model repository
75
+	 * that matche the given query.
76
+	 * 
77
+	 * @param  string  $query
78
+	 * @param  integer $perPage
79
+	 * @param  string  $sortBy
80
+	 * @param  boolean $desc
81
+	 * @return \Illuminate\Http\Response
82
+	 */
83
+	public function search($query = '', $perPage = 15, $sortBy = 'created_at', $desc = 1) 
84
+	{
85
+		if ($this->model) 
86
+		{
87
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->search($query, $perPage, $this->relations, $sortBy, $desc), 200);
88
+		}
89
+	}
90 90
 
91
-    /**
92
-     * Fetch records from the storage based on the given
93
-     * condition.
94
-     * 
95
-     * @param  \Illuminate\Http\Request  $request
96
-     * @param  string  $sortBy
97
-     * @param  boolean $desc
98
-     * @return \Illuminate\Http\Response
99
-     */
100
-    public function findby(Request $request, $sortBy = 'created_at', $desc = 1) 
101
-    {
102
-        if ($this->model) 
103
-        {
104
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->findBy($request->all(), $this->relations, $sortBy, $desc), 200);
105
-        }
106
-    }
91
+	/**
92
+	 * Fetch records from the storage based on the given
93
+	 * condition.
94
+	 * 
95
+	 * @param  \Illuminate\Http\Request  $request
96
+	 * @param  string  $sortBy
97
+	 * @param  boolean $desc
98
+	 * @return \Illuminate\Http\Response
99
+	 */
100
+	public function findby(Request $request, $sortBy = 'created_at', $desc = 1) 
101
+	{
102
+		if ($this->model) 
103
+		{
104
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->findBy($request->all(), $this->relations, $sortBy, $desc), 200);
105
+		}
106
+	}
107 107
 
108
-    /**
109
-     * Fetch the first record from the storage based on the given
110
-     * condition.
111
-     * 
112
-     * @param  \Illuminate\Http\Request  $request
113
-     * @return \Illuminate\Http\Response
114
-     */
115
-    public function first(Request $request) 
116
-    {
117
-        if ($this->model) 
118
-        {
119
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->first($request->all(), $this->relations), 200);
120
-        }
121
-    }
108
+	/**
109
+	 * Fetch the first record from the storage based on the given
110
+	 * condition.
111
+	 * 
112
+	 * @param  \Illuminate\Http\Request  $request
113
+	 * @return \Illuminate\Http\Response
114
+	 */
115
+	public function first(Request $request) 
116
+	{
117
+		if ($this->model) 
118
+		{
119
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->first($request->all(), $this->relations), 200);
120
+		}
121
+	}
122 122
 
123
-    /**
124
-     * Paginate all records with relations from model repository.
125
-     * 
126
-     * @param  integer $perPage
127
-     * @param  string  $sortBy
128
-     * @param  boolean $desc
129
-     * @return \Illuminate\Http\Response
130
-     */
131
-    public function paginate($perPage = 15, $sortBy = 'created_at', $desc = 1) 
132
-    {
133
-        if ($this->model) 
134
-        {
135
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->paginate($perPage, $this->relations, $sortBy, $desc), 200);
136
-        }
137
-    }
123
+	/**
124
+	 * Paginate all records with relations from model repository.
125
+	 * 
126
+	 * @param  integer $perPage
127
+	 * @param  string  $sortBy
128
+	 * @param  boolean $desc
129
+	 * @return \Illuminate\Http\Response
130
+	 */
131
+	public function paginate($perPage = 15, $sortBy = 'created_at', $desc = 1) 
132
+	{
133
+		if ($this->model) 
134
+		{
135
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->paginate($perPage, $this->relations, $sortBy, $desc), 200);
136
+		}
137
+	}
138 138
 
139
-    /**
140
-     * Fetch all records with relations based on
141
-     * the given condition from storage in pages.
142
-     * 
143
-     * @param  \Illuminate\Http\Request  $request
144
-     * @param  integer $perPage
145
-     * @param  string  $sortBy
146
-     * @param  boolean $desc
147
-     * @return \Illuminate\Http\Response
148
-     */
149
-    public function paginateby(Request $request, $perPage = 15, $sortBy = 'created_at', $desc = 1) 
150
-    {
151
-        if ($this->model) 
152
-        {
153
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->paginateBy($request->all(), $perPage, $this->relations, $sortBy, $desc), 200);
154
-        }
155
-    }
139
+	/**
140
+	 * Fetch all records with relations based on
141
+	 * the given condition from storage in pages.
142
+	 * 
143
+	 * @param  \Illuminate\Http\Request  $request
144
+	 * @param  integer $perPage
145
+	 * @param  string  $sortBy
146
+	 * @param  boolean $desc
147
+	 * @return \Illuminate\Http\Response
148
+	 */
149
+	public function paginateby(Request $request, $perPage = 15, $sortBy = 'created_at', $desc = 1) 
150
+	{
151
+		if ($this->model) 
152
+		{
153
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->paginateBy($request->all(), $perPage, $this->relations, $sortBy, $desc), 200);
154
+		}
155
+	}
156 156
 
157
-    /**
158
-     * Save the given model to repository.
159
-     * 
160
-     * @param  \Illuminate\Http\Request  $request
161
-     * @return \Illuminate\Http\Response
162
-     */
163
-    public function save(Request $request) 
164
-    {
165
-        foreach ($this->validationRules as &$rule) 
166
-        {
167
-            if (strpos($rule, 'exists') && ! strpos($rule, 'deleted_at,NULL')) 
168
-            {
169
-                $rule .= ',deleted_at,NULL';
170
-            }
157
+	/**
158
+	 * Save the given model to repository.
159
+	 * 
160
+	 * @param  \Illuminate\Http\Request  $request
161
+	 * @return \Illuminate\Http\Response
162
+	 */
163
+	public function save(Request $request) 
164
+	{
165
+		foreach ($this->validationRules as &$rule) 
166
+		{
167
+			if (strpos($rule, 'exists') && ! strpos($rule, 'deleted_at,NULL')) 
168
+			{
169
+				$rule .= ',deleted_at,NULL';
170
+			}
171 171
 
172
-            if ($request->has('id')) 
173
-            {
174
-                $rule = str_replace('{id}', $request->get('id'), $rule);
175
-            }
176
-            else
177
-            {
178
-                $rule = str_replace(',{id}', '', $rule);
179
-            }
180
-        }
172
+			if ($request->has('id')) 
173
+			{
174
+				$rule = str_replace('{id}', $request->get('id'), $rule);
175
+			}
176
+			else
177
+			{
178
+				$rule = str_replace(',{id}', '', $rule);
179
+			}
180
+		}
181 181
         
182
-        $this->validate($request, $this->validationRules);
182
+		$this->validate($request, $this->validationRules);
183 183
 
184
-        if ($this->model) 
185
-        {
186
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->save($request->all()), 200);
187
-        }
188
-    }
184
+		if ($this->model) 
185
+		{
186
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->save($request->all()), 200);
187
+		}
188
+	}
189 189
 
190
-    /**
191
-     * Delete by the given id from model repository.
192
-     * 
193
-     * @param  integer  $id
194
-     * @return \Illuminate\Http\Response
195
-     */
196
-    public function delete($id) 
197
-    {
198
-        if ($this->model) 
199
-        {
200
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->delete($id), 200);
201
-        }
202
-    }
190
+	/**
191
+	 * Delete by the given id from model repository.
192
+	 * 
193
+	 * @param  integer  $id
194
+	 * @return \Illuminate\Http\Response
195
+	 */
196
+	public function delete($id) 
197
+	{
198
+		if ($this->model) 
199
+		{
200
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->delete($id), 200);
201
+		}
202
+	}
203 203
 
204
-    /**
205
-     * Return the deleted models in pages based on the given conditions.
206
-     *
207
-     * @param  \Illuminate\Http\Request  $request
208
-     * @param  integer $perPage
209
-     * @param  string  $sortBy
210
-     * @param  boolean $desc
211
-     * @return \Illuminate\Http\Response
212
-     */
213
-    public function deleted(Request $request, $perPage = 15, $sortBy = 'created_at', $desc = 1) 
214
-    {
215
-        return \Response::json(call_user_func_array("\Core::{$this->model}", [])->deleted($request->all(), $perPage, $sortBy, $desc), 200);
216
-    }
204
+	/**
205
+	 * Return the deleted models in pages based on the given conditions.
206
+	 *
207
+	 * @param  \Illuminate\Http\Request  $request
208
+	 * @param  integer $perPage
209
+	 * @param  string  $sortBy
210
+	 * @param  boolean $desc
211
+	 * @return \Illuminate\Http\Response
212
+	 */
213
+	public function deleted(Request $request, $perPage = 15, $sortBy = 'created_at', $desc = 1) 
214
+	{
215
+		return \Response::json(call_user_func_array("\Core::{$this->model}", [])->deleted($request->all(), $perPage, $sortBy, $desc), 200);
216
+	}
217 217
 
218
-    /**
219
-     * Restore the deleted model.
220
-     * 
221
-     * @param  integer  $id
222
-     * @return \Illuminate\Http\Response
223
-     */
224
-    public function restore($id) 
225
-    {
226
-        if ($this->model) 
227
-        {
228
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->restore($id), 200);
229
-        }
230
-    }
218
+	/**
219
+	 * Restore the deleted model.
220
+	 * 
221
+	 * @param  integer  $id
222
+	 * @return \Illuminate\Http\Response
223
+	 */
224
+	public function restore($id) 
225
+	{
226
+		if ($this->model) 
227
+		{
228
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->restore($id), 200);
229
+		}
230
+	}
231 231
 
232
-    /**
233
-     * Check if the logged in user can do the given permission.
234
-     * 
235
-     * @param  string $permission
236
-     * @return void
237
-     */
238
-    private function checkPermission($permission)
239
-    {
240
-        $permission = $permission !== 'index' ? $permission : 'list';
241
-        if ( ! in_array($permission, $this->skipLoginCheck)) 
242
-        {
243
-            $user = \Core::users()->find(\JWTAuth::parseToken()->authenticate()->id);
244
-            if ($user->blocked)
245
-            {
246
-                \ErrorHandler::userIsBlocked();
247
-            }
232
+	/**
233
+	 * Check if the logged in user can do the given permission.
234
+	 * 
235
+	 * @param  string $permission
236
+	 * @return void
237
+	 */
238
+	private function checkPermission($permission)
239
+	{
240
+		$permission = $permission !== 'index' ? $permission : 'list';
241
+		if ( ! in_array($permission, $this->skipLoginCheck)) 
242
+		{
243
+			$user = \Core::users()->find(\JWTAuth::parseToken()->authenticate()->id);
244
+			if ($user->blocked)
245
+			{
246
+				\ErrorHandler::userIsBlocked();
247
+			}
248 248
             
249
-            if ( ! in_array($permission, $this->skipPermissionCheck) && ! \Core::users()->can($permission, $this->model))
250
-            {
251
-                \ErrorHandler::noPermissions();
252
-            }
253
-        }
254
-    }
249
+			if ( ! in_array($permission, $this->skipPermissionCheck) && ! \Core::users()->can($permission, $this->model))
250
+			{
251
+				\ErrorHandler::noPermissions();
252
+			}
253
+		}
254
+	}
255 255
 
256
-    /**
257
-     * Set sessions based on the given headers in the request.
258
-     * 
259
-     * @return void
260
-     */
261
-    private function setSessions()
262
-    {
263
-        \Session::put('timeZoneDiff', \Request::header('time-zone-diff') ?: 0);
256
+	/**
257
+	 * Set sessions based on the given headers in the request.
258
+	 * 
259
+	 * @return void
260
+	 */
261
+	private function setSessions()
262
+	{
263
+		\Session::put('timeZoneDiff', \Request::header('time-zone-diff') ?: 0);
264 264
 
265
-        $locale = \Request::header('locale');
266
-        switch ($locale) 
267
-        {
268
-            case 'en':
269
-            \App::setLocale('en');
270
-            \Session::put('locale', 'en');
271
-            break;
265
+		$locale = \Request::header('locale');
266
+		switch ($locale) 
267
+		{
268
+			case 'en':
269
+			\App::setLocale('en');
270
+			\Session::put('locale', 'en');
271
+			break;
272 272
 
273
-            case 'ar':
274
-            \App::setLocale('ar');
275
-            \Session::put('locale', 'ar');
276
-            break;
273
+			case 'ar':
274
+			\App::setLocale('ar');
275
+			\Session::put('locale', 'ar');
276
+			break;
277 277
 
278
-            case 'all':
279
-            \App::setLocale('en');
280
-            \Session::put('locale', 'all');
281
-            break;
278
+			case 'all':
279
+			\App::setLocale('en');
280
+			\Session::put('locale', 'all');
281
+			break;
282 282
 
283
-            default:
284
-            \App::setLocale('en');
285
-            \Session::put('locale', 'en');
286
-            break;
287
-        }
288
-    }
283
+			default:
284
+			\App::setLocale('en');
285
+			\Session::put('locale', 'en');
286
+			break;
287
+		}
288
+	}
289 289
 
290
-    /**
291
-     * Set relation based on the called api.
292
-     * 
293
-     * @param  string $route
294
-     * @return void
295
-     */
296
-    private function setRelations($route)
297
-    {
298
-        $route           = $route !== 'index' ? $route : 'list';
299
-        $relations       = array_key_exists($this->model, $this->config['relations']) ? $this->config['relations'][$this->model] : false;
300
-        $this->relations = $relations && $relations[$route] ? $relations[$route] : [];
301
-    }
290
+	/**
291
+	 * Set relation based on the called api.
292
+	 * 
293
+	 * @param  string $route
294
+	 * @return void
295
+	 */
296
+	private function setRelations($route)
297
+	{
298
+		$route           = $route !== 'index' ? $route : 'list';
299
+		$relations       = array_key_exists($this->model, $this->config['relations']) ? $this->config['relations'][$this->model] : false;
300
+		$this->relations = $relations && $relations[$route] ? $relations[$route] : [];
301
+	}
302 302
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -34,7 +34,7 @@
 block discarded – undo
34 34
         $this->validationRules     = property_exists($this, 'validationRules') ? $this->validationRules : false;
35 35
         $this->skipPermissionCheck = property_exists($this, 'skipPermissionCheck') ? $this->skipPermissionCheck : [];
36 36
         $this->skipLoginCheck      = property_exists($this, 'skipLoginCheck') ? $this->skipLoginCheck : [];
37
-        $route                     = explode('@',\Route::currentRouteAction())[1];
37
+        $route                     = explode('@', \Route::currentRouteAction())[1];
38 38
 
39 39
         $this->checkPermission($route);
40 40
         $this->setRelations($route);
Please login to merge, or discard this patch.
src/Modules/V1/Core/Decorators/CachingDecorator.php 3 patches
Indentation   +79 added lines, -79 removed lines patch added patch discarded remove patch
@@ -2,92 +2,92 @@
 block discarded – undo
2 2
 
3 3
 class CachingDecorator
4 4
 {
5
-    /**
6
-     * The repo implementation.
7
-     * 
8
-     * @var repo
9
-     */
10
-    protected $repo;
5
+	/**
6
+	 * The repo implementation.
7
+	 * 
8
+	 * @var repo
9
+	 */
10
+	protected $repo;
11 11
 
12
-    /**
13
-     * The cache implementation.
14
-     * 
15
-     * @var cache
16
-     */
17
-    protected $cache;
12
+	/**
13
+	 * The cache implementation.
14
+	 * 
15
+	 * @var cache
16
+	 */
17
+	protected $cache;
18 18
 
19
-    /**
20
-     * The model implementation.
21
-     * 
22
-     * @var model
23
-     */
24
-    public $model;
19
+	/**
20
+	 * The model implementation.
21
+	 * 
22
+	 * @var model
23
+	 */
24
+	public $model;
25 25
 
26
-    /**
27
-     * The cacheConfig implementation.
28
-     * 
29
-     * @var cacheConfig
30
-     */
31
-    public $cacheConfig;
26
+	/**
27
+	 * The cacheConfig implementation.
28
+	 * 
29
+	 * @var cacheConfig
30
+	 */
31
+	public $cacheConfig;
32 32
     
33
-    /**
34
-     * Create new CachingDecorator instance.
35
-     */
36
-    public function __construct($repo, $cache)
37
-    {   
38
-        $this->repo  = $repo;
39
-        $this->cache = $cache;
40
-        $this->model = get_class($this->repo->model);
41
-    }
33
+	/**
34
+	 * Create new CachingDecorator instance.
35
+	 */
36
+	public function __construct($repo, $cache)
37
+	{   
38
+		$this->repo  = $repo;
39
+		$this->cache = $cache;
40
+		$this->model = get_class($this->repo->model);
41
+	}
42 42
 
43
-    /**
44
-     * Handle the cache mechanism for the called method
45
-     * based the configurations.
46
-     * 
47
-     * @param  string $name the called method name
48
-     * @param  array  $arguments the method arguments
49
-     * @return object
50
-     */
51
-    public function __call($name, $arguments)
52
-    {
53
-        $this->setCacheConfig($name));
43
+	/**
44
+	 * Handle the cache mechanism for the called method
45
+	 * based the configurations.
46
+	 * 
47
+	 * @param  string $name the called method name
48
+	 * @param  array  $arguments the method arguments
49
+	 * @return object
50
+	 */
51
+	public function __call($name, $arguments)
52
+	{
53
+		$this->setCacheConfig($name));
54 54
 
55
-        if ($this->cacheConfig && $this->cacheConfig == 'cache') 
56
-        {
57
-            $page     = \Request::get('page') ?? '1';
58
-            $cacheKey = $name . $page . serialize($arguments);
59
-            return $this->cache->tags([$this->model])->rememberForever($cacheKey, function() use ($arguments) {
60
-                return call_user_func_array([$this->repo, $name], $arguments);
61
-            });
62
-        }
63
-        else if ($this->cacheConfig)
64
-        {
65
-            $this->cache->tags($this->cacheConfig)->flush();
66
-            return call_user_func_array([$this->repo, $name], $arguments);
67
-        }
55
+		if ($this->cacheConfig && $this->cacheConfig == 'cache') 
56
+		{
57
+			$page     = \Request::get('page') ?? '1';
58
+			$cacheKey = $name . $page . serialize($arguments);
59
+			return $this->cache->tags([$this->model])->rememberForever($cacheKey, function() use ($arguments) {
60
+				return call_user_func_array([$this->repo, $name], $arguments);
61
+			});
62
+		}
63
+		else if ($this->cacheConfig)
64
+		{
65
+			$this->cache->tags($this->cacheConfig)->flush();
66
+			return call_user_func_array([$this->repo, $name], $arguments);
67
+		}
68 68
 
69
-        return call_user_func_array([$this->repo, $name], $arguments);
70
-    }
69
+		return call_user_func_array([$this->repo, $name], $arguments);
70
+	}
71 71
 
72
-    /**
73
-     * Set cache config based on the called method.
74
-     * 
75
-     * @param  string $name
76
-     * @return void
77
-     */
78
-    private function setCacheConfig($name)
79
-    {
80
-        $config            = \CoreConfig::getConfig();
81
-        $cacheConfig       = array_key_exists($this->model, $config['cacheConfig']) ? $config['cacheConfig'][$this->model] : false;
82
-        $this->cacheConfig = false;
72
+	/**
73
+	 * Set cache config based on the called method.
74
+	 * 
75
+	 * @param  string $name
76
+	 * @return void
77
+	 */
78
+	private function setCacheConfig($name)
79
+	{
80
+		$config            = \CoreConfig::getConfig();
81
+		$cacheConfig       = array_key_exists($this->model, $config['cacheConfig']) ? $config['cacheConfig'][$this->model] : false;
82
+		$this->cacheConfig = false;
83 83
 
84
-        if (in_array($cacheConfig['cache'], $name))
85
-        {
86
-            $this->cacheConfig = 'cache';
87
-        }
88
-        else if (in_array($cacheConfig['clear'], $name))
89
-        {
90
-            $this->cacheConfig = $cacheConfig['clear'][$name];
91
-        }
92
-    }
84
+		if (in_array($cacheConfig['cache'], $name))
85
+		{
86
+			$this->cacheConfig = 'cache';
87
+		}
88
+		else if (in_array($cacheConfig['clear'], $name))
89
+		{
90
+			$this->cacheConfig = $cacheConfig['clear'][$name];
91
+		}
92
+	}
93 93
 }
94 94
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -55,7 +55,7 @@
 block discarded – undo
55 55
         if ($this->cacheConfig && $this->cacheConfig == 'cache') 
56 56
         {
57 57
             $page     = \Request::get('page') ?? '1';
58
-            $cacheKey = $name . $page . serialize($arguments);
58
+            $cacheKey = $name.$page.serialize($arguments);
59 59
             return $this->cache->tags([$this->model])->rememberForever($cacheKey, function() use ($arguments) {
60 60
                 return call_user_func_array([$this->repo, $name], $arguments);
61 61
             });
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -59,8 +59,7 @@  discard block
 block discarded – undo
59 59
             return $this->cache->tags([$this->model])->rememberForever($cacheKey, function() use ($arguments) {
60 60
                 return call_user_func_array([$this->repo, $name], $arguments);
61 61
             });
62
-        }
63
-        else if ($this->cacheConfig)
62
+        } else if ($this->cacheConfig)
64 63
         {
65 64
             $this->cache->tags($this->cacheConfig)->flush();
66 65
             return call_user_func_array([$this->repo, $name], $arguments);
@@ -84,8 +83,7 @@  discard block
 block discarded – undo
84 83
         if (in_array($cacheConfig['cache'], $name))
85 84
         {
86 85
             $this->cacheConfig = 'cache';
87
-        }
88
-        else if (in_array($cacheConfig['clear'], $name))
86
+        } else if (in_array($cacheConfig['clear'], $name))
89 87
         {
90 88
             $this->cacheConfig = $cacheConfig['clear'][$name];
91 89
         }
Please login to merge, or discard this patch.
src/Modules/V1/Acl/Http/Controllers/UsersController.php 1 patch
Indentation   +219 added lines, -219 removed lines patch added patch discarded remove patch
@@ -7,250 +7,250 @@
 block discarded – undo
7 7
 
8 8
 class UsersController extends BaseApiController
9 9
 {
10
-    /**
11
-     * The name of the model that is used by the base api controller 
12
-     * to preform actions like (add, edit ... etc).
13
-     * @var string
14
-     */
15
-    protected $model               = 'users';
10
+	/**
11
+	 * The name of the model that is used by the base api controller 
12
+	 * to preform actions like (add, edit ... etc).
13
+	 * @var string
14
+	 */
15
+	protected $model               = 'users';
16 16
 
17
-    /**
18
-     * List of all route actions that the base api controller
19
-     * will skip permissions check for them.
20
-     * @var array
21
-     */
22
-    protected $skipPermissionCheck = ['account', 'logout', 'sendreset', 'changePassword'];
17
+	/**
18
+	 * List of all route actions that the base api controller
19
+	 * will skip permissions check for them.
20
+	 * @var array
21
+	 */
22
+	protected $skipPermissionCheck = ['account', 'logout', 'sendreset', 'changePassword'];
23 23
 
24
-    /**
25
-     * List of all route actions that the base api controller
26
-     * will skip login check for them.
27
-     * @var array
28
-     */
29
-    protected $skipLoginCheck      = ['login', 'loginSocial', 'register', 'sendreset', 'resetpassword', 'refreshtoken'];
24
+	/**
25
+	 * List of all route actions that the base api controller
26
+	 * will skip login check for them.
27
+	 * @var array
28
+	 */
29
+	protected $skipLoginCheck      = ['login', 'loginSocial', 'register', 'sendreset', 'resetpassword', 'refreshtoken'];
30 30
 
31
-    /**
32
-     * The validations rules used by the base api controller
33
-     * to check before add.
34
-     * @var array
35
-     */
36
-    protected $validationRules     = [
37
-        'name'     => 'nullable|string|unique:users,name,{id},id,name,NOT_NULL', 
38
-        'email'    => 'required|email|unique:users,email,{id},id,email,NOT_NULL', 
39
-        'password' => 'nullable|min:6'
40
-    ];
31
+	/**
32
+	 * The validations rules used by the base api controller
33
+	 * to check before add.
34
+	 * @var array
35
+	 */
36
+	protected $validationRules     = [
37
+		'name'     => 'nullable|string|unique:users,name,{id},id,name,NOT_NULL', 
38
+		'email'    => 'required|email|unique:users,email,{id},id,email,NOT_NULL', 
39
+		'password' => 'nullable|min:6'
40
+	];
41 41
 
42
-    /**
43
-     * Return the logged in user account.
44
-     * 
45
-     * @return \Illuminate\Http\Response
46
-     */
47
-    public function account()
48
-    {
49
-        return \Response::json(\Core::users()->account($this->relations), 200);
50
-    }
42
+	/**
43
+	 * Return the logged in user account.
44
+	 * 
45
+	 * @return \Illuminate\Http\Response
46
+	 */
47
+	public function account()
48
+	{
49
+		return \Response::json(\Core::users()->account($this->relations), 200);
50
+	}
51 51
 
52
-    /**
53
-     * Block the user.
54
-     *
55
-     * @param  integer  $id
56
-     * @return \Illuminate\Http\Response
57
-     */
58
-    public function block($id)
59
-    {
60
-        return \Response::json(\Core::users()->block($id), 200);
61
-    }
52
+	/**
53
+	 * Block the user.
54
+	 *
55
+	 * @param  integer  $id
56
+	 * @return \Illuminate\Http\Response
57
+	 */
58
+	public function block($id)
59
+	{
60
+		return \Response::json(\Core::users()->block($id), 200);
61
+	}
62 62
 
63
-    /**
64
-     * Unblock the user.
65
-     *
66
-     * @param  integer  $id
67
-     * @return \Illuminate\Http\Response
68
-     */
69
-    public function unblock($id)
70
-    {
71
-        return \Response::json(\Core::users()->unblock($id), 200);
72
-    }
63
+	/**
64
+	 * Unblock the user.
65
+	 *
66
+	 * @param  integer  $id
67
+	 * @return \Illuminate\Http\Response
68
+	 */
69
+	public function unblock($id)
70
+	{
71
+		return \Response::json(\Core::users()->unblock($id), 200);
72
+	}
73 73
 
74
-    /**
75
-     * Logout the user.
76
-     * 
77
-     * @return \Illuminate\Http\Response
78
-     */
79
-    public function logout()
80
-    {
81
-        return \Response::json(\Core::users()->logout(), 200);
82
-    }
74
+	/**
75
+	 * Logout the user.
76
+	 * 
77
+	 * @return \Illuminate\Http\Response
78
+	 */
79
+	public function logout()
80
+	{
81
+		return \Response::json(\Core::users()->logout(), 200);
82
+	}
83 83
 
84
-    /**
85
-     * Handle a registration request.
86
-     *
87
-     * @param  \Illuminate\Http\Request  $request
88
-     * @return \Illuminate\Http\Response
89
-     */
90
-    public function register(Request $request)
91
-    {
92
-        $this->validate($request, [
93
-            'name'     => 'nullable|string|unique:users,name,{id},id,name,NOT_NULL', 
94
-            'email'    => 'required|email|unique:users,email,{id},id,email,NOT_NULL', 
95
-            'password' => 'required|min:6'
96
-            ]);
84
+	/**
85
+	 * Handle a registration request.
86
+	 *
87
+	 * @param  \Illuminate\Http\Request  $request
88
+	 * @return \Illuminate\Http\Response
89
+	 */
90
+	public function register(Request $request)
91
+	{
92
+		$this->validate($request, [
93
+			'name'     => 'nullable|string|unique:users,name,{id},id,name,NOT_NULL', 
94
+			'email'    => 'required|email|unique:users,email,{id},id,email,NOT_NULL', 
95
+			'password' => 'required|min:6'
96
+			]);
97 97
 
98
-        return \Response::json(\Core::users()->register($request->only('email', 'password')), 200);
99
-    }
98
+		return \Response::json(\Core::users()->register($request->only('email', 'password')), 200);
99
+	}
100 100
 
101
-    /**
102
-     * Handle a login request of the none admin to the application.
103
-     *
104
-     * @param  \Illuminate\Http\Request  $request
105
-     * @return \Illuminate\Http\Response
106
-     */
107
-    public function login(Request $request)
108
-    {
109
-        $this->validate($request, [
110
-            'email'    => 'required|email', 
111
-            'password' => 'required|min:6',
112
-            'admin'    => 'boolean'
113
-            ]);
101
+	/**
102
+	 * Handle a login request of the none admin to the application.
103
+	 *
104
+	 * @param  \Illuminate\Http\Request  $request
105
+	 * @return \Illuminate\Http\Response
106
+	 */
107
+	public function login(Request $request)
108
+	{
109
+		$this->validate($request, [
110
+			'email'    => 'required|email', 
111
+			'password' => 'required|min:6',
112
+			'admin'    => 'boolean'
113
+			]);
114 114
 
115
-        return \Response::json(\Core::users()->login($request->only('email', 'password'), $request->get('admin')), 200);
116
-    }
115
+		return \Response::json(\Core::users()->login($request->only('email', 'password'), $request->get('admin')), 200);
116
+	}
117 117
 
118
-    /**
119
-     * Handle a social login request of the none admin to the application.
120
-     *
121
-     * @param  \Illuminate\Http\Request  $request
122
-     * @return \Illuminate\Http\Response
123
-     */
124
-    public function loginSocial(Request $request)
125
-    {
126
-        $this->validate($request, [
127
-            'auth_code'    => 'required_without:access_token',
128
-            'access_token' => 'required_without:auth_code',
129
-            'type'         => 'required|in:facebook,google'
130
-            ]);
118
+	/**
119
+	 * Handle a social login request of the none admin to the application.
120
+	 *
121
+	 * @param  \Illuminate\Http\Request  $request
122
+	 * @return \Illuminate\Http\Response
123
+	 */
124
+	public function loginSocial(Request $request)
125
+	{
126
+		$this->validate($request, [
127
+			'auth_code'    => 'required_without:access_token',
128
+			'access_token' => 'required_without:auth_code',
129
+			'type'         => 'required|in:facebook,google'
130
+			]);
131 131
 
132
-        return \Response::json(\Core::users()->loginSocial($request->only('auth_code', 'access_token', 'type')), 200);
133
-    }
132
+		return \Response::json(\Core::users()->loginSocial($request->only('auth_code', 'access_token', 'type')), 200);
133
+	}
134 134
 
135
-    /**
136
-     * Handle an assign groups to user request.
137
-     *
138
-     * @param  \Illuminate\Http\Request  $request
139
-     * @return \Illuminate\Http\Response
140
-     */
141
-    public function assigngroups(Request $request)
142
-    {
143
-        $this->validate($request, [
144
-            'group_ids' => 'required|exists:groups,id', 
145
-            'user_id'   => 'required|exists:users,id'
146
-            ]);
135
+	/**
136
+	 * Handle an assign groups to user request.
137
+	 *
138
+	 * @param  \Illuminate\Http\Request  $request
139
+	 * @return \Illuminate\Http\Response
140
+	 */
141
+	public function assigngroups(Request $request)
142
+	{
143
+		$this->validate($request, [
144
+			'group_ids' => 'required|exists:groups,id', 
145
+			'user_id'   => 'required|exists:users,id'
146
+			]);
147 147
 
148
-        return \Response::json(\Core::users()->assignGroups($request->get('user_id'), $request->get('group_ids')), 200);
149
-    }
148
+		return \Response::json(\Core::users()->assignGroups($request->get('user_id'), $request->get('group_ids')), 200);
149
+	}
150 150
 
151
-    /**
152
-     * Send a reset link to the given user.
153
-     *
154
-     * @param  \Illuminate\Http\Request  $request
155
-     * @return \Illuminate\Http\Response
156
-     */
157
-    public function sendreset(Request $request)
158
-    {
159
-        $this->validate($request, ['email' => 'required|email', 'url' => 'required|url']);
151
+	/**
152
+	 * Send a reset link to the given user.
153
+	 *
154
+	 * @param  \Illuminate\Http\Request  $request
155
+	 * @return \Illuminate\Http\Response
156
+	 */
157
+	public function sendreset(Request $request)
158
+	{
159
+		$this->validate($request, ['email' => 'required|email', 'url' => 'required|url']);
160 160
 
161
-        return \Response::json(\Core::users()->sendReset($request->only('email'), $request->get('url')), 200);
162
-    }
161
+		return \Response::json(\Core::users()->sendReset($request->only('email'), $request->get('url')), 200);
162
+	}
163 163
 
164
-    /**
165
-     * Reset the given user's password.
166
-     *
167
-     * @param  \Illuminate\Http\Request  $request
168
-     * @return \Illuminate\Http\Response
169
-     */
170
-    public function resetpassword(Request $request)
171
-    {
172
-        $this->validate($request, [
173
-            'token'                 => 'required',
174
-            'email'                 => 'required|email',
175
-            'password'              => 'required|confirmed|min:6',
176
-            'password_confirmation' => 'required',
177
-        ]);
164
+	/**
165
+	 * Reset the given user's password.
166
+	 *
167
+	 * @param  \Illuminate\Http\Request  $request
168
+	 * @return \Illuminate\Http\Response
169
+	 */
170
+	public function resetpassword(Request $request)
171
+	{
172
+		$this->validate($request, [
173
+			'token'                 => 'required',
174
+			'email'                 => 'required|email',
175
+			'password'              => 'required|confirmed|min:6',
176
+			'password_confirmation' => 'required',
177
+		]);
178 178
 
179
-        return \Response::json(\Core::users()->resetPassword($request->only('email', 'password', 'password_confirmation', 'token')), 200);
180
-    }
179
+		return \Response::json(\Core::users()->resetPassword($request->only('email', 'password', 'password_confirmation', 'token')), 200);
180
+	}
181 181
 
182
-    /**
183
-     * Change the logged in user password.
184
-     *
185
-     * @param  \Illuminate\Http\Request  $request
186
-     * @return \Illuminate\Http\Response
187
-     */
188
-    public function changePassword(Request $request)
189
-    {
190
-        $this->validate($request, [
191
-            'old_password'          => 'required',
192
-            'password'              => 'required|confirmed|min:6',
193
-            'password_confirmation' => 'required',
194
-        ]);
182
+	/**
183
+	 * Change the logged in user password.
184
+	 *
185
+	 * @param  \Illuminate\Http\Request  $request
186
+	 * @return \Illuminate\Http\Response
187
+	 */
188
+	public function changePassword(Request $request)
189
+	{
190
+		$this->validate($request, [
191
+			'old_password'          => 'required',
192
+			'password'              => 'required|confirmed|min:6',
193
+			'password_confirmation' => 'required',
194
+		]);
195 195
 
196
-        return \Response::json(\Core::users()->changePassword($request->only('old_password', 'password', 'password_confirmation')), 200);
197
-    }
196
+		return \Response::json(\Core::users()->changePassword($request->only('old_password', 'password', 'password_confirmation')), 200);
197
+	}
198 198
 
199
-    /**
200
-     * Refresh the expired login token.
201
-     *
202
-     * @return \Illuminate\Http\Response
203
-     */
204
-    public function refreshtoken()
205
-    {
206
-        return \Response::json(\Core::users()->refreshtoken(), 200);
207
-    }
199
+	/**
200
+	 * Refresh the expired login token.
201
+	 *
202
+	 * @return \Illuminate\Http\Response
203
+	 */
204
+	public function refreshtoken()
205
+	{
206
+		return \Response::json(\Core::users()->refreshtoken(), 200);
207
+	}
208 208
 
209
-    /**
210
-     * Paginate all users with inthe given group.
211
-     * 
212
-     * @param  \Illuminate\Http\Request  $request
213
-     * @param  string $groupName
214
-     * @param  integer $perPage
215
-     * @param  string  $sortBy
216
-     * @param  boolean $desc
217
-     * @return \Illuminate\Http\Response
218
-     */
219
-    public function group(Request $request, $groupName, $perPage = false, $sortBy = 'created_at', $desc = 1)
220
-    {
221
-        return \Response::json(\Core::users()->group($request->all(), $groupName, $this->relations, $perPage, $sortBy, $desc), 200);
222
-    }
209
+	/**
210
+	 * Paginate all users with inthe given group.
211
+	 * 
212
+	 * @param  \Illuminate\Http\Request  $request
213
+	 * @param  string $groupName
214
+	 * @param  integer $perPage
215
+	 * @param  string  $sortBy
216
+	 * @param  boolean $desc
217
+	 * @return \Illuminate\Http\Response
218
+	 */
219
+	public function group(Request $request, $groupName, $perPage = false, $sortBy = 'created_at', $desc = 1)
220
+	{
221
+		return \Response::json(\Core::users()->group($request->all(), $groupName, $this->relations, $perPage, $sortBy, $desc), 200);
222
+	}
223 223
 
224
-    /**
225
-     * Save the given data to the logged in user.
226
-     *
227
-     * @param  \Illuminate\Http\Request  $request
228
-     * @return \Illuminate\Http\Response
229
-     */
230
-    public function saveProfile(Request $request) 
231
-    {
232
-        foreach ($this->validationRules as &$rule) 
233
-        {
234
-            if (strpos($rule, 'exists') && ! strpos($rule, 'deleted_at,NULL')) 
235
-            {
236
-                $rule .= ',deleted_at,NULL';
237
-            }
224
+	/**
225
+	 * Save the given data to the logged in user.
226
+	 *
227
+	 * @param  \Illuminate\Http\Request  $request
228
+	 * @return \Illuminate\Http\Response
229
+	 */
230
+	public function saveProfile(Request $request) 
231
+	{
232
+		foreach ($this->validationRules as &$rule) 
233
+		{
234
+			if (strpos($rule, 'exists') && ! strpos($rule, 'deleted_at,NULL')) 
235
+			{
236
+				$rule .= ',deleted_at,NULL';
237
+			}
238 238
 
239
-            if ($request->has('id')) 
240
-            {
241
-                $rule = str_replace('{id}', $request->get('id'), $rule);
242
-            }
243
-            else
244
-            {
245
-                $rule = str_replace(',{id}', '', $rule);
246
-            }
247
-        }
239
+			if ($request->has('id')) 
240
+			{
241
+				$rule = str_replace('{id}', $request->get('id'), $rule);
242
+			}
243
+			else
244
+			{
245
+				$rule = str_replace(',{id}', '', $rule);
246
+			}
247
+		}
248 248
 
249
-        $this->validate($request, $this->validationRules);
249
+		$this->validate($request, $this->validationRules);
250 250
 
251
-        if ($this->model)
252
-        {
253
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->saveProfile($request->all()), 200);
254
-        }
255
-    }
251
+		if ($this->model)
252
+		{
253
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->saveProfile($request->all()), 200);
254
+		}
255
+	}
256 256
 }
Please login to merge, or discard this patch.