<?php
/**
* Perforce Swarm
*
* @copyright 2014 Perforce Software. All rights reserved.
* @license Please see LICENSE.txt in top-level folder of this distribution.
* @version <release>/<patch>
*/
return array(
'router' => array(
'routes' => array(
'api' => array(
'type' => 'literal',
'options' => array(
'route' => '/api',
),
'may_terminate' => false,
'child_routes' => array(
'version' => array(
'type' => 'Zend\Mvc\Router\Http\Segment',
'options' => array(
'route' => '/[:version/]version[/]',
'constraints' => array('version' => 'v1(\.1)?'),
'defaults' => array(
'controller' => 'Api\Controller\V1\Index',
'action' => 'version'
),
),
),
'activity' => array(
'type' => 'Zend\Mvc\Router\Http\Segment',
'may_terminate' => true,
'options' => array(
'route' => '/:version/activity[/]',
'constraints' => array('version' => 'v1(\.1)?'),
'defaults' => array(
'controller' => 'Api\Controller\V1\Activity',
),
),
),
'projects' => array(
'type' => 'Zend\Mvc\Router\Http\Segment',
'may_terminate' => true,
'options' => array(
'route' => '/:version/projects[/]',
'constraints' => array('version' => 'v1(\.1)?'),
'defaults' => array(
'controller' => 'Api\Controller\V1\Projects',
),
),
),
'reviews' => array(
'type' => 'Zend\Mvc\Router\Http\Segment',
'options' => array(
'route' => '/:version/reviews[/:id][/]',
'constraints' => array('version' => 'v1(\.1)?'),
'defaults' => array(
'controller' => 'Api\Controller\V1\Reviews',
),
),
),
'reviews/changes' => array(
'type' => 'Zend\Mvc\Router\Http\Segment',
'options' => array(
'route' => '/:version/reviews/:id/changes[/]',
'constraints' => array('version' => 'v1(\.1)?'),
'defaults' => array(
'controller' => 'Api\Controller\V1\Reviews',
'action' => 'addChange',
),
),
),
'notfound' => array(
'type' => 'Zend\Mvc\Router\Http\Regex',
'priority' => -100,
'options' => array(
'regex' => '/(?P<path>.*)|$',
'spec' => '/%path%',
'defaults' => array(
'controller' => 'Api\Controller\V1\Index',
'action' => 'notFound',
),
),
),
),
),
),
),
'controllers' => array(
'invokables' => array(
'Api\Controller\V1\Activity' => 'Api\Controller\V1\ActivityController',
'Api\Controller\V1\Index' => 'Api\Controller\V1\IndexController',
'Api\Controller\V1\Projects' => 'Api\Controller\V1\ProjectsController',
'Api\Controller\V1\Reviews' => 'Api\Controller\V1\ReviewsController',
),
),
);