function getRoutesFromDB() { $relations = array(); $relations = $this->getRelations(); $json_relations = JSONRouteRelation::getJSONRelations(); if (count($json_relations) > 0) { foreach ($json_relations as $route => $relation) { if (isset($relations[$route])) { $relations[$route] = array_merge($relations[$route], $relation); } else { $relations[$route] = $relation; } } } $result = DBController::Query("SHOW TABLES"); if ($result === false) { exit(ApiResponse::errorResponse(404)); } else { if (empty($result) === true) { exit(ApiResponse::errorResponse(204)); } else { foreach ($result as $k => $v) { $route = reset($v); $route = new Route(); $route->routeName = reset($v); if (isset($relations[$route->routeName])) { $route->routeFields = $this->getRouteFields($route, $relations[$route->routeName]); } else { $route->routeFields = $this->getRouteFields($route); } ResterUtils::Log("*** PRIMARY KEY: " . $route->routeName . " => " . $route->primaryKey->fieldName); $routes[$route->routeName] = $route; } } } ApiCacheManager::saveValueToCache(ROUTE_CACHE_KEY, $routes); return $routes; }
} require_once __DIR__ . '/config.php'; require_once __DIR__ . '/include/DBController.php'; require_once __DIR__ . '/include/ApiResponse.php'; require_once __DIR__ . '/include/SwaggerHelper.php'; require_once __DIR__ . '/include/ResterController.php'; require_once __DIR__ . '/include/ApiCacheManager.php'; require_once __DIR__ . '/include/model/RouteCommand.php'; //TODO; Make this smarter header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS'); header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization, X-StackMob-Proxy-Plain'); header('X-XRDS-Location: http://' . $_SERVER['SERVER_NAME'] . '/services.xrds.php'); $resterController = new ResterController(); if (isset($_GET["cacheClear"])) { ApiCacheManager::clear(); //exit(); } if (array_key_exists('_method', $_GET) === true) { $_SERVER['REQUEST_METHOD'] = strtoupper(trim($_GET['_method'])); } else { if (array_key_exists('HTTP_X_HTTP_METHOD_OVERRIDE', $_SERVER) === true) { $_SERVER['REQUEST_METHOD'] = strtoupper(trim($_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'])); } } //Include API Versions if (defined('API_VERSION') && file_exists(__DIR__ . "/versions/" . API_VERSION . ".php")) { include __DIR__ . "/versions/" . API_VERSION . ".php"; } //Do the work $resterController->processRequest($_SERVER['REQUEST_METHOD']);