Skip to content

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

RelationKeyTypeRelation Field(s)
UseruserBelongs touser_id
UsersusersBelongs to manyIntermediate table
DepartmentsdepartmentsBelongs to manyIntermediate table
FilemanagerDirectorySharedUrlsshared_urlsHas manyfilemanager_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

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

KeyTypeDefaultDescription
path *string-Relative path of the FilemanagerDirectory (normalized to include leading and trailing /)
department_idsstringnullThe Departments that are allowed to see the FilemanagerDirectory (seperated by comma)
user_idsstringnullThe 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

KeyTypeDescription
pathstringRelative path of the FilemanagerDirectory (normalized to include leading and trailing /)
department_idsstringThe Departments that are allowed to see the FilemanagerDirectory (seperated by comma)
user_idsstringThe 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
}