getRouteCollection() public méthode

Gets the RouteCollection instance associated with this Router.
public getRouteCollection ( ) : RouteCollection
Résultat RouteCollection A RouteCollection instance
 /**
  * @param Router $router
  * @param $badges
  * @param string $packagist_route
  */
 public function __construct(Router $router, array $badges, array $allInBadges, $packagist_route = 'pugx_badge_packagist')
 {
     $this->router = $router;
     $this->badges = $badges;
     $this->allInBadges = $allInBadges;
     $this->packagistRoute = $packagist_route;
     $this->routes = $this->router->getRouteCollection();
 }
 /**
  * SiteMapService constructor.
  *
  * @param EntityManager $em
  * @param Router $router
  */
 public function __construct(EntityManager $em, $router)
 {
     $this->em = $em;
     $this->router = $router;
     $this->routes = $this->router->getRouteCollection()->all();
     $this->siteMapOptionService = new SiteMapOptionService();
     $this->siteMapControllerService = new SiteMapControllerService($em, $router);
 }
 public function getPreprocessorWriterResponse($preprocessorRouteName, array $attributes, Request $currentRequest)
 {
     // For localhost, the way is the same as for public to private forward.
     $attributes['_controller'] = $this->router->getRouteCollection()->get($preprocessorRouteName)->getDefault('_controller');
     $subRequest = $currentRequest->duplicate(null, null, $attributes);
     $response = $this->kernel->handle($subRequest, HttpKernelInterface::SUB_REQUEST);
     /* @var $response \Symfony\Component\HttpFoundation\Response */
     $response->setStatusCode($response->getStatusCode(), $response->headers->get('ps_status_text', null));
     return $response;
 }
 /**
  * Get routes by bundle dir
  *
  * @param string $dir
  *
  * @return array|Router
  */
 public function getRoutesByBundleDir($dir)
 {
     $routes = $this->router->getRouteCollection()->all();
     $resultRoutes = array();
     /** @var \Symfony\Component\Routing\Route $route */
     foreach ($routes as $name => $route) {
         if ($this->getBundleNameFromString($dir) == $this->getBundleNameFromString($route->getDefault('_controller'))) {
             $resultRoutes[] = $name;
         }
     }
     return $resultRoutes;
 }
Exemple #5
0
 public function loadRoutes($path, $options = array())
 {
     $filelocator = new FileLocator($path);
     $routeloader = new YamlFileLoader($filelocator);
     $router = new Router($routeloader, $path, $options);
     $matcher = $router->getMatcher();
     $routeCollection = $router->getRouteCollection();
     $context = $router->getContext();
     $this->dispatcher->addSubscriber(new HttpKernel\EventListener\RouterListener($matcher));
     $this->shared['url.generator'] = new UrlGenerator($routeCollection, $context);
     $this->router = $router;
     return $router->getRouteCollection();
 }
 /**
  * Returns the list of routes that should be rendered.
  *
  * @return Symfony\Component\Routing\Route[] List of routes that should be rendered.
  */
 protected function getRoutes()
 {
     if (0 === count($this->routes)) {
         return $this->router->getRouteCollection()->all();
     }
     $routes = [];
     foreach ($this->routes as $name) {
         $route = $this->router->getRouteCollection()->get($name);
         if (null !== $route) {
             $routes[$name] = $route;
         }
     }
     return $routes;
 }
 /**
  * Getting routes
  *
  * @return ArrayCollection
  */
 private function getRoutes()
 {
     $routeCollection = $this->router->getRouteCollection();
     $routes = new ArrayCollection();
     foreach ($routeCollection as $name => $route) {
         if ($route instanceof Route) {
             $options = $route->getOptions();
             if (isset($options['expose']) && $options['expose'] === true) {
                 $methods = $route->getMethods();
                 $routes->set($name, array('method' => reset($methods), 'pattern' => $route->getPath()));
             }
         }
     }
     return $routes;
 }
 public function __construct(Router $router, ContainerInterface $container)
 {
     $this->routeCollection = $router->getRouteCollection();
     $this->translator = $container->get('translator');
     $this->translationDomain = $container->getParameter('symfonian_id.admin.translation_domain');
     $this->authorizationChecker = $container->get('security.authorization_checker');
 }
 /**
  * {@inheritdoc}
  */
 public function register(Container $app)
 {
     /**
      * Holds information about the current request
      *
      * @return RequestContext
      */
     $app['request_context'] = function () use($app) {
         $context = new RequestContext();
         // set default http & https ports if not set
         $context->setHttpPort(isset($app['request.http_port']) ? $app['request.http_port'] : 80);
         $context->setHttpsPort(isset($app['request.https_port']) ? $app['request.https_port'] : 443);
         return $context;
     };
     /**
      * Matches URL based on a set of routes.
      *
      * @return UrlMatcher
      */
     $app['matcher'] = function () use($app) {
         return new UrlMatcher($app['router'], $app['request_context']);
     };
     /**
      * Router
      */
     $options = array('cache_dir' => true === $app['use_cache'] ? __DIR__ . '/' . self::CACHE_DIRECTORY : null, 'debug' => true);
     $app['router'] = function () use($app, $options) {
         $router = new Router($app['config.loader'], sprintf(self::CONFIG_ROUTES_FILE, $app['env']), $options);
         return $router->getRouteCollection();
     };
 }
