internal/autorest/out/shares/Get-DracoonARShareDownload.ps1

function Get-DracoonARShareDownload {
<#
.SYNOPSIS
    Request list of Download Shares
 
.DESCRIPTION
    ### Description:
Retrieve a list of Download Shares.
 
### Precondition:
Authenticated user.
 
### Postcondition:
List of available Download Shares is returned.
 
### Further Information:
 
### Filtering:
All filter fields are connected via logical (**AND**). createdBy and updatedBy searches several user-related attributes.
 
Filter string syntax: `FIELD_NAME:OPERATOR:VALUE[:VALUE...]`
 
<details style="padding-left: 10px">
<summary style="cursor: pointer; outline: none"><strong>Example</strong></summary>
 
`name:cn:searchString_1|createdBy:cn:searchString_2`
Filter by file name contains `searchString_1` **AND** creator info (`firstName` **OR** `lastName` **OR** `email` **OR** `username`) contains `searchString_2`.
 
</details>
 
### Filtering options:
<details style="padding: 10px; background-color: #F6F7F8; border: 1px solid #AAA; border-radius: 5px;">
<summary style="cursor: pointer; outline: none"><strong>Expand</strong></summary>
 
| `FIELD_NAME` | Filter Description | `OPERATOR` | Operator Description | `VALUE` |
| :--- | :--- | :--- | :--- | :--- |
| `name` | Alias or node name filter | `cn` | Alias or node name contains value. | `search String` |
| `createdAt` | Creation date filter | `ge, le` | Creation date is greater / less equals than value.<br>Multiple operator values are allowed and will be connected via logical conjunction (**AND**).<br>e.g. `createdAt:ge:2016-12-31`&#124;`createdAt:le:2018-01-01` | `Date (yyyy-MM-dd)` |
| `createdBy` | Creator info filter | `cn, eq` | Creator info (`firstName` **OR** `lastName` **OR** `email` **OR** `username`) contains value. | `search String` |
| `createdById` | Creator ID filter | `eq` | Creator ID equals value. | `positive Integer` |
| `accessKey` | Share access key filter | `cn` | Share access key contains values. | `search String` |
| `nodeId` | Source node ID | `eq` | Source node (room, folder, file) ID equals value. | `positive Integer` |
| `updatedBy` | Modifier info filter | `cn, eq` | Modifier info (`firstName` **OR** `lastName` **OR** `email` **OR** `username`) contains value. | `search String` |
| `updatedById` | Modifier ID filter | `eq` | Modifier ID equals value. | `positive Integer` |
 
</details>
### Deprecated filtering options:
<details style="padding: 10px; background-color: #F6F7F8; border: 1px solid #AAA; border-radius: 5px;">
<summary style="cursor: pointer; outline: none"><strong>Expand</strong></summary>
 
| `FIELD_NAME` | Filter Description | `OPERATOR` | Operator Description | `VALUE` |
| :--- | :--- | :--- | :--- | :--- |
| <del>`userId`</del> | Creator user ID | `eq` | Creator user ID equals value. Use `createdById` instead | `positive Integer` |
 
</details>
 
---
 
### Sorting:
Sort string syntax: `FIELD_NAME:ORDER`
`ORDER` can be `asc` or `desc`.
Multiple sort fields are supported.
 
<details style="padding-left: 10px">
<summary style="cursor: pointer; outline: none"><strong>Example</strong></summary>
 
`name:asc|expireAt:desc`
Sort by `name` ascending **AND** by `expireAt` descending.
 
</details>
 
### Sorting options:
<details style="padding: 10px; background-color: #F6F7F8; border: 1px solid #AAA; border-radius: 5px;">
<summary style="cursor: pointer; outline: none"><strong>Expand</strong></summary>
 
| `FIELD_NAME` | Description |
| :--- | :--- |
| `name` | Alias or node name |
| `notifyCreator` | Notify creator on every download |
| `expireAt` | Expiration date |
| `createdAt` | Creation date |
| `createdBy` | Creator first name, last name |
 
</details>
 
### Deprecated sorting options:
<details style="padding: 10px; background-color: #F6F7F8; border: 1px solid #AAA; border-radius: 5px;">
<summary style="cursor: pointer; outline: none"><strong>Expand</strong></summary>
 
| `FIELD_NAME` | Description |
| :--- | :--- |
| <del>`classification`</del> | Classification ID:<ul><li>1 - public</li><li>2 - internal</li><li>3 - confidential</li><li>4 - strictly confidential</li></ul> |
 
</details>
 
.PARAMETER XSdsAuthToken
    Authentication token
 
.PARAMETER Connection
    Object of Class ARAHConnection, stores the authentication Token and the API Base-URL
 
.PARAMETER Filter
    Filter string
 
.PARAMETER Share_id
    Share ID
 
.PARAMETER Offset
    Range offset
 
.PARAMETER XSdsDateFormat
    Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) & [leettime.de](http://leettime.de/))
 
.PARAMETER Limit
    Range limit.
 
Maximum 500.
 
 For more results please use paging (`offset` + `limit`).
 
.PARAMETER Sort
    Sort string
 
.EXAMPLE
    PS C:\> Get-DracoonARShareDownload -Share_id $share_id
 
    ### Description:
Retrieve detailed information about one Download Share.
 
### Precondition:
User with <span style='padding: 3px; background-color: #F6F7F8; border: 1px solid #000; border-radius: 5px; display: inline;'>&#128275; manage download share</span> permissions on target node.
 
### Postcondition:
Download Share is returned
 
### Further Information:
None.
 
.EXAMPLE
    PS C:\> Get-DracoonARShareDownload -Connection $connection
 
    ### Description:
Retrieve a list of Download Shares.
 
### Precondition:
Authenticated user.
 
### Postcondition:
List of available Download Shares is returned.
 
### Further Information:
 
### Filtering:
All filter fields are connected via logical (**AND**). createdBy and updatedBy searches several user-related attributes.
 
Filter string syntax: `FIELD_NAME:OPERATOR:VALUE[:VALUE...]`
 
<details style="padding-left: 10px">
<summary style="cursor: pointer; outline: none"><strong>Example</strong></summary>
 
`name:cn:searchString_1|createdBy:cn:searchString_2`
Filter by file name contains `searchString_1` **AND** creator info (`firstName` **OR** `lastName` **OR** `email` **OR** `username`) contains `searchString_2`.
 
</details>
 
### Filtering options:
<details style="padding: 10px; background-color: #F6F7F8; border: 1px solid #AAA; border-radius: 5px;">
<summary style="cursor: pointer; outline: none"><strong>Expand</strong></summary>
 
| `FIELD_NAME` | Filter Description | `OPERATOR` | Operator Description | `VALUE` |
| :--- | :--- | :--- | :--- | :--- |
| `name` | Alias or node name filter | `cn` | Alias or node name contains value. | `search String` |
| `createdAt` | Creation date filter | `ge, le` | Creation date is greater / less equals than value.<br>Multiple operator values are allowed and will be connected via logical conjunction (**AND**).<br>e.g. `createdAt:ge:2016-12-31`&#124;`createdAt:le:2018-01-01` | `Date (yyyy-MM-dd)` |
| `createdBy` | Creator info filter | `cn, eq` | Creator info (`firstName` **OR** `lastName` **OR** `email` **OR** `username`) contains value. | `search String` |
| `createdById` | Creator ID filter | `eq` | Creator ID equals value. | `positive Integer` |
| `accessKey` | Share access key filter | `cn` | Share access key contains values. | `search String` |
| `nodeId` | Source node ID | `eq` | Source node (room, folder, file) ID equals value. | `positive Integer` |
| `updatedBy` | Modifier info filter | `cn, eq` | Modifier info (`firstName` **OR** `lastName` **OR** `email` **OR** `username`) contains value. | `search String` |
| `updatedById` | Modifier ID filter | `eq` | Modifier ID equals value. | `positive Integer` |
 
</details>
### Deprecated filtering options:
<details style="padding: 10px; background-color: #F6F7F8; border: 1px solid #AAA; border-radius: 5px;">
<summary style="cursor: pointer; outline: none"><strong>Expand</strong></summary>
 
| `FIELD_NAME` | Filter Description | `OPERATOR` | Operator Description | `VALUE` |
| :--- | :--- | :--- | :--- | :--- |
| <del>`userId`</del> | Creator user ID | `eq` | Creator user ID equals value. Use `createdById` instead | `positive Integer` |
 
</details>
 
---
 
### Sorting:
Sort string syntax: `FIELD_NAME:ORDER`
`ORDER` can be `asc` or `desc`.
Multiple sort fields are supported.
 
<details style="padding-left: 10px">
<summary style="cursor: pointer; outline: none"><strong>Example</strong></summary>
 
`name:asc|expireAt:desc`
Sort by `name` ascending **AND** by `expireAt` descending.
 
</details>
 
### Sorting options:
<details style="padding: 10px; background-color: #F6F7F8; border: 1px solid #AAA; border-radius: 5px;">
<summary style="cursor: pointer; outline: none"><strong>Expand</strong></summary>
 
| `FIELD_NAME` | Description |
| :--- | :--- |
| `name` | Alias or node name |
| `notifyCreator` | Notify creator on every download |
| `expireAt` | Expiration date |
| `createdAt` | Creation date |
| `createdBy` | Creator first name, last name |
 
</details>
 
### Deprecated sorting options:
<details style="padding: 10px; background-color: #F6F7F8; border: 1px solid #AAA; border-radius: 5px;">
<summary style="cursor: pointer; outline: none"><strong>Expand</strong></summary>
 
| `FIELD_NAME` | Description |
| :--- | :--- |
| <del>`classification`</del> | Classification ID:<ul><li>1 - public</li><li>2 - internal</li><li>3 - confidential</li><li>4 - strictly confidential</li></ul> |
 
</details>
 
.LINK
    <unknown>
#>

    [CmdletBinding(DefaultParameterSetName = 'default')]
    param (
        [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'default')]
        [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'requestDownloadShare')]
        [string]
        $XSdsAuthToken,

        [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true, ParameterSetName = 'default')]
        [object]
        $Connection,

        [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'default')]
        [string]
        $Filter,

        [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true, ParameterSetName = 'requestDownloadShare')]
        [string]
        $Share_id,

        [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'default')]
        [object]
        $Offset,

        [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'default')]
        [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'requestDownloadShare')]
        [object]
        $XSdsDateFormat,

        [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'default')]
        [object]
        $Limit,

        [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'default')]
        [string]
        $Sort
    )
    process {
        $__mapping = @{
            'XSdsAuthToken' = 'X-Sds-Auth-Token'
            'Connection' = 'Connection'
            'Filter' = 'filter'
            'Offset' = 'offset'
            'XSdsDateFormat' = 'X-Sds-Date-Format'
            'Limit' = 'limit'
            'Sort' = 'sort'
        }
        $__body = $PSBoundParameters | ConvertTo-DracoonARHashtable -Include @() -Mapping $__mapping
        $__query = $PSBoundParameters | ConvertTo-DracoonARHashtable -Include @('Filter','Offset','Limit','Sort') -Mapping $__mapping
        $__header = $PSBoundParameters | ConvertTo-DracoonARHashtable -Include @('XSdsAuthToken','XSdsDateFormat') -Mapping $__mapping
        $__path = 'shares/downloads'
        if ($Share_id) { $__path += "/$Share_id" }
        Invoke-DracoonAPI -Path $__path -Method get -Body $__body -Query $__query -Header $__header -Connection $Connection
    }
}