Appearance
FilemanagerDirectories
Introduction
FilemanagerDirectories
represent a folder on the filesystem. The path
of a folder describes how to retrieve it when it's displayed.
There is no direct relation to FilemanagerFiles. The resolution of files and directories is done by their path
property.
Model & Relations
Namespace
Modules\Filemanager\Entities\FilemanagerDirectory
Relations
Relation | Key | Type | Relation Field(s) |
---|---|---|---|
User | user | Belongs to | user_id |
Users | users | Belongs to many | Intermediate table |
Departments | departments | Belongs to many | Intermediate table |
FilemanagerDirectorySharedUrls | shared_urls | Has many | filemanager_directory_shared_urls.directory_id |
Computed Properties
name
- The basename of theFilemanagerDirectory
Traits
SoftDeletes
List
Get a list of all FilemanagerDirectories
the current authenticated User is allowed to view.
Note
You can use the filters matches_path
and matches_path_recursive
on routes of this module. However, the response time of the list action can be considerably high because of recursive permission handling. You might want to use the list by path action for tasks regarding a specific path.
Definition
GET /api/filemanager/directories
Example Request
php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/filemanager/directories', [
'headers' => ['Authorization' => "Bearer {accessToken}"]
]);
Example Response
json
[
{
"id": 1,
"user_id": 3,
"path": "/Lorem ipsum/",
"created_at": "2018-12-21 13:13:26",
"updated_at": "2018-12-21 13:13:26",
"deleted_at": null,
"name": "Lorem ipsum"
},
{
"id": 2,
"user_id": 3,
"path": "/Dolor sit amet/",
"created_at": "2018-12-21 13:28:46",
"updated_at": "2018-12-21 13:28:46",
"deleted_at": null,
"name": "Dolor sit amet"
}
]
List by path
Get a list of all FilemanagerDirectories
by given {path}
the current authenticated User is allowed to view.
If you don't pass a value for {path}
a call to the root folder will be assumed.
Definition
GET /api/filemanager/directories/path/{path}
Example Request
php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/filemanager/directories/path/Lorem%20Ipsum', [
'headers' => ['Authorization' => "Bearer {accessToken}"]
]);
Example Response
json
[
{
"id": 1,
"user_id": 3,
"path": "/Lorem Ipsum/Dolor-mit",
"created_at": "2018-12-21 13:13:26",
"updated_at": "2018-12-21 13:13:26",
"deleted_at": null,
"name": "Lorem ipsum"
},
{
"id": 2,
"user_id": 3,
"path": "/Lorem Ipsum/Dolor-sit",
"created_at": "2018-12-21 13:28:46",
"updated_at": "2018-12-21 13:28:46",
"deleted_at": null,
"name": "Dolor sit amet"
}
]
Count
Get the count of all FilemanagerDirectories
the current authenticated User is allowed to view.
Definition
GET /api/filemanager/directories/count
Example Request
php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/filemanager/directories/count', [
'headers' => ['Authorization' => "Bearer {accessToken}"]
]);
Example Response
json
2
Get
Get a single FilemanagerDirectory
by id
.
Definition
GET /api/filemanager/directories/{id}
Example Request
php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/infoboard/posts/1', [
'headers' => ['Authorization' => "Bearer {accessToken}"]
]);
Example Response
json
{
"id": 1,
"user_id": 3,
"path": "/Lorem ipsum/",
"created_at": "2018-12-21 13:13:26",
"updated_at": "2018-12-21 13:13:26",
"deleted_at": null,
"name": "Lorem ipsum"
}
Get Information
Get information about a FilemanagerDirectory
by id
.
Definition
GET /api/filemanager/directories/{id}/information
Example Request
php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/filemanager/directories/1/information', [
'headers' => ['Authorization' => "Bearer {accessToken}"]
]);
Example Response
json
{
"files": 2,
"size": 274843
}
Download
Download a ZIP of a FilemanagerDirectory
by id
.
Definition
GET /api/filemanager/directories/{id}/download
Example Request
php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/filemanager/directories/1/download', [
'headers' => ['Authorization' => "Bearer {accessToken}"]
]);
Create
Create a new FilemanagerDirectory
.
Definition
POST /api/filemanager/directories
Request Keys
Key | Type | Default | Description |
---|---|---|---|
path * | string | - | Relative path of the FilemanagerDirectory (normalized to include leading and trailing / ) |
department_ids | string | null | The Departments that are allowed to see the FilemanagerDirectory (seperated by comma) |
user_ids | string | null | The Users that are allowed to see the FilemanagerDirectory (seperated by comma) |
Keys with *
are required.
Note
When department_ids
and user_ids
are present, department_ids
get preferred.
If both are empty, the FilemanagerDirectory
will be public.
Example Request
php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('POST', '/api/filemanager/directories', [
'headers' => ['Authorization' => "Bearer {accessToken}"],
'json' => [
'path' => 'Lorem ipsum',
'department_ids' => '1,2,3'
]
]);
Example Response
json
{
"status": "success",
"data": {
"id": 3,
"user_id": 3,
"path": "/Lorem ipsum/",
"created_at": "2018-12-21 13:32:55",
"updated_at": "2018-12-21 13:32:55",
"deleted_at": null,
"name": "Lorem ipsum"
}
}
Update
Update an existing FilemanagerDirectory
by id
.
Definition
PUT /api/filemanager/directories/{id}
Request Keys
Key | Type | Description |
---|---|---|
path | string | Relative path of the FilemanagerDirectory (normalized to include leading and trailing / ) |
department_ids | string | The Departments that are allowed to see the FilemanagerDirectory (seperated by comma) |
user_ids | string | The Users that are allowed to see the FilemanagerDirectory (seperated by comma) |
Example Request
php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('PUT', '/api/filemanager/directories/3', [
'headers' => ['Authorization' => "Bearer {accessToken}"],
'json' => [
'path' => 'Dolor sit amet',
'user_ids' => '1,2'
]
]);
Example Response
json
{
"status": "success",
"data": {
"id": 3,
"user_id": 3,
"path": "/Dolor sit amet/",
"created_at": "2018-12-21 13:32:55",
"updated_at": "2018-12-21 13:34:11",
"deleted_at": null,
"name": "Dolor sit amet"
}
}
Delete
Delete an existing FilemanagerDirectory
by id
.
Definition
DELETE /api/filemanager/directories/{id}
Example Request
php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('DELETE', '/api/filemanager/directories/3', [
'headers' => ['Authorization' => "Bearer {accessToken}"]
]);
Example Response
json
{
"status": "success",
"data": null
}