Exemple #10
0
 public function getRouteCollection()
 {
     $collection = parent::getRouteCollection();
     if (null !== $this->appendCollection) {
         $collection->addCollection($this->appendCollection);
         $this->appendCollection = null;
     }
     return $collection;
 }
Exemple #11
0
 /**
  * Based on $baseName, this function returns all routes that match this basename..
  * So if you pass graviton.cont.action; it will return all route names that start with the same.
  * In our routing naming schema, this means all the routes from the same controller.
  *
  * @param string $baseName basename
  *
  * @return array array with matching routes
  */
 public function getRoutesByBasename($baseName)
 {
     $ret = array();
     foreach ($this->router->getRouteCollection()->all() as $routeName => $route) {
         if (preg_match('/^' . $baseName . '/', $routeName)) {
             $ret[$routeName] = $route;
         }
     }
     return $ret;
 }
 /**
  * Returns the route that matches the given controller name.
  *
  * @param string $controller Name of the controller
  *
  * @return Route
  */
 protected function getRoute($controller)
 {
     $routes = $this->router->getRouteCollection()->all();
     foreach ($routes as $name => $route) {
         if ($controller === $route->getDefault('_controller')) {
             return [$name, $route];
         }
     }
     return null;
 }
Exemple #13
0
 /**
  * Try to get controller & parameters with mapping options.
  *
  * If failed to find options, then return the input values.
  *
  * @param string $routeName
  * @param string[] $parameters The route parameters to convert
  * @return array[] An array with: the legacy controller name, then the parameters array
  */
 public final function getLegacyOptions($routeName, $parameters = array())
 {
     $legacyController = $routeName;
     $legacyParameters = $parameters;
     $route = $this->router->getRouteCollection()->get($routeName);
     if ($route) {
         if ($route->hasDefault('_legacy_controller')) {
             $legacyController = $route->getDefault('_legacy_controller');
             if ($route->hasDefault('_legacy_param_mapper_class') && $route->hasDefault('_legacy_param_mapper_method')) {
                 $class = $route->getDefault('_legacy_param_mapper_class');
                 $method = $route->getDefault('_legacy_param_mapper_method');
                 $method = (new \ReflectionClass('\\' . $class))->getMethod($method);
                 $legacyParameters = $method->invoke($method->isStatic() ? null : $method->getDeclaringClass()->newInstance(), $parameters);
             }
         }
     }
     return array($legacyController, $legacyParameters);
 }
