Ejemplo n.º 1
0
<?php

require __DIR__ . '/common.php';
use JsonRPC\Server;
use PicoFeed\PicoFeedException;
use Model\Config;
$server = new Server();
$server->authentication(array(Config\get('username') => Config\get('api_token')));
// Get version
$server->register('app.version', function () {
    return array('version' => APP_VERSION);
});
// Get all feeds
$server->register('feed.list', function () {
    return Model\Feed\get_all();
});
// Get one feed
$server->register('feed.info', function ($feed_id) {
    return Model\Feed\get($feed_id);
});
// Add a new feed
$server->register('feed.create', function ($url) {
    try {
        $result = Model\Feed\create($url);
    } catch (PicoFeedException $e) {
        $result = false;
    } catch (UnexpectedValueException $e) {
        $result = false;
    }
    Model\Config\write_debug();
    return $result;
Ejemplo n.º 2
0
 public function testBatchNotifications()
 {
     $server = new Server('[
         {"jsonrpc": "2.0", "method": "notify_sum", "params": [1,2,4]},
         {"jsonrpc": "2.0", "method": "notify_hello", "params": [7]}
     ]');
     $server->register('notify_sum', function ($a, $b, $c) {
     });
     $server->register('notify_hello', function ($id) {
     });
     $this->assertEquals('', $server->execute());
 }
Ejemplo n.º 3
0
$project->attachEvents();
$webhook->attachEvents();
$notification->attachEvents();
// Load translations
$language = $config->get('language', 'en_US');
if ($language !== 'en_US') {
    Translator::load($language);
}
$server = new Server();
$server->authentication(array('jsonrpc' => $config->get('api_token')));
/**
 * Project procedures
 */
$server->register('createProject', function ($name) use($project) {
    $values = array('name' => $name);
    list($valid, ) = $project->validateCreation($values);
    return $valid && $project->create($values);
});
$server->register('getProjectById', function ($project_id) use($project) {
    return $project->getById($project_id);
});
$server->register('getProjectByName', function ($name) use($project) {
    return $project->getByName($name);
});
$server->register('getAllProjects', function () use($project) {
    return $project->getAll();
});
$server->register('updateProject', function ($id, $name, $is_active = null, $is_public = null, $token = null) use($project) {
    $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)) {
Ejemplo n.º 4
0
<?php

require "JsonRPC/src/JsonRPC/Server.php";
use JsonRPC\Server;
$server = new Server();
// Procedures registration
$server->register('addition', function ($a, $b) {
    return $a + $b;
});
$server->register('random', function ($start, $end) {
    return mt_rand($start, $end);
});
$server->register('hello', function () {
    return 'world';
});
// Return the response to the client
echo $server->execute();
Ejemplo n.º 5
0
 public function testRegisterPositionalArguments()
 {
     $server = new Server();
     $server->register('getAllA', function ($p1, $p2, $p3 = 4) {
         return $p1 + $p2 + $p3;
     });
     $this->assertEquals(6, $server->executeProcedure('getAllA', array(4, -2)));
     $this->assertEquals(2, $server->executeProcedure('getAllA', array(4, 0, -2)));
 }
Ejemplo n.º 6
0
<?php

require __DIR__ . '/common.php';
use JsonRPC\Server;
$server = new Server();
$server->authentication(array(\Model\Config\get('username') => \Model\Config\get('api_token')));
// Get all feeds
$server->register('feed.list', function () {
    return Model\Feed\get_all();
});
// Get one feed
$server->register('feed.info', function ($feed_id) {
    return Model\Feed\get($feed_id);
});
// Add a new feed
$server->register('feed.create', function ($url) {
    $result = Model\Feed\create($url);
    Model\Config\write_debug();
    return $result;
});
// Delete a feed
$server->register('feed.delete', function ($feed_id) {
    return Model\Feed\remove($feed_id);
});
// Delete all feeds
$server->register('feed.delete_all', function () {
    return Model\Feed\remove_all();
});
// Enable a feed
$server->register('feed.enable', function ($feed_id) {
    return Model\Feed\enable($feed_id);