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 the FilemanagerDirectory

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

$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/filemanager/directories', [
    'headers' => ['Authorization' => "Bearer {accessToken}"]
]);

Example Response

[
  {
    "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

$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

[
  {
    "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

$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/filemanager/directories/count', [
    'headers' => ['Authorization' => "Bearer {accessToken}"]
]);

Example Response

2

Get

Get a single FilemanagerDirectory by id.

Definition

GET /api/filemanager/directories/{id}

Example Request

$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/infoboard/posts/1', [
    'headers' => ['Authorization' => "Bearer {accessToken}"]
]);

Example Response

{
  "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

$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

{
  "files": 2,
  "size": 274843
}

Download

Download a ZIP of a FilemanagerDirectory by id.

Definition

GET /api/filemanager/directories/{id}/download

Example Request

$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

$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

{
  "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

$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

{
  "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

$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('DELETE', '/api/filemanager/directories/3', [
    'headers' => ['Authorization' => "Bearer {accessToken}"]
]);

Example Response

{
  "status": "success",
  "data": null
}
Last Updated: 05/21/2019