Exemple #14
0
 /**
  * Creates a Node object based on given $routeName or current route.
  *
  * @param string|null $routeName
  *
  * @return Node
  */
 public function createPageFromRoute($routeName = null)
 {
     if (!$routeName) {
         $routeName = $this->pageStack->getRequest()->attributes->get('_route');
         if (!$routeName) {
             throw new \RuntimeException('Could not detect route name');
         }
     }
     $reflection = new \ReflectionClass($this->router->getGenerator());
     $key = 'jarves_routes';
     $cache = $this->cacher->getFastCache($key);
     $validCache = false;
     $routes = [];
     if ($cache) {
         $validCache = $cache['time'] === filemtime($reflection->getFileName()) && isset($cache['routes']) && is_string($cache['routes']);
         if ($validCache) {
             $routes = unserialize($cache['routes']);
         }
     }
     if (!$validCache) {
         $routes = $this->router->getRouteCollection()->all();
         $this->cacher->setFastCache($key, ['time' => filemtime($reflection->getFileName()), 'routes' => serialize($routes)]);
     }
     if (!isset($routes[$routeName])) {
         throw new \RuntimeException("Route with name `{$routeName}` does not exist");
     }
     $route = $routes[$routeName];
     $url = $this->router->generate($routeName, $this->pageStack->getRequest()->attributes->all());
     $page = Node::createPage($route->getOption('title'), parse_url($url)['path'], $route->getOption('theme'), $route->getOption('layout'));
     if ($route->getOption('meta')) {
         foreach ((array) $route->getOption('meta') as $key => $value) {
             $page->meta->set($key, $value);
         }
     }
     return $page;
 }
 /**
  * @param Router $router
  */
 public function importRouter(Router $router)
 {
     $routes = $this->findAll();
     $toRemove = [];
     /** @var Route $route */
     foreach ($routes as $route) {
         $toRemove[$route->getRoute()] = $route;
     }
     /** @var $collection RouteCollection */
     $collection = $router->getRouteCollection();
     $allRoutes = $collection->all();
     /**
      * @var string $routeName
      * @var SymfonyRoute $route
      */
     foreach ($allRoutes as $routeName => $route) {
         $this->importRoute($routeName, $route);
         unset($toRemove[$routeName]);
     }
     /**
      * @var string $routeName
      * @var Route $route
      */
     foreach ($toRemove as $routeName => $route) {
         /** @var MenuItem $item */
         foreach ($route->getItems() as $item) {
             $parent = $item->getParent();
             /** @var MenuItem $child */
             foreach ($item->getChildren() as $child) {
                 $child->setParent($parent);
                 $this->menuItemRepo->save($child);
             }
         }
         $this->removeRoute($route);
     }
 }
 /**
  * Standard constructor.
  * @param Router $router Router containing the callback route.
  * @param RequestContext $context The context to use for generating URLs.
  * @param string $callbackRoute The route which should be used as a callback
  * for hub requests.
  */
 public function __construct(Router $router, RequestContext $context, $callbackRoute = 'pubsubhubbub')
 {
     $this->generator = new UrlGenerator($router->getRouteCollection(), $context);
     $this->callbackRoute = $callbackRoute;
 }
