Skip to content

Commit

Permalink
Merge pull request #28 from greenlighttec/develop
Browse files Browse the repository at this point in the history
Added Remove cmdlets
  • Loading branch information
homotechsual authored Oct 23, 2023
2 parents c515e03 + bc3f6fd commit f5ff3e1
Show file tree
Hide file tree
Showing 3 changed files with 108 additions and 0 deletions.
38 changes: 38 additions & 0 deletions Public/Remove/Remove-HaloAppointment.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
function Remove-HaloAppointment {
<#
.SYNOPSIS
Removes an Appointment from the Halo API.
.DESCRIPTION
Deletes a specific Appointment from Halo.
.OUTPUTS
A powershell object containing the response.
#>
[cmdletbinding( SupportsShouldProcess = $True, ConfirmImpact = 'High' )]
[OutputType([Object])]
Param(
# The Appointment ID
[Parameter( Mandatory, ParameterSetName = 'Single' )]
[int64]$AppointmentID,
# Object containing Appointment id and ticket id for batch processing.
[Parameter( Mandatory, ParameterSetName = 'Batch')]
[Object]$Appointment
)
Invoke-HaloPreFlightCheck
try {
if ($Appointment) {
$AppointmentID = $Appointment.Id
}
$ObjectToDelete = Get-HaloAppointment -AppointmentID $AppointmentID
if ($ObjectToDelete) {
if ($PSCmdlet.ShouldProcess("Appointment '$($ObjectToDelete.id)' by '$($ObjectToDelete.who)'", 'Delete')) {
$Resource = "api/Appointment/$($AppointmentID)"
$AppointmentResults = New-HaloDELETERequest -Resource $Resource
Return $AppointmentResults
}
} else {
Throw 'Appointment was not found in Halo to delete.'
}
} catch {
New-HaloError -ErrorRecord $_
}
}
38 changes: 38 additions & 0 deletions Public/Remove/Remove-HaloAsset.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
function Remove-HaloAsset {
<#
.SYNOPSIS
Removes an Asset from the Halo API.
.DESCRIPTION
Deletes a specific Asset from Halo.
.OUTPUTS
A powershell object containing the response.
#>
[cmdletbinding( SupportsShouldProcess = $True, ConfirmImpact = 'High' )]
[OutputType([Object])]
Param(
# The Asset ID
[Parameter( Mandatory, ParameterSetName = 'Single' )]
[int64]$AssetID,
# Object containing Asset id and ticket id for batch processing.
[Parameter( Mandatory, ParameterSetName = 'Batch')]
[Object]$Asset
)
Invoke-HaloPreFlightCheck
try {
if ($Asset) {
$AssetID = $Asset.Id
}
$ObjectToDelete = Get-HaloAsset -AssetID $AssetID
if ($ObjectToDelete) {
if ($PSCmdlet.ShouldProcess("Asset '$($ObjectToDelete.id)' by '$($ObjectToDelete.who)'", 'Delete')) {
$Resource = "api/Asset/$($AssetID)"
$AssetResults = New-HaloDELETERequest -Resource $Resource
Return $AssetResults
}
} else {
Throw 'Asset was not found in Halo to delete.'
}
} catch {
New-HaloError -ErrorRecord $_
}
}
32 changes: 32 additions & 0 deletions Public/Remove/Remove-HaloSupplier.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
function Remove-HaloSupplier {
<#
.SYNOPSIS
Removes a supplier from the Halo API.
.DESCRIPTION
Deletes a specific supplier from Halo.
.OUTPUTS
A powershell object containing the response.
#>
[cmdletbinding( SupportsShouldProcess = $True, ConfirmImpact = 'High' )]
[OutputType([Object])]
Param(
# The Supplier ID
[Parameter( Mandatory, ParameterSetName = 'Single' )]
[int64]$SupplierID
)
Invoke-HaloPreFlightCheck
try {
$ObjectToDelete = Get-HaloSupplier -SupplierID $SupplierID
if ($ObjectToDelete) {
if ($PSCmdlet.ShouldProcess("Action '$($ObjectToDelete.id)' by '$($ObjectToDelete.who)'", 'Delete')) {
$Resource = "api/supplier/$($SupplierID)"
$SupplierResults = New-HaloDELETERequest -Resource $Resource
Return $SupplierResults
}
} else {
Throw 'Supplier was not found in Halo to delete.'
}
} catch {
New-HaloError -ErrorRecord $_
}
}

0 comments on commit f5ff3e1

Please sign in to comment.