|
<?php |
|
|
|
namespace Kanboard\ServiceProvider; |
|
|
|
use JsonRPC\Server; |
|
use Kanboard\Api\Procedure\ActionProcedure; |
|
use Kanboard\Api\Procedure\AppProcedure; |
|
use Kanboard\Api\Procedure\BoardProcedure; |
|
use Kanboard\Api\Procedure\CategoryProcedure; |
|
use Kanboard\Api\Procedure\ColumnProcedure; |
|
use Kanboard\Api\Procedure\CommentProcedure; |
|
use Kanboard\Api\Procedure\ProjectFileProcedure; |
|
use Kanboard\Api\Procedure\ProjectMetadataProcedure; |
|
use Kanboard\Api\Procedure\TagProcedure; |
|
use Kanboard\Api\Procedure\TaskExternalLinkProcedure; |
|
use Kanboard\Api\Procedure\TaskFileProcedure; |
|
use Kanboard\Api\Procedure\GroupProcedure; |
|
use Kanboard\Api\Procedure\GroupMemberProcedure; |
|
use Kanboard\Api\Procedure\LinkProcedure; |
|
use Kanboard\Api\Procedure\MeProcedure; |
|
use Kanboard\Api\Middleware\AuthenticationMiddleware; |
|
use Kanboard\Api\Procedure\ProjectProcedure; |
|
use Kanboard\Api\Procedure\ProjectPermissionProcedure; |
|
use Kanboard\Api\Procedure\SubtaskProcedure; |
|
use Kanboard\Api\Procedure\SubtaskTimeTrackingProcedure; |
|
use Kanboard\Api\Procedure\SwimlaneProcedure; |
|
use Kanboard\Api\Procedure\TaskMetadataProcedure; |
|
use Kanboard\Api\Procedure\TaskProcedure; |
|
use Kanboard\Api\Procedure\TaskLinkProcedure; |
|
use Kanboard\Api\Procedure\TaskTagProcedure; |
|
use Kanboard\Api\Procedure\UserProcedure; |
|
use Pimple\Container; |
|
use Pimple\ServiceProviderInterface; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ApiProvider implements ServiceProviderInterface |
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
public function register(Container $container) |
|
{ |
|
$server = new Server(); |
|
$server->setAuthenticationHeader(API_AUTHENTICATION_HEADER); |
|
$server->getMiddlewareHandler() |
|
->withMiddleware(new AuthenticationMiddleware($container)) |
|
; |
|
|
|
$server->getProcedureHandler() |
|
->withObject(new MeProcedure($container)) |
|
->withObject(new ActionProcedure($container)) |
|
->withObject(new AppProcedure($container)) |
|
->withObject(new BoardProcedure($container)) |
|
->withObject(new ColumnProcedure($container)) |
|
->withObject(new CategoryProcedure($container)) |
|
->withObject(new CommentProcedure($container)) |
|
->withObject(new TaskFileProcedure($container)) |
|
->withObject(new ProjectFileProcedure($container)) |
|
->withObject(new LinkProcedure($container)) |
|
->withObject(new ProjectProcedure($container)) |
|
->withObject(new ProjectPermissionProcedure($container)) |
|
->withObject(new ProjectMetadataProcedure($container)) |
|
->withObject(new SubtaskProcedure($container)) |
|
->withObject(new SubtaskTimeTrackingProcedure($container)) |
|
->withObject(new SwimlaneProcedure($container)) |
|
->withObject(new TaskProcedure($container)) |
|
->withObject(new TaskLinkProcedure($container)) |
|
->withObject(new TaskExternalLinkProcedure($container)) |
|
->withObject(new TaskMetadataProcedure($container)) |
|
->withObject(new TaskTagProcedure($container)) |
|
->withObject(new UserProcedure($container)) |
|
->withObject(new GroupProcedure($container)) |
|
->withObject(new GroupMemberProcedure($container)) |
|
->withObject(new TagProcedure($container)) |
|
->withBeforeMethod('beforeProcedure') |
|
; |
|
|
|
$container['api'] = $server; |
|
return $container; |
|
} |
|
} |
|
|