Exemple #17
0
 public function generateMainApi($version)
 {
     $docParser = new PhpDocParser();
     // get all known routes
     $routes = $this->router->getRouteCollection()->all();
     /* @var $routes Route[] */
     // remove debug/dev routes. Keeps only 'ps_*' routes
     $routes = array_filter($routes, function ($key) {
         return strpos($key, 'ps_') === 0;
     }, ARRAY_FILTER_USE_KEY);
     // parse to classify by API (public/private, writer/reader) and find API version
     $versionMaxFound = 0;
     $tags = [];
     $paths = [];
     foreach ($routes as $routeName => $route) {
         $path = explode('/', $route->getPath(), 7);
         array_shift($path);
         if (array_shift($path) === 'public') {
             $relativePath = implode('/', $path);
             $rw = array_shift($path);
             $domain = array_shift($path);
             $v = array_shift($path);
             if (strpos($v, 'v') !== 0) {
                 continue;
             } else {
                 $v = substr($v, 1);
             }
             if ($v > $versionMaxFound) {
                 $versionMaxFound = $v;
             }
             if ($v <= $version) {
                 // Getting PHPDoc for this route, check if api_public present on the corresponding action.
                 $controller = $route->getDefault('_controller');
                 $method = new \ReflectionMethod($controller);
                 $annotations = $docParser->parse($method->getDocComment(), 'api_public');
                 if ($annotations === false) {
                     continue;
                     // no 'api_public', then do not generate this method on the doc.
                 }
                 // we keep the route!
                 $routes[$rw][$domain][$v][$routeName] = $route;
                 $routes['all'][$routeName] = $route;
                 // insert tag
                 $tag = '/' . $rw . '/' . $domain;
                 if (!array_key_exists($tag, $tags)) {
                     $tags[$tag] = ['name' => $domain . ' ' . $rw, 'description' => 'TODO', 'externalDocs' => ['description' => 'TODO', 'url' => 'http://toto.com']];
                 }
                 // parse path parameters
                 $parameters = [];
                 foreach ($route->compile()->getVariables() as $variable) {
                     $parameters[] = ['in' => 'path', 'name' => $variable, 'description' => '???', 'required' => false, 'type' => 'string'];
                 }
                 foreach ($route->getDefaults() as $key => $routeParameterDefault) {
                     // TODO : default à mettre dans le format Swagger
                     //dump($routeParameterDefault); die;
                 }
                 // TODO : en fonction de la methode acceptée dans la route !
                 $paths[$relativePath] = ['get' => ['tags' => [$domain . ' ' . $rw], 'summary' => array_key_exists('doc_summary', $annotations) ? $annotations['doc_summary'] : '', 'description' => array_key_exists('doc_description', $annotations) ? nl2br($annotations['doc_description']) : '', 'operationId' => '/' . $rw . '/' . $domain . '/v' . $v . '/' . array_shift($path), 'consumes' => ["application/json", "application/xml"], 'produces' => ["application/xml", "application/json"], 'parameters' => $parameters, 'responses' => [], 'security' => []], 'put' => [], 'post' => []];
             }
         }
         unset($routes[$routeName]);
     }
     $version = min($version, $versionMaxFound);
     // downgrade requested version to the max found (means the last one)
     $securityDefinitions = [];
     // TODO
     $definitions = [];
     // TODO
     $swagger = ['swagger' => '2.0', 'info' => ['description' => 'Test purposes', 'version' => $version, 'title' => 'PrestaShop Public API', 'termsOfService' => 'http://hohoho.com', 'contact' => ['email' => '*****@*****.**'], 'license' => ['name' => 'GPL ?', 'url' => 'http://www.perdu.fr']], 'host' => 'www.monhote.com', 'basePath' => '/public/', 'tags' => array_values($tags), 'schemes' => ['http'], 'paths' => $paths, 'securityDefinitions' => $securityDefinitions, 'definitions' => $definitions, 'externalDocs' => ['description' => 'Hohoho !', 'url' => 'http://www.prestashop.com']];
     /*
             // example from petstore/Swagger
             $data =
     <<<EOF
     {"swagger":"2.0","info":{"description":"This is a sample server Petstore server.  You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/).  For this sample, you can use the api key `special-key` to test the authorization filters.","version":"1.0.0","title":"Swagger Petstore","termsOfService":"http://swagger.io/terms/","contact":{"email":"*****@*****.**"},"license":{"name":"Apache 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}},"host":"petstore.swagger.io","basePath":"/v2",
     
     "tags":[{"name":"pet","description":"Everything about your Pets","externalDocs":{"description":"Find out more","url":"http://swagger.io"}},{"name":"store","description":"Access to Petstore orders"},{"name":"user","description":"Operations about user","externalDocs":{"description":"Find out more about our store","url":"http://swagger.io"}}],
     
     "schemes":["http"],
     
     "paths":{"/pet":{"post":{"tags":["pet"],"summary":"Add a new pet to the store","description":"","operationId":"addPet","consumes":["application/json","application/xml"],"produces":["application/xml","application/json"],"parameters":[{"in":"body","name":"body","description":"Pet object that needs to be added to the store","required":true,"schema":{"\$ref":"#/definitions/Pet"}}],"responses":{"405":{"description":"Invalid input"}},"security":[{"petstore_auth":["write:pets","read:pets"]}]},"put":{"tags":["pet"],"summary":"Update an existing pet","description":"","operationId":"updatePet","consumes":["application/json","application/xml"],"produces":["application/xml","application/json"],"parameters":[{"in":"body","name":"body","description":"Pet object that needs to be added to the store","required":true,"schema":{"\$ref":"#/definitions/Pet"}}],"responses":{"400":{"description":"Invalid ID supplied"},"404":{"description":"Pet not found"},"405":{"description":"Validation exception"}},"security":[{"petstore_auth":["write:pets","read:pets"]}]}},"/pet/findByStatus":{"get":{"tags":["pet"],"summary":"Finds Pets by status","description":"Multiple status values can be provided with comma seperated strings","operationId":"findPetsByStatus","produces":["application/xml","application/json"],"parameters":[{"name":"status","in":"query","description":"Status values that need to be considered for filter","required":true,"type":"array","items":{"type":"string","enum":["available","pending","sold"],"default":"available"},"collectionFormat":"csv"}],"responses":{"200":{"description":"successful operation","schema":{"type":"array","items":{"\$ref":"#/definitions/Pet"}}},"400":{"description":"Invalid status value"}},"security":[{"petstore_auth":["write:pets","read:pets"]}]}},"/pet/findByTags":{"get":{"tags":["pet"],"summary":"Finds Pets by tags","description":"Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing.","operationId":"findPetsByTags","produces":["application/xml","application/json"],"parameters":[{"name":"tags","in":"query","description":"Tags to filter by","required":true,"type":"array","items":{"type":"string"},"collectionFormat":"csv"}],"responses":{"200":{"description":"successful operation","schema":{"type":"array","items":{"\$ref":"#/definitions/Pet"}}},"400":{"description":"Invalid tag value"}},"security":[{"petstore_auth":["write:pets","read:pets"]}]}},"/pet/{petId}":{"get":{"tags":["pet"],"summary":"Find pet by ID","description":"Returns a single pet","operationId":"getPetById","produces":["application/xml","application/json"],"parameters":[{"name":"petId","in":"path","description":"ID of pet to return","required":true,"type":"integer","format":"int64"}],"responses":{"200":{"description":"successful operation","schema":{"\$ref":"#/definitions/Pet"}},"400":{"description":"Invalid ID supplied"},"404":{"description":"Pet not found"}},"security":[{"api_key":[]}]},"post":{"tags":["pet"],"summary":"Updates a pet in the store with form data","description":"","operationId":"updatePetWithForm","consumes":["application/x-www-form-urlencoded"],"produces":["application/xml","application/json"],"parameters":[{"name":"petId","in":"path","description":"ID of pet that needs to be updated","required":true,"type":"integer","format":"int64"},{"name":"name","in":"formData","description":"Updated name of the pet","required":false,"type":"string"},{"name":"status","in":"formData","description":"Updated status of the pet","required":false,"type":"string"}],"responses":{"405":{"description":"Invalid input"}},"security":[{"petstore_auth":["write:pets","read:pets"]}]},"delete":{"tags":["pet"],"summary":"Deletes a pet","description":"","operationId":"deletePet","produces":["application/xml","application/json"],"parameters":[{"name":"api_key","in":"header","required":false,"type":"string"},{"name":"petId","in":"path","description":"Pet id to delete","required":true,"type":"integer","format":"int64"}],"responses":{"400":{"description":"Invalid pet value"}},"security":[{"petstore_auth":["write:pets","read:pets"]}]}},"/pet/{petId}/uploadImage":{"post":{"tags":["pet"],"summary":"uploads an image","description":"","operationId":"uploadFile","consumes":["multipart/form-data"],"produces":["application/json"],"parameters":[{"name":"petId","in":"path","description":"ID of pet to update","required":true,"type":"integer","format":"int64"},{"name":"additionalMetadata","in":"formData","description":"Additional data to pass to server","required":false,"type":"string"},{"name":"file","in":"formData","description":"file to upload","required":false,"type":"file"}],"responses":{"200":{"description":"successful operation","schema":{"\$ref":"#/definitions/ApiResponse"}}},"security":[{"petstore_auth":["write:pets","read:pets"]}]}},"/store/inventory":{"get":{"tags":["store"],"summary":"Returns pet inventories by status","description":"Returns a map of status codes to quantities","operationId":"getInventory","produces":["application/json"],"parameters":[],"responses":{"200":{"description":"successful operation","schema":{"type":"object","additionalProperties":{"type":"integer","format":"int32"}}}},"security":[{"api_key":[]}]}},"/store/order":{"post":{"tags":["store"],"summary":"Place an order for a pet","description":"","operationId":"placeOrder","produces":["application/xml","application/json"],"parameters":[{"in":"body","name":"body","description":"order placed for purchasing the pet","required":true,"schema":{"\$ref":"#/definitions/Order"}}],"responses":{"200":{"description":"successful operation","schema":{"\$ref":"#/definitions/Order"}},"400":{"description":"Invalid Order"}}}},"/store/order/{orderId}":{"get":{"tags":["store"],"summary":"Find purchase order by ID","description":"For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions","operationId":"getOrderById","produces":["application/xml","application/json"],"parameters":[{"name":"orderId","in":"path","description":"ID of pet that needs to be fetched","required":true,"type":"integer","maximum":5.0,"minimum":1.0,"format":"int64"}],"responses":{"200":{"description":"successful operation","schema":{"\$ref":"#/definitions/Order"}},"400":{"description":"Invalid ID supplied"},"404":{"description":"Order not found"}}},"delete":{"tags":["store"],"summary":"Delete purchase order by ID","description":"For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors","operationId":"deleteOrder","produces":["application/xml","application/json"],"parameters":[{"name":"orderId","in":"path","description":"ID of the order that needs to be deleted","required":true,"type":"string","minimum":1.0}],"responses":{"400":{"description":"Invalid ID supplied"},"404":{"description":"Order not found"}}}},"/user":{"post":{"tags":["user"],"summary":"Create user","description":"This can only be done by the logged in user.","operationId":"createUser","produces":["application/xml","application/json"],"parameters":[{"in":"body","name":"body","description":"Created user object","required":true,"schema":{"\$ref":"#/definitions/User"}}],"responses":{"default":{"description":"successful operation"}}}},"/user/createWithArray":{"post":{"tags":["user"],"summary":"Creates list of users with given input array","description":"","operationId":"createUsersWithArrayInput","produces":["application/xml","application/json"],"parameters":[{"in":"body","name":"body","description":"List of user object","required":true,"schema":{"type":"array","items":{"\$ref":"#/definitions/User"}}}],"responses":{"default":{"description":"successful operation"}}}},"/user/createWithList":{"post":{"tags":["user"],"summary":"Creates list of users with given input array","description":"","operationId":"createUsersWithListInput","produces":["application/xml","application/json"],"parameters":[{"in":"body","name":"body","description":"List of user object","required":true,"schema":{"type":"array","items":{"\$ref":"#/definitions/User"}}}],"responses":{"default":{"description":"successful operation"}}}},"/user/login":{"get":{"tags":["user"],"summary":"Logs user into the system","description":"","operationId":"loginUser","produces":["application/xml","application/json"],"parameters":[{"name":"username","in":"query","description":"The user name for login","required":true,"type":"string"},{"name":"password","in":"query","description":"The password for login in clear text","required":true,"type":"string"}],"responses":{"200":{"description":"successful operation","schema":{"type":"string"},"headers":{"X-Rate-Limit":{"type":"integer","format":"int32","description":"calls per hour allowed by the user"},"X-Expires-After":{"type":"string","format":"date-time","description":"date in UTC when toekn expires"}}},"400":{"description":"Invalid username/password supplied"}}}},"/user/logout":{"get":{"tags":["user"],"summary":"Logs out current logged in user session","description":"","operationId":"logoutUser","produces":["application/xml","application/json"],"parameters":[],"responses":{"default":{"description":"successful operation"}}}},"/user/{username}":{"get":{"tags":["user"],"summary":"Get user by user name","description":"","operationId":"getUserByName","produces":["application/xml","application/json"],"parameters":[{"name":"username","in":"path","description":"The name that needs to be fetched. Use user1 for testing. ","required":true,"type":"string"}],"responses":{"200":{"description":"successful operation","schema":{"\$ref":"#/definitions/User"}},"400":{"description":"Invalid username supplied"},"404":{"description":"User not found"}}},"put":{"tags":["user"],"summary":"Updated user","description":"This can only be done by the logged in user.","operationId":"updateUser","produces":["application/xml","application/json"],"parameters":[{"name":"username","in":"path","description":"name that need to be deleted","required":true,"type":"string"},{"in":"body","name":"body","description":"Updated user object","required":true,"schema":{"\$ref":"#/definitions/User"}}],"responses":{"400":{"description":"Invalid user supplied"},"404":{"description":"User not found"}}},"delete":{"tags":["user"],"summary":"Delete user","description":"This can only be done by the logged in user.","operationId":"deleteUser","produces":["application/xml","application/json"],"parameters":[{"name":"username","in":"path","description":"The name that needs to be deleted","required":true,"type":"string"}],"responses":{"400":{"description":"Invalid username supplied"},"404":{"description":"User not found"}}}}},"securityDefinitions":{"petstore_auth":{"type":"oauth2","authorizationUrl":"http://petstore.swagger.io/api/oauth/dialog","flow":"implicit","scopes":{"write:pets":"modify pets in your account","read:pets":"read your pets"}},"api_key":{"type":"apiKey","name":"api_key","in":"header"}},"definitions":{"Order":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"petId":{"type":"integer","format":"int64"},"quantity":{"type":"integer","format":"int32"},"shipDate":{"type":"string","format":"date-time"},"status":{"type":"string","description":"Order Status","enum":["placed","approved","delivered"]},"complete":{"type":"boolean","default":false}},"xml":{"name":"Order"}},"Category":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}},"xml":{"name":"Category"}},"User":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"username":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"email":{"type":"string"},"password":{"type":"string"},"phone":{"type":"string"},"userStatus":{"type":"integer","format":"int32","description":"User Status"}},"xml":{"name":"User"}},"Tag":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}},"xml":{"name":"Tag"}},"Pet":{"type":"object","required":["name","photoUrls"],"properties":{"id":{"type":"integer","format":"int64"},"category":{"\$ref":"#/definitions/Category"},"name":{"type":"string","example":"doggie"},"photoUrls":{"type":"array","xml":{"name":"photoUrl","wrapped":true},"items":{"type":"string"}},"tags":{"type":"array","xml":{"name":"tag","wrapped":true},"items":{"\$ref":"#/definitions/Tag"}},"status":{"type":"string","description":"pet status in the store","enum":["available","pending","sold"]}},"xml":{"name":"Pet"}},"ApiResponse":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"type":{"type":"string"},"message":{"type":"string"}}}},"externalDocs":{"description":"Find out more about Swagger","url":"http://swagger.io"}}
     EOF;
     */
     return $swagger;
 }
 /**
  * RpcHandler constructor.
  *
  * @param Reader $reader
  * @param ControllerResolverInterface $resolver
  * @param RouterCollection $routerCollection
  * @param Router $router
  */
 public function __construct(Reader $reader, ControllerResolverInterface $resolver, RouterCollection $routerCollection, Router $router)
 {
     $this->routerCollection = $routerCollection;
     parent::__construct($resolver, $reader, $router->getRouteCollection());
 }
