User-Api: add getMyPorjects (#1233)

This commit is contained in:
Timo Litzbarski 2015-09-18 14:18:34 +00:00
parent 55ca46ad75
commit 1fa72295f2
5 changed files with 68 additions and 1 deletions

View File

@ -7,7 +7,7 @@ New features:
* Add swimlane description
* New plugin system (alpha)
* Added Bahasa Indonesia translation
* Api changes: new getMyOverdueTasks, new getOverdueTasksByProject, allow getProjectActivity for user-api
* Api changes: new getMyOverdueTasks, new getOverdueTasksByProject, allow getProjectActivity for user-api, new GetMyProjects
Breaking changes:

View File

@ -20,6 +20,7 @@ abstract class Base extends \Core\Base
'createMyPrivateProject',
'getMyProjectsList',
'getMyOverdueTasks',
'getMyProjects',
);
private $both_allowed_procedures = array(

View File

@ -57,4 +57,9 @@ class Me extends Base
{
return $this->taskFinder->getOverdueTasksByUser($this->userSession->getId());
}
public function getMyProjects()
{
return $this->formatProjects($this->project->getAllByIds($this->projectPermission->getActiveMemberProjectIds($this->userSession->getId())));
}
}

View File

@ -172,6 +172,18 @@ class Project extends Base
{
return $this->db->table(self::TABLE)->asc('name')->findAll();
}
/**
* Get all projects with given Ids
*
* @access public
* @param integer[] $project_ids Projects id
* @return array
*/
public function getAllByIds($project_ids)
{
return $this->db->table(self::TABLE)->in('id', $project_ids)->asc('name')->findAll();
}
/**
* Get all project ids

View File

@ -69,6 +69,7 @@ If there is an authentication error, you will receive the HTTP status code `401
- getMyActivityStream
- createMyPrivateProject
- getMyProjectsList
- getMyProjects
- getTimezone
- getVersion
- getDefaultTaskColor
@ -4462,3 +4463,51 @@ Response example:
]
}
```
### getMyProjects
- Purpose: **Get projects of connected user with full details**
- Parameters:
- **none**
- Result on success: **List of projects with details**
- Result on failure: **false**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "getmyProjects",
"id": 2134420212
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 2134420212,
"result": [
{
"id": "1",
"name": "API test",
"is_active": "1",
"token": "",
"last_modified": "1436119570",
"is_public": "0",
"is_private": "0",
"is_everybody_allowed": "0",
"default_swimlane": "Default swimlane",
"show_default_swimlane": "1",
"description": null,
"identifier": "",
"url": {
"board": "http:\/\/127.0.0.1:8000\/?controller=board&action=show&project_id=1",
"calendar": "http:\/\/127.0.0.1:8000\/?controller=calendar&action=show&project_id=1",
"list": "http:\/\/127.0.0.1:8000\/?controller=listing&action=show&project_id=1"
}
}
]
}
```