Esempio n. 1
0
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);
    return $valid && $projectModel->create($values);
Esempio n. 2
0
<?php

require __DIR__ . '/app/common.php';
use Symfony\Component\EventDispatcher\Event;
$container['dispatcher']->dispatch('api.bootstrap', new Event());
$server = new JsonRPC\Server();
$server->authentication(array('jsonrpc' => $container['config']->get('api_token')));
/**
 * Project procedures
 */
$server->bind('getProjectById', $container['project'], 'getById');
$server->bind('getProjectByName', $container['project'], 'getByName');
$server->bind('getAllProjects', $container['project'], 'getAll');
$server->bind('removeProject', $container['project'], 'remove');
$server->bind('enableProject', $container['project'], 'enable');
$server->bind('disableProject', $container['project'], 'disable');
$server->bind('enableProjectPublicAccess', $container['project'], 'enablePublicAccess');
$server->bind('disableProjectPublicAccess', $container['project'], 'disablePublicAccess');
$server->bind('getProjectActivity', $container['projectActivity'], 'getProjects');
$server->register('createProject', function ($name) use($container) {
    $values = array('name' => $name);
    list($valid, ) = $container['project']->validateCreation($values);
    return $valid ? $container['project']->create($values) : false;
});
$server->register('updateProject', function ($id, $name, $is_active = null, $is_public = null, $token = null) use($container) {
    $values = array('id' => $id, 'name' => $name, 'is_active' => $is_active, 'is_public' => $is_public, 'token' => $token);
    foreach ($values as $key => $value) {
        if (is_null($value)) {
            unset($values[$key]);
        }
    }