Exemple #19
0
 /**
  * Check that views for the front routes exists.
  */
 public function testTargetFrontViewsExists()
 {
     /** @var Request $request */
     $request = $this->getContainer()->get('request');
     /** @var EventDispatcherInterface $eventDispatcher */
     $eventDispatcher = $this->getContainer()->get('event_dispatcher');
     // we are not going to do any actual rendering, so a mock ParserContext should be enough
     /** @var ParserContext $parserContext */
     $parserContext = $this->getMockBuilder('Thelia\\Core\\Template\\ParserContext')->disableOriginalConstructor()->getMock();
     $templateHelper = new TheliaTemplateHelper();
     $parser = new SmartyParser($request, $eventDispatcher, $parserContext, $templateHelper);
     $parser->setTemplateDefinition($templateHelper->getActiveFrontTemplate());
     $frontRouterFileLoader = $this->routerFileLoaders[static::$routingFilesPathFront];
     foreach (static::$routingFiles[static::$routingFilesPathFront] as $fileName) {
         $router = new Router($frontRouterFileLoader, $fileName);
         /** @var Route $route */
         foreach ($router->getRouteCollection() as $route) {
             if (null === ($view = $route->getDefault('_view'))) {
                 continue;
             }
             $this->assertTrue($parser->templateExists($view . '.html'), "Front view '{$view}' does not exist.");
         }
     }
 }
 /**
  * Returns the route that matches the given route name.
  *
  * @param string $route Name of the route
  *
  * @return Route
  */
 protected function getRoute($name)
 {
     return $this->router->getRouteCollection()->get($name);
 }