コード例 #1
0
ファイル: jsonrpc.php プロジェクト: 0xff-fanatic/kanboard
<?php

require __DIR__ . '/app/common.php';
$server = new JsonRPC\Server();
$server->setAuthenticationHeader(API_AUTHENTICATION_HEADER);
$server->before(array(new Api\Auth($container), 'checkCredentials'));
$server->attach(new Api\Me($container));
$server->attach(new Api\Action($container));
$server->attach(new Api\App($container));
$server->attach(new Api\Board($container));
$server->attach(new Api\Category($container));
$server->attach(new Api\Comment($container));
$server->attach(new Api\File($container));
$server->attach(new Api\Link($container));
$server->attach(new Api\Project($container));
$server->attach(new Api\ProjectPermission($container));
$server->attach(new Api\Subtask($container));
$server->attach(new Api\Swimlane($container));
$server->attach(new Api\Task($container));
$server->attach(new Api\TaskLink($container));
$server->attach(new Api\User($container));
echo $server->execute();
コード例 #2
0
ファイル: jsonrpc.php プロジェクト: andrearruda/kanboard
<?php

require __DIR__ . '/app/common.php';
$models = array('Config', 'Project', 'ProjectPermission', 'Task', 'TaskCreation', 'TaskModification', 'TaskFinder', 'TaskPosition', 'TaskStatus', 'TaskValidator', 'User', 'Category', 'Comment', 'SubTask', 'Board', 'Action', 'Webhook', 'Notification');
$events = array('actionModel', 'projectModel', 'webhookModel', 'notificationModel');
foreach ($models as $model) {
    $variable = lcfirst($model) . 'Model';
    $class = '\\Model\\' . $model;
    ${$variable} = new $class($container);
}
foreach ($events as $class) {
    ${$class}->attachEvents();
}
$configModel->setupTranslations();
$configModel->setupTimezone();
$server = new JsonRPC\Server();
$server->authentication(array('jsonrpc' => $configModel->get('api_token')));
/**
 * Project procedures
 */
$server->bind('getProjectById', $projectModel, 'getById');
$server->bind('getProjectByName', $projectModel, 'getByName');
$server->bind('getAllProjects', $projectModel, 'getAll');
$server->bind('removeProject', $projectModel, 'remove');
$server->bind('enableProject', $projectModel, 'enable');
$server->bind('disableProject', $projectModel, 'disable');
$server->bind('enableProjectPublicAccess', $projectModel, 'enablePublicAccess');
$server->bind('disableProjectPublicAccess', $projectModel, 'disablePublicAccess');
$server->register('createProject', function ($name) use($projectModel) {
    $values = array('name' => $name);
    list($valid, ) = $projectModel->validateCreation($values);
コード例 #3
0
ファイル: routes.php プロジェクト: ngmy/webloyer
    Route::group(['protect_alias' => 'server'], function () {
        Route::resource('servers', 'ServersController');
    });
    Route::group(['protect_alias' => 'user'], function () {
        Route::get('users/{users}/password/change', ['as' => 'users.password.change', 'uses' => 'UsersController@changePassword']);
        Route::put('users/{users}/password', ['as' => 'users.password.update', 'uses' => 'UsersController@updatePassword']);
        Route::get('users/{users}/role/edit', ['as' => 'users.role.edit', 'uses' => 'UsersController@editRole']);
        Route::put('users/{users}/role', ['as' => 'users.role.update', 'uses' => 'UsersController@updateRole']);
        Route::get('users/{users}/api_token/edit', ['as' => 'users.api_token.edit', 'uses' => 'UsersController@editApiToken']);
        Route::put('users/{users}/api_token', ['as' => 'users.api_token.regenerate', 'uses' => 'UsersController@regenerateApiToken']);
        Route::resource('users', 'UsersController');
    });
    Route::group(['protect_alias' => 'setting'], function () {
        Route::controller('settings', 'SettingsController', ['getEmail' => 'settings.email']);
    });
});
Route::group(['middleware' => 'api'], function () {
    Route::group(['prefix' => 'api/v1'], function () {
        Route::post('jsonrpc', function (Illuminate\Http\Request $request) {
            $server = new JsonRPC\Server();
            $middlewareHandler = $server->getMiddlewareHandler();
            $middlewareHandler->withMiddleware(new App\Services\Api\Middleware\Authenticate($request));
            $procedureHandler = $server->getProcedureHandler();
            $procedureHandler->withObject(app()->make('App\\Services\\Api\\JsonRpc'));
            return $server->execute();
        });
    });
    Route::group(['prefix' => 'webhook/github/v1', 'middleware' => 'github_webhook_secret'], function () {
        Route::resource('projects.deployments', 'Webhook\\Github\\V1\\DeploymentsController', ['only' => ['store']]);
    });
});