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