Add getTimezone() procedure to the API

This commit is contained in:
Frédéric Guillot 2014-11-30 19:43:34 -05:00
parent 4bba5be037
commit 81df6a36b4
3 changed files with 41 additions and 0 deletions

View File

@ -144,6 +144,33 @@ Array
Procedures
----------
### getTimezone
- Purpose: **Get the application timezone**
- Parameters: none
- Result on success: **Timezone** (Example: UTC, Europe/Paris)
- Result on failure: **Default timezone** (UTC)
Request example:
```json
{
"jsonrpc": "2.0",
"method": "getTimezone",
"id": 1661138292
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 1661138292,
"result": "Europe\/Paris"
}
```
### createProject
- Purpose: **Create a new project**

View File

@ -337,6 +337,13 @@ $server->register('updateSubtask', function($id, $task_id, $title = null, $user_
return $valid && $subTaskModel->update($values);
});
/**
* Application procedures
*/
$server->register('getTimezone', function() use($configModel) {
return $configModel->get('application_timezone');
});
/**
* Parse incoming requests
*/

View File

@ -29,6 +29,7 @@ class Api extends PHPUnit_Framework_TestCase
$service->getInstance();
$pdo->exec("UPDATE settings SET value='".API_KEY."' WHERE option='api_token'");
$pdo->exec("UPDATE settings SET value='Europe/Paris' WHERE option='application_timezone'");
$pdo = null;
}
@ -48,6 +49,12 @@ class Api extends PHPUnit_Framework_TestCase
return $tasks[0]['id'];
}
public function testGetTimezone()
{
$timezone = $this->client->getTimezone();
$this->assertEquals('Europe/Paris', $timezone);
}
public function testRemoveAll()
{
$projects = $this->client->getAllProjects();