Skip to content

Latest commit

 

History

History
34 lines (33 loc) · 2.05 KB

AddingTools.md

File metadata and controls

34 lines (33 loc) · 2.05 KB

Adding Tools

  1. Create folder and file .\Tools\<ToolName>\<ToolName>Pages.ps1 with the Add-PodeWebPage code inside.
  2. Put other files you need in the same folder.
  3. Add to Config.Example.ps1 a new section under Tools with:
@{
    ...
    Tools = @{
        ...
        ToolName = @{
            # Enable/Disable this tool.
            Enable = $true

            OtherConfigYouNeed = 'Example value'
        }
    }
}
  1. The page code will be loaded if the tool config Enable is true.
  2. To access the config use $Config['Tools']['ToolName'] or (Get-PodeConfig).
  3. Available extra functions:
    • $RelativePath | Get-PwtRootedPath if you need to add root to relative path (relative to the Home.ps1 folder).
    • Add-PodeStaticRoute @RouteParams splat $RouteParams when adding a Route to set its EndpointName and Authentication if they where configured by the user.
    • Set-PodeResponseAttachment @AttachmentParams splat (Get-PodeConfig)['Global']['AttachmentParams'] to set its EndpointName if they where configured by the user.
    • Import-Module @ImportParams splat $ImportParams when adding a Module to set -Force if "Debug" is on for easier reloading while developing. You can also copy Server.Example.psd1 to Server.psd1 for auto reloading on file change.
    • To use the SQLite, use Connect-Sql in the beginning of the runspace to establish a confection for the first time then run queries with Invoke-Sql -QueryPath '\Path\File.sql' -QueryFormat Param.
    • To generate a file and download it, you can use the DownloadPath config and the /download route, for example excel:
$DownloadPath = (Get-PodeConfig)['Global']['DownloadPath']
$PathLeaf = Join-Path (New-Guid).Guid ('Data {0:yyyy-MM-dd HH-mm-ss}.xlsx' -f (Get-Date))
Export-Excel -InputObject $Data -TableName 'Data' -AutoSize -Path (Join-Path $DownloadPath $PathLeaf)
$AttachmentParams = (Get-PodeConfig)['Global']['AttachmentParams']
Set-PodeResponseAttachment -Path ('/download', ($PathLeaf.Replace('\', '/')) -join '/') @AttachmentParams