| <?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; |
| } |
| } |
|
|