import updates

This commit is contained in:
Tit Petric
2018-06-03 14:27:37 +02:00
parent 8dcc1f1069
commit f91e92200e
7 changed files with 354 additions and 136 deletions
+40 -62
View File
@@ -2,20 +2,13 @@
Organisations represent a top-level grouping entity. There may be many organisations defined in a single deployment.
## Add new organisation
### Request parameters
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
## Archive organisation
### Request parameters
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
| id | uint64 | POST | ID of Organisation | N/A | NO |
| id | uint64 | POST | ID of Organisation | N/A | YES |
## Update organisation details
@@ -32,7 +25,7 @@ Organisations represent a top-level grouping entity. There may be many organisat
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
| id | uint64 | GET | ID of Organisation | N/A | NO |
| id | uint64 | GET | ID of Organisation | N/A | YES |
## Remove organisation
@@ -40,7 +33,7 @@ Organisations represent a top-level grouping entity. There may be many organisat
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
| id | uint64 | GET | ID of Organisation | N/A | NO |
| id | uint64 | GET | ID of Organisation | N/A | YES |
## Search organisations
@@ -54,19 +47,13 @@ Organisations represent a top-level grouping entity. There may be many organisat
An organisation may have many teams. Teams may have many channels available. Access to channels may be shared between teams.
## Add new team
### Request parameters
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
## Archive team
### Request parameters
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
| id | uint64 | POST | ID of Organisation | N/A | YES |
## Update team details
@@ -74,6 +61,9 @@ An organisation may have many teams. Teams may have many channels available. Acc
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
| id | uint64 | POST | ID of Team | N/A | NO |
| name | string | POST | Name of Team | N/A | YES |
| members | []uint64 | POST | Team member IDs | N/A | NO |
## Move team to different organisation
@@ -81,13 +71,16 @@ An organisation may have many teams. Teams may have many channels available. Acc
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
| id | uint64 | POST | ID of Organisation | N/A | YES |
| organisation_id | uint64 | POST | ID of Organisation | N/A | YES |
## Read team details
## Read team details and memberships
### Request parameters
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
| id | uint64 | GET | ID of Organisation | N/A | YES |
## Remove team
@@ -95,6 +88,7 @@ An organisation may have many teams. Teams may have many channels available. Acc
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
| id | uint64 | GET | ID of Organisation | N/A | YES |
## Search teams
@@ -102,25 +96,19 @@ An organisation may have many teams. Teams may have many channels available. Acc
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
| query | string | GET | Search query | N/A | NO |
# Channels
A channel is a representation of a sequence of messages. It has meta data like channel subject. Channels may be public, private or direct (between two users).
## Add new channel
### Request parameters
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
| name | type | POST | title | N/A | NO |
## Archive channel
### Request parameters
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
| id | uint64 | POST | ID of Channel | N/A | YES |
## Update channel details
@@ -128,6 +116,18 @@ A channel is a representation of a sequence of messages. It has meta data like c
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
| id | uint64 | POST | ID of Channel | N/A | NO |
| name | string | POST | Name of Channel | N/A | YES |
| topic | string | POST | Subject of Channel | N/A | YES |
## Merge one team into another
### Request parameters
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
| destination | uint64 | POST | Destination Channel ID | N/A | YES |
| source | uint64 | POST | Source Channel ID | N/A | YES |
## Move channel to different team or organisation
@@ -135,6 +135,7 @@ A channel is a representation of a sequence of messages. It has meta data like c
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
| id | uint64 | POST | ID of Channel | N/A | YES |
## Read channel details
@@ -142,6 +143,7 @@ A channel is a representation of a sequence of messages. It has meta data like c
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
| id | uint64 | GET | ID of Channel | N/A | YES |
## Remove channel
@@ -149,6 +151,7 @@ A channel is a representation of a sequence of messages. It has meta data like c
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
| id | uint64 | GET | ID of Channel | N/A | YES |
## Search channels
@@ -156,6 +159,7 @@ A channel is a representation of a sequence of messages. It has meta data like c
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
| query | string | GET | Search query | N/A | NO |
# Messages
@@ -179,19 +183,15 @@ The following event types may be sent with a message event:
| EDITED | A message has been edited by the sender |
| REMOVED | A message has been removed by the sender |
## Add new message
### Request parameters
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
## Update message details
## New message / edit message
### Request parameters
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
| id | uint64 | POST | ID of Message | N/A | NO |
| channel_id | uint64 | POST | ID of Channel where to post message | N/A | NO |
| contents | string | POST | Message contents (markdown) | N/A | YES |
## Flag message for user (bookmark)
@@ -199,6 +199,7 @@ The following event types may be sent with a message event:
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
| id | uint64 | POST | ID of Message | N/A | YES |
## Pin message to channel (public bookmark)
@@ -206,6 +207,7 @@ The following event types may be sent with a message event:
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
| id | uint64 | POST | ID of Message | N/A | YES |
## Read message details
@@ -213,6 +215,7 @@ The following event types may be sent with a message event:
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
| channel_id | uint64 | POST | ID of Channel to read messages from | N/A | YES |
## Remove message
@@ -220,6 +223,7 @@ The following event types may be sent with a message event:
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
| id | uint64 | GET | ID of Message | N/A | YES |
## Search messages
@@ -227,37 +231,11 @@ The following event types may be sent with a message event:
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
| query | string | GET | Search string to match against messages | N/A | NO |
| message_type | string | GET | Limit results to message type | N/A<br/>Values:<br/><br/><ul><li>`history`</li><li>`message`</li><li>`attachment`</li><li>`media`</li></ul> | NO |
# Members
## Add new member
### Request parameters
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
## Update member details
### Request parameters
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
## Read member details
### Request parameters
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
## Remove member
### Request parameters
| Parameter | Type | Method | Description | Default | Required? |
| --------- | ---- | ------ | ----------- | ------- | --------- |
## Search members (Directory)
### Request parameters
+1 -1
View File
@@ -14,7 +14,7 @@
| --------- | ---- | ------ | ----------- | ------- | --------- |
{foreach $call.parameters as $method => $params}
{foreach $params as $param}
| {param.name} | {param.type} | {method|toupper} | {param.title} | {if empty($param.default)}N/A{else}{param.default}{/if} | {if $param.required}YES{else}NO{/if} |
| {param.name} | {param.type} | {method|toupper} | {param.title} | {if empty($param.default)}N/A{else}{param.default}{/if}{if $param.values}<br/>Values:<br/><br/><ul>{foreach $param.values as $value}<li>`{value}`</li>{/foreach}</ul>{/if} | {if $param.required}YES{else}NO{/if} |
{/foreach}
{/foreach}
+93 -12
View File
@@ -5,47 +5,128 @@
"Interface": "Channel",
"Path": "/channel",
"APIs": {
"add": {
"Method": "POST",
"Title": "Add new channel",
"Path": "/add",
"Parameters": {}
},
"archive": {
"Method": "POST",
"Title": "Archive channel",
"Path": "/archive",
"Parameters": {}
"Parameters": {
"post": [
{
"name": "id",
"required": true,
"title": "ID of Channel",
"type": "uint64"
}
]
}
},
"edit": {
"Method": "POST",
"Title": "Update channel details",
"Path": "/edit",
"Parameters": {}
"Parameters": {
"post": [
{
"name": "id",
"required": false,
"title": "ID of Channel",
"type": "uint64"
},
{
"name": "name",
"required": true,
"title": "Name of Channel",
"type": "string"
},
{
"name": "topic",
"required": true,
"title": "Subject of Channel",
"type": "string"
}
]
}
},
"merge": {
"Method": "POST",
"Title": "Merge one team into another",
"Path": "/merge",
"Parameters": {
"post": [
{
"name": "destination",
"required": true,
"title": "Destination Channel ID",
"type": "uint64"
},
{
"name": "source",
"required": true,
"title": "Source Channel ID",
"type": "uint64"
}
]
}
},
"move": {
"Method": "POST",
"Title": "Move channel to different team or organisation",
"Path": "/move",
"Parameters": {}
"Parameters": {
"post": [
{
"name": "id",
"required": true,
"title": "ID of Channel",
"type": "uint64"
}
]
}
},
"read": {
"Method": "GET",
"Title": "Read channel details",
"Path": "/read",
"Parameters": {}
"Parameters": {
"get": [
{
"name": "id",
"required": true,
"title": "ID of Channel",
"type": "uint64"
}
]
}
},
"remove": {
"Method": "DELETE",
"Title": "Remove channel",
"Path": "/remove",
"Parameters": {}
"Parameters": {
"get": [
{
"name": "id",
"required": true,
"title": "ID of Channel",
"type": "uint64"
}
]
}
},
"search": {
"Method": "GET",
"Title": "Search channels",
"Path": "/search",
"Parameters": {}
"Parameters": {
"get": [
{
"name": "query",
"required": false,
"title": "Search query",
"type": "string"
}
]
}
}
}
}
-24
View File
@@ -4,30 +4,6 @@
"Interface": "Member",
"Path": "/member",
"APIs": {
"add": {
"Method": "POST",
"Title": "Add new member",
"Path": "/add",
"Parameters": {}
},
"edit": {
"Method": "POST",
"Title": "Update member details",
"Path": "/edit",
"Parameters": {}
},
"read": {
"Method": "GET",
"Title": "Read member details",
"Path": "/read",
"Parameters": {}
},
"remove": {
"Method": "DELETE",
"Title": "Remove member",
"Path": "/remove",
"Parameters": {}
},
"search": {
"Method": "GET",
"Title": "Search members (Directory)",
+85 -13
View File
@@ -4,47 +4,119 @@
"Interface": "Message",
"Path": "/message",
"APIs": {
"add": {
"Method": "POST",
"Title": "Add new message",
"Path": "/add",
"Parameters": {}
},
"edit": {
"Method": "POST",
"Title": "Update message details",
"Title": "New message / edit message",
"Path": "/edit",
"Parameters": {}
"Parameters": {
"post": [
{
"name": "id",
"required": false,
"title": "ID of Message",
"type": "uint64"
},
{
"name": "channel_id",
"required": false,
"title": "ID of Channel where to post message",
"type": "uint64"
},
{
"name": "contents",
"required": true,
"title": "Message contents (markdown)",
"type": "string"
}
]
}
},
"flag": {
"Method": "POST",
"Title": "Flag message for user (bookmark)",
"Path": "/flag",
"Parameters": {}
"Parameters": {
"post": [
{
"name": "id",
"required": true,
"title": "ID of Message",
"type": "uint64"
}
]
}
},
"pin": {
"Method": "POST",
"Title": "Pin message to channel (public bookmark)",
"Path": "/pin",
"Parameters": {}
"Parameters": {
"post": [
{
"name": "id",
"required": true,
"title": "ID of Message",
"type": "uint64"
}
]
}
},
"read": {
"Method": "GET",
"Title": "Read message details",
"Path": "/read",
"Parameters": {}
"Parameters": {
"post": [
{
"name": "channel_id",
"required": true,
"title": "ID of Channel to read messages from",
"type": "uint64"
}
]
}
},
"remove": {
"Method": "DELETE",
"Title": "Remove message",
"Path": "/remove",
"Parameters": {}
"Parameters": {
"get": [
{
"name": "id",
"required": true,
"title": "ID of Message",
"type": "uint64"
}
]
}
},
"search": {
"Method": "GET",
"Title": "Search messages",
"Path": "/search",
"Parameters": {}
"Parameters": {
"get": [
{
"name": "query",
"required": false,
"title": "Search string to match against messages",
"type": "string"
},
{
"name": "message_type",
"required": false,
"title": "Limit results to message type",
"type": "string",
"values": [
"history",
"message",
"attachment",
"media"
]
}
]
}
}
}
}
+56 -11
View File
@@ -5,41 +5,86 @@
"Interface": "Organisation",
"Path": "/organisation",
"APIs": {
"add": {
"Method": "POST",
"Title": "Add new organisation",
"Path": "/add",
"Parameters": {}
},
"archive": {
"Method": "POST",
"Title": "Archive organisation",
"Path": "/archive",
"Parameters": {}
"Parameters": {
"post": [
{
"name": "id",
"required": true,
"title": "ID of Organisation",
"type": "uint64"
}
]
}
},
"edit": {
"Method": "POST",
"Title": "Update organisation details",
"Path": "/edit",
"Parameters": {}
"Parameters": {
"post": [
{
"name": "id",
"required": false,
"title": "ID of Organisation",
"type": "uint64"
},
{
"name": "name",
"required": true,
"title": "Name of Organisation",
"type": "string"
}
]
}
},
"read": {
"Method": "GET",
"Title": "Read organisation details",
"Path": "/read",
"Parameters": {}
"Parameters": {
"get": [
{
"name": "id",
"required": true,
"title": "ID of Organisation",
"type": "uint64"
}
]
}
},
"remove": {
"Method": "DELETE",
"Title": "Remove organisation",
"Path": "/remove",
"Parameters": {}
"Parameters": {
"get": [
{
"name": "id",
"required": true,
"title": "ID of Organisation",
"type": "uint64"
}
]
}
},
"search": {
"Method": "GET",
"Title": "Search organisations",
"Path": "/search",
"Parameters": {}
"Parameters": {
"get": [
{
"name": "query",
"required": false,
"title": "Search query",
"type": "string"
}
]
}
}
}
}
+79 -13
View File
@@ -5,47 +5,113 @@
"Interface": "Team",
"Path": "/team",
"APIs": {
"add": {
"Method": "POST",
"Title": "Add new team",
"Path": "/add",
"Parameters": {}
},
"archive": {
"Method": "POST",
"Title": "Archive team",
"Path": "/archive",
"Parameters": {}
"Parameters": {
"post": [
{
"name": "id",
"required": true,
"title": "ID of Organisation",
"type": "uint64"
}
]
}
},
"edit": {
"Method": "POST",
"Title": "Update team details",
"Path": "/edit",
"Parameters": {}
"Parameters": {
"post": [
{
"name": "id",
"required": false,
"title": "ID of Team",
"type": "uint64"
},
{
"name": "name",
"required": true,
"title": "Name of Team",
"type": "string"
},
{
"name": "members",
"required": false,
"title": "Team member IDs",
"type": "[]uint64"
}
]
}
},
"move": {
"Method": "POST",
"Title": "Move team to different organisation",
"Path": "/move",
"Parameters": {}
"Parameters": {
"POST": [
{
"name": "id",
"required": true,
"title": "ID of Organisation",
"type": "uint64"
},
{
"name": "organisation_id",
"required": true,
"title": "ID of Organisation",
"type": "uint64"
}
]
}
},
"read": {
"Method": "GET",
"Title": "Read team details",
"Title": "Read team details and memberships",
"Path": "/read",
"Parameters": {}
"Parameters": {
"get": [
{
"name": "id",
"required": true,
"title": "ID of Organisation",
"type": "uint64"
}
]
}
},
"remove": {
"Method": "DELETE",
"Title": "Remove team",
"Path": "/remove",
"Parameters": {}
"Parameters": {
"get": [
{
"name": "id",
"required": true,
"title": "ID of Organisation",
"type": "uint64"
}
]
}
},
"search": {
"Method": "GET",
"Title": "Search teams",
"Path": "/search",
"Parameters": {}
"Parameters": {
"get": [
{
"name": "query",
"required": false,
"title": "Search query",
"type": "string"
}
]
}
}
}
}