Roles
Introduction
Roles
are used to manage Permissions
in intratool.
The binding of Permissions
to a Role
is done by a pivot table called permission_role
, in which each Permission
of the unique Role
is assigned.
Those Roles
will then get assigned to a Department so that every member of a Department has the same Permissions
.
Model Definition
Alias
role
Relations
List
Get a list of all Roles
.
Definition
GET
/api/roles
Example Request
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/roles', [
'headers' => ['Authorization' => "Bearer {accessToken}"]
]);
Example Response
[
{
"id": 2,
"name": "Standort 01",
"active": true,
"user_id": 2,
"department_id": 2,
"folder_id": null,
"location_key": null,
"sort_number": 2,
"created_at": "2019-01-15 12:00:00",
"updated_at": "2019-01-15 12:00:00",
"deleted_at": null
},
{
"id": 3,
"name": "Standort 02",
"active": true,
"user_id": 2,
"department_id": 3,
"folder_id": null,
"location_key": null,
"sort_number": 3,
"created_at": "2019-01-15 13:00:00",
"updated_at": "2019-01-15 13:00:00",
"deleted_at": null
}
]
Show
Show a single Role
by id
.
Definition
GET
/api/roles/{id}
Example Request
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/roles/2', [
'headers' => ['Authorization' => "Bearer {accessToken}"]
]);
Example Response
{
"id": 2,
"name": "Standort 01",
"active": true,
"user_id": 2,
"department_id": 2,
"folder_id": null,
"location_key": null,
"sort_number": 2,
"created_at": "2019-01-15 12:00:00",
"updated_at": "2019-01-15 12:00:00",
"deleted_at": null
}
Create
Create a new Role
.
Definition
POST
/api/roles
Request Keys
name
*
string
-
The name of the Role.
active
boolean
true
Whether the Role
is active.
department_ids
array
Related Department
The IDs of Departments the Role
has "advanced access" to view content from.
infoboard_department_ids
array
Related Department
The IDs of Departments the Role
is allowed to assign InfoboardPosts to.
location_key
string
-
The location description of the Role
.
Keys with *
are required.
Example Request
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('POST', '/api/roles', [
'headers' => ['Authorization' => "Bearer {accessToken}"],
'json' => [
'department_id' => 4,
'name' => 'Standort 03',
'permission_ids' => [1]
]
]);
Example Response
{
"status": "success",
"data": {
"id": 4,
"name": "Standort 03",
"active": true,
"user_id": 2,
"department_id": 4,
"folder_id": null,
"location_key": null,
"sort_number": 4,
"created_at": "2019-01-15 14:00:00",
"updated_at": "2019-01-15 14:00:00",
"deleted_at": null
}
}
Update
Update an existing Role
by id
.
Definition
PUT
/api/roles/{id}
Request Keys
name
string
The name of the Role.
active
boolean
Whether the Role
is active.
infoboard_department_ids
array
The IDs of Departments the Role
is allowed to assign InfoboardPosts to.
location_key
string
The location description of the Role
.
Example Request
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('PUT', '/api/roles/4', [
'headers' => ['Authorization' => "Bearer {accessToken}"],
'json' => [
'department_ids' => [2, 3],
'location_key' => 'Standort-03'
]
]);
Example Response
{
"status": "success",
"data": {
"id": 4,
"name": "Standort 03",
"active": true,
"user_id": 2,
"department_id": 4,
"folder_id": null,
"location_key": "Standort-03",
"sort_number": 4,
"created_at": "2019-01-15 14:00:00",
"updated_at": "2019-01-15 14:30:00",
"deleted_at": null
}
}
Delete
Delete an existing Role
by id
.
Definition
DELETE
/api/roles/{id}
Example Request
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('DELETE', '/api/roles/4', [
'headers' => ['Authorization' => "Bearer {accessToken}"]
]);
Example Response
{
"status": "success",
"data": null
}
Last updated