Public/Folders.ps1
<# .SYNOPSIS Get all ClickUp Folders. .DESCRIPTION Get all ClickUp Folders. .EXAMPLE PS C:\> Get-ClickUpFolders -SpaceID 11111111 Get all ClickUp folders under ClickUp Space with ID "11111111". .EXAMPLE PS C:\> Get-ClickUpFolders -SpaceID 11111111 -Archived $true Get all ClickUp folders under ClickUp Space with ID "11111111" including archived. .INPUTS None .OUTPUTS System.Object Hashtable. .NOTES See the link for information. .LINK https://jsapi.apiary.io/apis/clickup20/reference/0/folders/get-folders.html #> function Get-ClickUpFolders { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [uint64]$SpaceID, [Parameter()] [bool]$Archived = $false ) $QueryString = @{ $Archived = $Archived } $Folders = Invoke-ClickUpAPIGet -Arguments $QueryString -Endpoint "space/$SpaceID/folder" Return $Folders.folders } <# .SYNOPSIS Get properties on a particular ClickUp folder. .DESCRIPTION Get properties on a particular ClickUp folder. .EXAMPLE PS C:\> Get-ClickUpFolder -FolderID 11111111 Get ClickUp folder with ID "11111111". .INPUTS None .OUTPUTS System.Object Hashtable. .NOTES See the link for information. .LINK https://jsapi.apiary.io/apis/clickup20/reference/0/folders/get-folder.html #> function Get-ClickUpFolder { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [uint64]$FolderID ) $Folder = Invoke-ClickUpAPIGet -Arguments $QueryString -Endpoint "folder/$FolderID" Return $Folder } <# .SYNOPSIS Create a ClickUp folder in a particular space. .DESCRIPTION Create a ClickUp folder in a particular space. .EXAMPLE PS C:\> New-ClickUpFolder -SpaceID 11111111 -Name 'New Folder Name' Create a ClickUp folder with name "New Folder Name" under the ClickUp Space with ID "11111111". .INPUTS None .OUTPUTS System.Object Hashtable. .NOTES See the link for information. .LINK https://jsapi.apiary.io/apis/clickup20/reference/0/folders/create-folder.html #> function New-ClickUpFolder { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [uint64]$SpaceID, [Parameter(Mandatory = $true)] [uint64]$Name ) $Body = @{ name = $Name } $NewFolder = Invoke-ClickUpAPIPost -Endpoint "space/$SpaceID/folder" -Body $Body Return $NewFolder } <# .SYNOPSIS Update the name of a ClickUp Folder. .DESCRIPTION Update the name of a ClickUp Folder. .EXAMPLE PS C:\> Set-ClickUpFolder -FolderID 11111111 -Name 'Change Folder Name' Change the name of the ClickUp folder with ID "11111111" to "Change Folder Name". .INPUTS None .OUTPUTS System.Object Hashtable. .NOTES See the link for information. .LINK https://jsapi.apiary.io/apis/clickup20/reference/0/folders/create-folder.html #> function Set-ClickUpFolder { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [uint64]$FolderID, [Parameter(Mandatory = $true)] [uint64]$Name ) $Body = @{ name = $Name } $Folder = Invoke-ClickUpAPIPut -Endpoint "folder/$FolderID" -Body $Body Return $Folder } <# .SYNOPSIS Delete a ClickUp Folder. .DESCRIPTION Delete a ClickUp Folder. .EXAMPLE PS C:\> Remove-ClickUpFolder -FolderID 11111111 Delete the ClickUp folder with ID "11111111". .INPUTS None .OUTPUTS System.Object Hashtable. .NOTES See the link for information. .LINK https://jsapi.apiary.io/apis/clickup20/reference/0/folders/delete-folder.html #> function Remove-ClickUpFolder { [CmdletBinding(SupportsShouldProcess, ConfirmImpact = 'High')] param ( [Parameter(Mandatory = $true)] [uint64]$FolderID ) if ($PSCmdlet.ShouldProcess($FolderID)) { Invoke-ClickUpAPIDelete -Endpoint "folder/$FolderID" } } |