From 96e4897a11345e3e2a22b0c6771f199384a7ad48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20K=C5=82ys?= Date: Sat, 9 Aug 2025 09:17:20 +0200 Subject: [PATCH] Ensure mandatory path parameters are not empty --- Sources/PSWritePDF/Cmdlets/CmdletConvertHTMLToPDF.cs | 2 ++ Sources/PSWritePDF/Cmdlets/CmdletConvertPDFToText.cs | 1 + Sources/PSWritePDF/Cmdlets/CmdletGetPDF.cs | 1 + Sources/PSWritePDF/Cmdlets/CmdletMergePDF.cs | 2 ++ Sources/PSWritePDF/Cmdlets/CmdletNewPDF.cs | 1 + Sources/PSWritePDF/Cmdlets/CmdletNewPDFImage.cs | 1 + Sources/PSWritePDF/Cmdlets/CmdletRegisterPDFFont.cs | 1 + Sources/PSWritePDF/Cmdlets/CmdletSplitPDF.cs | 2 ++ 8 files changed, 11 insertions(+) diff --git a/Sources/PSWritePDF/Cmdlets/CmdletConvertHTMLToPDF.cs b/Sources/PSWritePDF/Cmdlets/CmdletConvertHTMLToPDF.cs index a12606f..4435684 100644 --- a/Sources/PSWritePDF/Cmdlets/CmdletConvertHTMLToPDF.cs +++ b/Sources/PSWritePDF/Cmdlets/CmdletConvertHTMLToPDF.cs @@ -52,10 +52,12 @@ private static class ParameterSetNames /// Path to an HTML file. [Parameter(Mandatory = true, ParameterSetName = ParameterSetNames.File)] + [ValidateNotNullOrEmpty] public string FilePath { get; set; } /// Output PDF path. [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] public string OutputFilePath { get; set; } /// Open the PDF after creation. diff --git a/Sources/PSWritePDF/Cmdlets/CmdletConvertPDFToText.cs b/Sources/PSWritePDF/Cmdlets/CmdletConvertPDFToText.cs index a87b0c2..ea6a092 100644 --- a/Sources/PSWritePDF/Cmdlets/CmdletConvertPDFToText.cs +++ b/Sources/PSWritePDF/Cmdlets/CmdletConvertPDFToText.cs @@ -40,6 +40,7 @@ public class CmdletConvertPDFToText : PSCmdlet /// Path to the PDF file. [Parameter(Mandatory = true, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true)] [Alias("FullName")] + [ValidateNotNullOrEmpty] public string FilePath { get; set; } = string.Empty; /// Pages to extract. diff --git a/Sources/PSWritePDF/Cmdlets/CmdletGetPDF.cs b/Sources/PSWritePDF/Cmdlets/CmdletGetPDF.cs index 4794d39..64d41bd 100644 --- a/Sources/PSWritePDF/Cmdlets/CmdletGetPDF.cs +++ b/Sources/PSWritePDF/Cmdlets/CmdletGetPDF.cs @@ -35,6 +35,7 @@ public class CmdletGetPDF : PSCmdlet { /// Path to the PDF file. [Parameter(Mandatory = true, Position = 0, ValueFromPipeline = true)] + [ValidateNotNullOrEmpty] public string FilePath { get; set; } = null!; /// Ignore document protection. diff --git a/Sources/PSWritePDF/Cmdlets/CmdletMergePDF.cs b/Sources/PSWritePDF/Cmdlets/CmdletMergePDF.cs index 9a88915..722c07c 100644 --- a/Sources/PSWritePDF/Cmdlets/CmdletMergePDF.cs +++ b/Sources/PSWritePDF/Cmdlets/CmdletMergePDF.cs @@ -35,10 +35,12 @@ public class CmdletMergePDF : PSCmdlet { /// Paths to PDF files to merge. [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] public string[] InputFile { get; set; } /// Path for the merged output. [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] public string OutputFile { get; set; } /// Ignore protection on input files. diff --git a/Sources/PSWritePDF/Cmdlets/CmdletNewPDF.cs b/Sources/PSWritePDF/Cmdlets/CmdletNewPDF.cs index 6724178..47a79b9 100644 --- a/Sources/PSWritePDF/Cmdlets/CmdletNewPDF.cs +++ b/Sources/PSWritePDF/Cmdlets/CmdletNewPDF.cs @@ -40,6 +40,7 @@ public class CmdletNewPDF : PSCmdlet { /// Output file path. [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] public string FilePath { get; set; } = string.Empty; /// PDF version to use. diff --git a/Sources/PSWritePDF/Cmdlets/CmdletNewPDFImage.cs b/Sources/PSWritePDF/Cmdlets/CmdletNewPDFImage.cs index 29518fd..ae21b21 100644 --- a/Sources/PSWritePDF/Cmdlets/CmdletNewPDFImage.cs +++ b/Sources/PSWritePDF/Cmdlets/CmdletNewPDFImage.cs @@ -33,6 +33,7 @@ namespace PSWritePDF.Cmdlets; public class CmdletNewPDFImage : PSCmdlet { /// Path to the image file. [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] public string ImagePath { get; set; } = string.Empty; /// Desired image width. [Parameter] public int Width { get; set; } diff --git a/Sources/PSWritePDF/Cmdlets/CmdletRegisterPDFFont.cs b/Sources/PSWritePDF/Cmdlets/CmdletRegisterPDFFont.cs index f9defb4..f74aff5 100644 --- a/Sources/PSWritePDF/Cmdlets/CmdletRegisterPDFFont.cs +++ b/Sources/PSWritePDF/Cmdlets/CmdletRegisterPDFFont.cs @@ -40,6 +40,7 @@ public class CmdletRegisterPDFFont : PSCmdlet /// Path to the font file. [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] public string FontPath { get; set; } = string.Empty; /// Optional encoding for the font. diff --git a/Sources/PSWritePDF/Cmdlets/CmdletSplitPDF.cs b/Sources/PSWritePDF/Cmdlets/CmdletSplitPDF.cs index c35c9dd..f35ce33 100644 --- a/Sources/PSWritePDF/Cmdlets/CmdletSplitPDF.cs +++ b/Sources/PSWritePDF/Cmdlets/CmdletSplitPDF.cs @@ -41,12 +41,14 @@ public class CmdletSplitPDF : PSCmdlet [Parameter(Mandatory = true, ParameterSetName = SplitCountParameterSet)] [Parameter(Mandatory = true, ParameterSetName = PageRangeParameterSet)] [Parameter(Mandatory = true, ParameterSetName = BookmarkParameterSet)] + [ValidateNotNullOrEmpty] public string FilePath { get; set; } /// Destination folder for split files. [Parameter(Mandatory = true, ParameterSetName = SplitCountParameterSet)] [Parameter(Mandatory = true, ParameterSetName = PageRangeParameterSet)] [Parameter(Mandatory = true, ParameterSetName = BookmarkParameterSet)] + [ValidateNotNullOrEmpty] public string OutputFolder { get; set; } /// Base name for output files.