A unit must belong to a domain and one domain only. A unit can contain one or many (child) units, but a unit can only belong to one (parent) unit only. In other words, the relationship between units is one-many.
| Anchor | ||||
|---|---|---|---|---|
|
Attribute |
| type |
| values |
| default |
| mandate |
| comment |
|
name |
| string |
|
|
|
|
| true |
|
|
|
description |
| string |
|
|
|
|
| false |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
domain |
| object |
|
|
|
|
| true |
| the domain that the unit belongs to |
|
parent |
| object |
|
|
|
|
| true |
| the parent unit |
|
hasChildren |
| boolean |
|
|
|
|
|
|
|
|
|
children |
| coll |
|
|
|
|
|
|
|
|
|
repository | object |
|
|
|
|
|
|
|
|
| |
radiusProfile | object |
|
|
|
|
|
|
|
|
| |
policies |
| coll |
|
|
|
|
|
|
| Assigned policies |
|
radiusProfile |
| object |
|
|
|
|
|
|
|
|
|
radiusAttributes |
| coll |
|
|
|
|
|
|
|
|
|
| Anchor | ||||
|---|---|---|---|---|
|
To create a new unit, we must specify the name of the unit and its parent: either a domain or a unit. On success, the method always returns the internal unit id of the newly created unit.
Parameters:
{
"attrs":{list of attribute value pairs}
}
Response:
{
"error":0,
"result":{"id":the id of the newly created unit}
}
Examples:
- Creating a top-level unit without parent.
Method:/unit/create
Parameters:
{
"attrs":
{
"name":"sales",
"description":"sales dept.",
"domain.id":2
}
}
Response: {"error":0, "result":{"id":1}}
- Creating a sub-level unit by specifying its parent unit.
Method:/unit/create
Parameters:
{
"attrs":
{
"name":"sales - london",
"description":"sales team in London",
"parent.id":1
}
}
Response: {"error":0, "result":{"id":2}}
| Anchor | ||||
|---|---|---|---|---|
|
Examples:
- Search units in the entire domain
| Wiki Markup |
|---|
Method:/unit/search
Parameters:
\{
"match":
\[
\[domain.id", "=", 1\],
\[name", "like", "sales%"\]
\],
"return":\["name", "id", "domain.id", "parent.id"\],
"sort":"name",
"order":"asc",
"max": 20,
"offset": 0
\}
Response:
\{
"error":0,
"result":
\[
\{
"name":"sales",
"id":"1",
"domain.id":1,
"parent.id":null
\},
\{
"name":"sales - london",
"id":"2",
"domain.id":1,
"parent.id":1
\},
\{
...
\}
\]
\} |
- Search top-level units
| Wiki Markup |
|---|
Method:/unit/search
Parameters:
\{
"match":
\[
\[domain.id", "=", 1\]
\[parent.id", "=", null\]
\],
"return":\["name", "id"\],
"sort":"name",
"order":"asc",
"max": 20,
"offset": 0
\}
Response:
\{
"error":0,
"result":
\[
\{
"name":"sales",
"id":1,
\},
\{
...
\}
\]
\}
\\ |
- Searchchild units of a specific unit
| Wiki Markup |
|---|
Method:/unit/search
Parameters:
\{
"match":
\[
\[domain.id", "=", 1\],
\[parent.id", "=", 2\]
\],
"return":\["name", "id"\],
"sort":"name",
"order":"asc",
"max": 20,
"offset": 0
\}
Response:
\{
"error":0,
"result":
\[
\{
"name":"sales - london",
"id":2,
\},
\{
...
\}
\]
\}
\\ |
| Anchor | ||||
|---|---|---|---|---|
|
| Wiki Markup |
|---|
Method:/unit/get
Parameters:
\{
"match":
\[
\["id", "=", 2\],
\],
"return":\["name", "id", "domain.id","parent.id"\],
\}
Response:
\{
"error":0,
"result":
\{
"name":"sales - london",
"id":"2",
"domain.id":1,
"parent.id":1
\}
\} |
| Anchor | ||||
|---|---|---|---|---|
|
Method:/unit/set
Parameters:
{
"id":1,
"attrs":{"description":"new description"}
}
Response:
{
"error":0
}
| Anchor | ||||
|---|---|---|---|---|
|
Method:/unit/delete
Parameters:
{
"id":1
}
Response:
{
"error":0
}
| Anchor | ||||
|---|---|---|---|---|
|
| Wiki Markup |
|---|
Method:/unit/addUsers
Parameters:
\{
"id":unit_id,
"users":
\[
\{id:uid1\},
\{id:uid2\}
\]
\}
Response:
\{
"error":0
\}
\\ |
| Anchor | ||||
|---|---|---|---|---|
|
Method:/unit/deployTokens
Parameters:
{
"attrs":
{
"unit.id":unit_id,
"product.id":product_id
}
}
Response:
{
"error":0
}
Other Methods:
- applyPolicy(apply/unapply)