Rewrite of the authentication and authorization system
This commit is contained in:
512
doc/api-project-procedures.markdown
Normal file
512
doc/api-project-procedures.markdown
Normal file
@@ -0,0 +1,512 @@
|
||||
API Project Procedures
|
||||
======================
|
||||
|
||||
### createProject
|
||||
|
||||
- Purpose: **Create a new project**
|
||||
- Parameters:
|
||||
- **name** (string, required)
|
||||
- **description** (string, optional)
|
||||
- Result on success: **project_id**
|
||||
- Result on failure: **false**
|
||||
|
||||
Request example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "createProject",
|
||||
"id": 1797076613,
|
||||
"params": {
|
||||
"name": "PHP client"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Response example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 1797076613,
|
||||
"result": 2
|
||||
}
|
||||
```
|
||||
|
||||
### getProjectById
|
||||
|
||||
- Purpose: **Get project information**
|
||||
- Parameters:
|
||||
- **project_id** (integer, required)
|
||||
- Result on success: **project properties**
|
||||
- Result on failure: **null**
|
||||
|
||||
Request example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "getProjectById",
|
||||
"id": 226760253,
|
||||
"params": {
|
||||
"project_id": 1
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Response example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 226760253,
|
||||
"result": {
|
||||
"id": "1",
|
||||
"name": "API test",
|
||||
"is_active": "1",
|
||||
"token": "",
|
||||
"last_modified": "1436119135",
|
||||
"is_public": "0",
|
||||
"is_private": "0",
|
||||
"is_everybody_allowed": "0",
|
||||
"default_swimlane": "Default swimlane",
|
||||
"show_default_swimlane": "1",
|
||||
"description": "test",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### getProjectByName
|
||||
|
||||
- Purpose: **Get project information**
|
||||
- Parameters:
|
||||
- **name** (string, required)
|
||||
- Result on success: **project properties**
|
||||
- Result on failure: **null**
|
||||
|
||||
Request example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "getProjectByName",
|
||||
"id": 1620253806,
|
||||
"params": {
|
||||
"name": "Test"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Response example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 1620253806,
|
||||
"result": {
|
||||
"id": "1",
|
||||
"name": "Test",
|
||||
"is_active": "1",
|
||||
"token": "",
|
||||
"last_modified": "1436119135",
|
||||
"is_public": "0",
|
||||
"is_private": "0",
|
||||
"is_everybody_allowed": "0",
|
||||
"default_swimlane": "Default swimlane",
|
||||
"show_default_swimlane": "1",
|
||||
"description": "test",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### getAllProjects
|
||||
|
||||
- Purpose: **Get all available projects**
|
||||
- Parameters:
|
||||
- **none**
|
||||
- Result on success: **List of projects**
|
||||
- Result on failure: **false**
|
||||
|
||||
Request example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "getAllProjects",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### updateProject
|
||||
|
||||
- Purpose: **Update a project**
|
||||
- Parameters:
|
||||
- **id** (integer, required)
|
||||
- **name** (string, required)
|
||||
- **description** (string, optional)
|
||||
- Result on success: **true**
|
||||
- Result on failure: **false**
|
||||
|
||||
Request example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "updateProject",
|
||||
"id": 1853996288,
|
||||
"params": {
|
||||
"id": 1,
|
||||
"name": "PHP client update"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Response example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 1853996288,
|
||||
"result": true
|
||||
}
|
||||
```
|
||||
|
||||
### removeProject
|
||||
|
||||
- Purpose: **Remove a project**
|
||||
- Parameters:
|
||||
**project_id** (integer, required)
|
||||
- Result on success: **true**
|
||||
- Result on failure: **false**
|
||||
|
||||
Request example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "removeProject",
|
||||
"id": 46285125,
|
||||
"params": {
|
||||
"project_id": "2"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Response example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 46285125,
|
||||
"result": true
|
||||
}
|
||||
```
|
||||
|
||||
### enableProject
|
||||
|
||||
- Purpose: **Enable a project**
|
||||
- Parameters:
|
||||
- **project_id** (integer, required)
|
||||
- Result on success: **true**
|
||||
- Result on failure: **false**
|
||||
|
||||
Request example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "enableProject",
|
||||
"id": 1775494839,
|
||||
"params": [
|
||||
"1"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Response example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 1775494839,
|
||||
"result": true
|
||||
}
|
||||
```
|
||||
|
||||
### disableProject
|
||||
|
||||
- Purpose: **Disable a project**
|
||||
- Parameters:
|
||||
- **project_id** (integer, required)
|
||||
- Result on success: **true**
|
||||
- Result on failure: **false**
|
||||
|
||||
Request example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "disableProject",
|
||||
"id": 1734202312,
|
||||
"params": [
|
||||
"1"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Response example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 1734202312,
|
||||
"result": true
|
||||
}
|
||||
```
|
||||
|
||||
### enableProjectPublicAccess
|
||||
|
||||
- Purpose: **Enable public access for a given project**
|
||||
- Parameters:
|
||||
- **project_id** (integer, required)
|
||||
- Result on success: **true**
|
||||
- Result on failure: **false**
|
||||
|
||||
Request example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "enableProjectPublicAccess",
|
||||
"id": 103792571,
|
||||
"params": [
|
||||
"1"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Response example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 103792571,
|
||||
"result": true
|
||||
}
|
||||
```
|
||||
|
||||
### disableProjectPublicAccess
|
||||
|
||||
- Purpose: **Disable public access for a given project**
|
||||
- Parameters:
|
||||
- **project_id** (integer, required)
|
||||
- Result on success: **true**
|
||||
- Result on failure: **false**
|
||||
|
||||
Request example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "disableProjectPublicAccess",
|
||||
"id": 942472945,
|
||||
"params": [
|
||||
"1"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Response example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 942472945,
|
||||
"result": true
|
||||
}
|
||||
```
|
||||
|
||||
### getProjectActivity
|
||||
|
||||
- Purpose: **Get activity stream for a project**
|
||||
- Parameters:
|
||||
- **project_id** (integer, required)
|
||||
- Result on success: **List of events**
|
||||
- Result on failure: **false**
|
||||
|
||||
Request example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "getProjectActivity",
|
||||
"id": 942472945,
|
||||
"params": [
|
||||
"project_id": 1
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### getProjectActivities
|
||||
|
||||
- Purpose: **Get Activityfeed for Project(s)**
|
||||
- Parameters:
|
||||
- **project_ids** (integer array, required)
|
||||
- Result on success: **List of events**
|
||||
- Result on failure: **false**
|
||||
|
||||
Request example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "getProjectActivities",
|
||||
"id": 942472945,
|
||||
"params": [
|
||||
"project_ids": [1,2]
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### getMembers
|
||||
|
||||
- Purpose: **Get members of a project**
|
||||
- Parameters:
|
||||
- **project_id** (integer, required)
|
||||
- Result on success: Key/value pair of user_id and username
|
||||
- Result on failure: **false**
|
||||
|
||||
Request example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "getMembers",
|
||||
"id": 1944388643,
|
||||
"params": [
|
||||
1
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Response example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 1944388643,
|
||||
"result": {
|
||||
"1": "user1",
|
||||
"2": "user2",
|
||||
"3": "user3"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### revokeUser
|
||||
|
||||
- Purpose: **Revoke user access for a given project**
|
||||
- Parameters:
|
||||
- **project_id** (integer, required)
|
||||
- **user_id** (integer, required)
|
||||
- Result on success: **true**
|
||||
- Result on failure: **false**
|
||||
|
||||
Request example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "revokeUser",
|
||||
"id": 251218350,
|
||||
"params": [
|
||||
1,
|
||||
2
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Response example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 251218350,
|
||||
"result": true
|
||||
}
|
||||
```
|
||||
|
||||
### allowUser
|
||||
|
||||
- Purpose: **Grant user access for a given project**
|
||||
- Parameters:
|
||||
- **project_id** (integer, required)
|
||||
- **user_id** (integer, required)
|
||||
- Result on success: **true**
|
||||
- Result on failure: **false**
|
||||
|
||||
Request example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "allowUser",
|
||||
"id": 2111451404,
|
||||
"params": [
|
||||
1,
|
||||
2
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Response example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 2111451404,
|
||||
"result": true
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user