| 
				
			 | 
			
			
				
				@@ -49,7 +49,7 @@ class LuRoute { 
			 | 
		
		
	
		
			
			| 
				49
			 | 
			
				49
			 | 
			
			
				
				         $this->middleware[] = $middleware; 
			 | 
		
		
	
		
			
			| 
				50
			 | 
			
				50
			 | 
			
			
				
				     } 
			 | 
		
		
	
		
			
			| 
				51
			 | 
			
				51
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				52
			 | 
			
				
			 | 
			
			
				
				-    private function getOptions($httpMethod, $url, $business, $method, $permissions, $middleware) 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				52
			 | 
			
			
				
				+    private function getOptions($httpMethod, $url, $controller, $method, $permissions, $middleware) 
			 | 
		
		
	
		
			
			| 
				53
			 | 
			
				53
			 | 
			
			
				
				     { 
			 | 
		
		
	
		
			
			| 
				54
			 | 
			
				54
			 | 
			
			
				
				         if (!is_array($permissions)) { 
			 | 
		
		
	
		
			
			| 
				55
			 | 
			
				55
			 | 
			
			
				
				             $permissions = array($permissions); 
			 | 
		
		
	
	
		
			
			| 
				
			 | 
			
			
				
				@@ -64,81 +64,92 @@ class LuRoute { 
			 | 
		
		
	
		
			
			| 
				64
			 | 
			
				64
			 | 
			
			
				
				             $middleware_string[] = $mid . (strpos($mid, ":") !== false ? "," : ":") . $permissions_string; 
			 | 
		
		
	
		
			
			| 
				65
			 | 
			
				65
			 | 
			
			
				
				         } 
			 | 
		
		
	
		
			
			| 
				66
			 | 
			
				66
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				67
			 | 
			
				
			 | 
			
			
				
				-        if (strpos($business, "\\") === false) { 
			 | 
		
		
	
		
			
			| 
				68
			 | 
			
				
			 | 
			
			
				
				-            $business = "App\\Http\\Business\\" . $business . "Business"; 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				67
			 | 
			
			
				
				+        if (strpos($controller, "\\") === false) { 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				68
			 | 
			
			
				
				+            $controller = "App\\Http\\Controller\\" . $controller . "Controller"; 
			 | 
		
		
	
		
			
			| 
				69
			 | 
			
				69
			 | 
			
			
				
				         } 
			 | 
		
		
	
		
			
			| 
				70
			 | 
			
				70
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				71
			 | 
			
				71
			 | 
			
			
				
				         $route = new LuRouteDbo(); 
			 | 
		
		
	
		
			
			| 
				72
			 | 
			
				72
			 | 
			
			
				
				         $route->setUrl($url); 
			 | 
		
		
	
		
			
			| 
				73
			 | 
			
				
			 | 
			
			
				
				-        $route->setBusinessClass($business); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				73
			 | 
			
			
				
				+        $route->setBusinessClass($controller); 
			 | 
		
		
	
		
			
			| 
				74
			 | 
			
				74
			 | 
			
			
				
				         $route->setBusinessMethod($method); 
			 | 
		
		
	
		
			
			| 
				75
			 | 
			
				75
			 | 
			
			
				
				         $route->setMiddlware($middleware_string); 
			 | 
		
		
	
		
			
			| 
				76
			 | 
			
				76
			 | 
			
			
				
				         $route->setPermissions($permissions); 
			 | 
		
		
	
		
			
			| 
				77
			 | 
			
				77
			 | 
			
			
				
				         $route->setMethod($httpMethod); 
			 | 
		
		
	
		
			
			| 
				78
			 | 
			
				78
			 | 
			
			
				
				         $this->routes[] = $route; 
			 | 
		
		
	
		
			
			| 
				79
			 | 
			
				79
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				80
			 | 
			
				
			 | 
			
			
				
				-        return [function() use($business, $method) 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				80
			 | 
			
			
				
				+        return [function() use($controller, $method) 
			 | 
		
		
	
		
			
			| 
				81
			 | 
			
				81
			 | 
			
			
				
				         { 
			 | 
		
		
	
		
			
			| 
				82
			 | 
			
				
			 | 
			
			
				
				-            $controller = new LuController(); 
			 | 
		
		
	
		
			
			| 
				83
			 | 
			
				
			 | 
			
			
				
				- 
			 | 
		
		
	
		
			
			| 
				84
			 | 
			
				
			 | 
			
			
				
				-            return $controller->execute($business, $method); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				82
			 | 
			
			
				
				+            $reflect = new \ReflectionMethod($controller, $method); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				83
			 | 
			
			
				
				+            $params = $reflect->getParameters(); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				84
			 | 
			
			
				
				+ 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				85
			 | 
			
			
				
				+            $args = array(); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				86
			 | 
			
			
				
				+            foreach ($params as $param) { 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				87
			 | 
			
			
				
				+                if ($param->isOptional()) { 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				88
			 | 
			
			
				
				+                    $args[$param->getName()] = LuBusiness::getParam($param->getName(), $param->getDefaultValue()); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				89
			 | 
			
			
				
				+                } 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				90
			 | 
			
			
				
				+                else { 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				91
			 | 
			
			
				
				+                    $args[$param->getName()] = LuBusiness::checkParam($param->getName()); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				92
			 | 
			
			
				
				+                } 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				93
			 | 
			
			
				
				+            } 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				94
			 | 
			
			
				
				+ 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				95
			 | 
			
			
				
				+            return LuOutputFormatter::formatSuccess(forward_static_call_array(array($controller, $method), $args)); 
			 | 
		
		
	
		
			
			| 
				85
			 | 
			
				96
			 | 
			
			
				
				         }, 
			 | 
		
		
	
		
			
			| 
				86
			 | 
			
				97
			 | 
			
			
				
				             'middleware' => $middleware_string]; 
			 | 
		
		
	
		
			
			| 
				87
			 | 
			
				98
			 | 
			
			
				
				     } 
			 | 
		
		
	
		
			
			| 
				88
			 | 
			
				99
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				89
			 | 
			
				100
			 | 
			
			
				
				     /** 
			 | 
		
		
	
		
			
			| 
				90
			 | 
			
				101
			 | 
			
			
				
				      * @param $url string 
			 | 
		
		
	
		
			
			| 
				91
			 | 
			
				
			 | 
			
			
				
				-     * @param $business string 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				102
			 | 
			
			
				
				+     * @param $controller string 
			 | 
		
		
	
		
			
			| 
				92
			 | 
			
				103
			 | 
			
			
				
				      * @param $method string 
			 | 
		
		
	
		
			
			| 
				93
			 | 
			
				104
			 | 
			
			
				
				      * @param array $permissions string|string[] 
			 | 
		
		
	
		
			
			| 
				94
			 | 
			
				105
			 | 
			
			
				
				      * @param array $middleware string|string[] 
			 | 
		
		
	
		
			
			| 
				95
			 | 
			
				106
			 | 
			
			
				
				      * @return mixed 
			 | 
		
		
	
		
			
			| 
				96
			 | 
			
				107
			 | 
			
			
				
				      */ 
			 | 
		
		
	
		
			
			| 
				97
			 | 
			
				
			 | 
			
			
				
				-    public function get($url, $business, $method, $permissions = array(), $middleware = array()) 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				108
			 | 
			
			
				
				+    public function get($url, $controller, $method, $permissions = array(), $middleware = array()) 
			 | 
		
		
	
		
			
			| 
				98
			 | 
			
				109
			 | 
			
			
				
				     { 
			 | 
		
		
	
		
			
			| 
				99
			 | 
			
				110
			 | 
			
			
				
				         global $app; 
			 | 
		
		
	
		
			
			| 
				100
			 | 
			
				
			 | 
			
			
				
				-        return $app->get($url, $this->getOptions("GET", $url, $business, $method, $permissions, $middleware)); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				111
			 | 
			
			
				
				+        return $app->get($url, $this->getOptions("GET", $url, $controller, $method, $permissions, $middleware)); 
			 | 
		
		
	
		
			
			| 
				101
			 | 
			
				112
			 | 
			
			
				
				     } 
			 | 
		
		
	
		
			
			| 
				102
			 | 
			
				113
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				103
			 | 
			
				114
			 | 
			
			
				
				     /** 
			 | 
		
		
	
		
			
			| 
				104
			 | 
			
				115
			 | 
			
			
				
				      * @param $url string 
			 | 
		
		
	
		
			
			| 
				105
			 | 
			
				
			 | 
			
			
				
				-     * @param $business string 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				116
			 | 
			
			
				
				+     * @param $controller string 
			 | 
		
		
	
		
			
			| 
				106
			 | 
			
				117
			 | 
			
			
				
				      * @param $method string 
			 | 
		
		
	
		
			
			| 
				107
			 | 
			
				118
			 | 
			
			
				
				      * @param array $permissions string|string[] 
			 | 
		
		
	
		
			
			| 
				108
			 | 
			
				119
			 | 
			
			
				
				      * @param array $middleware string|string[] 
			 | 
		
		
	
		
			
			| 
				109
			 | 
			
				120
			 | 
			
			
				
				      * @return mixed 
			 | 
		
		
	
		
			
			| 
				110
			 | 
			
				121
			 | 
			
			
				
				      */ 
			 | 
		
		
	
		
			
			| 
				111
			 | 
			
				
			 | 
			
			
				
				-    public function post($url, $business, $method, $permissions = array(), $middleware = array()) 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				122
			 | 
			
			
				
				+    public function post($url, $controller, $method, $permissions = array(), $middleware = array()) 
			 | 
		
		
	
		
			
			| 
				112
			 | 
			
				123
			 | 
			
			
				
				     { 
			 | 
		
		
	
		
			
			| 
				113
			 | 
			
				124
			 | 
			
			
				
				         global $app; 
			 | 
		
		
	
		
			
			| 
				114
			 | 
			
				
			 | 
			
			
				
				-        return $app->post($url, $this->getOptions("POST", $url, $business, $method, $permissions, $middleware)); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				125
			 | 
			
			
				
				+        return $app->post($url, $this->getOptions("POST", $url, $controller, $method, $permissions, $middleware)); 
			 | 
		
		
	
		
			
			| 
				115
			 | 
			
				126
			 | 
			
			
				
				     } 
			 | 
		
		
	
		
			
			| 
				116
			 | 
			
				127
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				117
			 | 
			
				128
			 | 
			
			
				
				     /** 
			 | 
		
		
	
		
			
			| 
				118
			 | 
			
				129
			 | 
			
			
				
				      * @param $url string 
			 | 
		
		
	
		
			
			| 
				119
			 | 
			
				
			 | 
			
			
				
				-     * @param $business string 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				130
			 | 
			
			
				
				+     * @param $controller string 
			 | 
		
		
	
		
			
			| 
				120
			 | 
			
				131
			 | 
			
			
				
				      * @param $method string 
			 | 
		
		
	
		
			
			| 
				121
			 | 
			
				132
			 | 
			
			
				
				      * @param array $permissions string|string[] 
			 | 
		
		
	
		
			
			| 
				122
			 | 
			
				133
			 | 
			
			
				
				      * @param array $middleware string|string[] 
			 | 
		
		
	
		
			
			| 
				123
			 | 
			
				134
			 | 
			
			
				
				      * @return mixed 
			 | 
		
		
	
		
			
			| 
				124
			 | 
			
				135
			 | 
			
			
				
				      */ 
			 | 
		
		
	
		
			
			| 
				125
			 | 
			
				
			 | 
			
			
				
				-    public function put($url, $business, $method, $permissions = array(), $middleware = array()) 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				136
			 | 
			
			
				
				+    public function put($url, $controller, $method, $permissions = array(), $middleware = array()) 
			 | 
		
		
	
		
			
			| 
				126
			 | 
			
				137
			 | 
			
			
				
				     { 
			 | 
		
		
	
		
			
			| 
				127
			 | 
			
				138
			 | 
			
			
				
				         global $app; 
			 | 
		
		
	
		
			
			| 
				128
			 | 
			
				
			 | 
			
			
				
				-        return $app->put($url, $this->getOptions("PUT", $url, $business, $method, $permissions, $middleware)); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				139
			 | 
			
			
				
				+        return $app->put($url, $this->getOptions("PUT", $url, $controller, $method, $permissions, $middleware)); 
			 | 
		
		
	
		
			
			| 
				129
			 | 
			
				140
			 | 
			
			
				
				     } 
			 | 
		
		
	
		
			
			| 
				130
			 | 
			
				141
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				131
			 | 
			
				142
			 | 
			
			
				
				     /** 
			 | 
		
		
	
		
			
			| 
				132
			 | 
			
				143
			 | 
			
			
				
				      * @param $url string 
			 | 
		
		
	
		
			
			| 
				133
			 | 
			
				
			 | 
			
			
				
				-     * @param $business string 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				144
			 | 
			
			
				
				+     * @param $controller string 
			 | 
		
		
	
		
			
			| 
				134
			 | 
			
				145
			 | 
			
			
				
				      * @param $method string 
			 | 
		
		
	
		
			
			| 
				135
			 | 
			
				146
			 | 
			
			
				
				      * @param array $permissions string|string[] 
			 | 
		
		
	
		
			
			| 
				136
			 | 
			
				147
			 | 
			
			
				
				      * @param array $middleware string|string[] 
			 | 
		
		
	
		
			
			| 
				137
			 | 
			
				148
			 | 
			
			
				
				      * @return mixed 
			 | 
		
		
	
		
			
			| 
				138
			 | 
			
				149
			 | 
			
			
				
				      */ 
			 | 
		
		
	
		
			
			| 
				139
			 | 
			
				
			 | 
			
			
				
				-    public function delete($url, $business, $method, $permissions = array(), $middleware = array()) 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				150
			 | 
			
			
				
				+    public function delete($url, $controller, $method, $permissions = array(), $middleware = array()) 
			 | 
		
		
	
		
			
			| 
				140
			 | 
			
				151
			 | 
			
			
				
				     { 
			 | 
		
		
	
		
			
			| 
				141
			 | 
			
				152
			 | 
			
			
				
				         global $app; 
			 | 
		
		
	
		
			
			| 
				142
			 | 
			
				
			 | 
			
			
				
				-        return $app->delete($url, $this->getOptions("DELETE", $url, $business, $method, $permissions, $middleware)); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				153
			 | 
			
			
				
				+        return $app->delete($url, $this->getOptions("DELETE", $url, $controller, $method, $permissions, $middleware)); 
			 | 
		
		
	
		
			
			| 
				143
			 | 
			
				154
			 | 
			
			
				
				     } 
			 | 
		
		
	
		
			
			| 
				144
			 | 
			
				155
			 | 
			
			
				
				 } 
			 |