From 2850b82a166dc02db2dec1ba7ea870b0cb194a68 Mon Sep 17 00:00:00 2001 From: Petri Asikainen Date: Tue, 15 Jun 2021 18:29:07 +0300 Subject: [PATCH 1/4] Do converto-json later in invoke-snipeitmethod function --- SnipeitPS/Private/Invoke-SnipeitMethod.ps1 | 5 ++++- SnipeitPS/Public/Get-SnipeitAsset.ps1 | 1 - SnipeitPS/Public/New-SnipeitAccessory.ps1 | 4 +--- SnipeitPS/Public/New-SnipeitAsset.ps1 | 4 +--- SnipeitPS/Public/New-SnipeitAssetMaintenance.ps1 | 11 +++++------ SnipeitPS/Public/New-SnipeitAudit.ps1 | 4 +--- SnipeitPS/Public/New-SnipeitCategory.ps1 | 4 +--- SnipeitPS/Public/New-SnipeitCompany.ps1 | 4 +--- SnipeitPS/Public/New-SnipeitComponent.ps1 | 8 +++----- SnipeitPS/Public/New-SnipeitConsumable.ps1 | 6 ++---- SnipeitPS/Public/New-SnipeitCustomField.ps1 | 4 +--- SnipeitPS/Public/New-SnipeitDepartment.ps1 | 4 +--- SnipeitPS/Public/New-SnipeitLicense.ps1 | 16 +++++++--------- SnipeitPS/Public/New-SnipeitLocation.ps1 | 4 +--- SnipeitPS/Public/New-SnipeitManufacturer.ps1 | 5 +---- SnipeitPS/Public/New-SnipeitModel.ps1 | 3 +-- SnipeitPS/Public/New-SnipeitUser.ps1 | 4 +--- SnipeitPS/Public/Remove-SnipeitAccessory.ps1 | 2 +- SnipeitPS/Public/Remove-SnipeitAsset.ps1 | 2 +- .../Public/Remove-SnipeitAssetMaintenance.ps1 | 2 +- SnipeitPS/Public/Remove-SnipeitCategory.ps1 | 2 +- SnipeitPS/Public/Remove-SnipeitCompany.ps1 | 2 +- SnipeitPS/Public/Remove-SnipeitComponent.ps1 | 2 +- SnipeitPS/Public/Remove-SnipeitConsumable.ps1 | 2 +- SnipeitPS/Public/Remove-SnipeitCustomField.ps1 | 2 +- SnipeitPS/Public/Remove-SnipeitDepartment.ps1 | 2 +- SnipeitPS/Public/Remove-SnipeitLicense.ps1 | 2 +- SnipeitPS/Public/Remove-SnipeitLocation.ps1 | 2 +- SnipeitPS/Public/Remove-SnipeitManufacturer.ps1 | 2 +- SnipeitPS/Public/Remove-SnipeitModel.ps1 | 2 +- SnipeitPS/Public/Remove-SnipeitUser.ps1 | 2 +- SnipeitPS/Public/Reset-SnipeitAccessoryOwner.ps1 | 2 +- SnipeitPS/Public/Reset-SnipeitAssetOwner.ps1 | 4 +--- SnipeitPS/Public/Set-SnipeitAccessory.ps1 | 8 +++----- SnipeitPS/Public/Set-SnipeitAccessoryOwner.ps1 | 4 +--- SnipeitPS/Public/Set-SnipeitAsset.ps1 | 7 +++---- SnipeitPS/Public/Set-SnipeitAssetOwner.ps1 | 8 +++----- SnipeitPS/Public/Set-SnipeitCategory.ps1 | 4 +--- SnipeitPS/Public/Set-SnipeitCompany.ps1 | 6 ++---- SnipeitPS/Public/Set-SnipeitComponent.ps1 | 10 ++++------ SnipeitPS/Public/Set-SnipeitConsumable.ps1 | 3 +-- SnipeitPS/Public/Set-SnipeitCustomField.ps1 | 5 +---- SnipeitPS/Public/Set-SnipeitDepartment.ps1 | 4 +--- SnipeitPS/Public/Set-SnipeitLicense.ps1 | 15 +++++++-------- SnipeitPS/Public/Set-SnipeitLicenseSeat.ps1 | 4 +--- SnipeitPS/Public/Set-SnipeitLocation.ps1 | 4 +--- SnipeitPS/Public/Set-SnipeitModel.ps1 | 3 +-- SnipeitPS/Public/Set-SnipeitStatus.ps1 | 3 +-- SnipeitPS/Public/Set-SnipeitUser.ps1 | 3 +-- 49 files changed, 80 insertions(+), 136 deletions(-) diff --git a/SnipeitPS/Private/Invoke-SnipeitMethod.ps1 b/SnipeitPS/Private/Invoke-SnipeitMethod.ps1 index 2e3779d..b6deb74 100644 --- a/SnipeitPS/Private/Invoke-SnipeitMethod.ps1 +++ b/SnipeitPS/Private/Invoke-SnipeitMethod.ps1 @@ -17,7 +17,7 @@ # Body of the request [ValidateNotNullOrEmpty()] - [string]$Body, + [Hashtable]$Body, [string] $Token, @@ -34,6 +34,9 @@ Throw $exception } + #To support images "image" property have be handled before this + $Body = $Body | ConvertTo-Json + $_headers = @{ "Authorization" = "Bearer $($token)" 'Content-Type' = 'application/json; charset=utf-8' diff --git a/SnipeitPS/Public/Get-SnipeitAsset.ps1 b/SnipeitPS/Public/Get-SnipeitAsset.ps1 index 691b260..99afa60 100644 --- a/SnipeitPS/Public/Get-SnipeitAsset.ps1 +++ b/SnipeitPS/Public/Get-SnipeitAsset.ps1 @@ -177,7 +177,6 @@ function Get-SnipeitAsset() { 'Assets overdue for auditing' {$apiurl = "$url/api/v1/hardware/audit/overdue"} } - $Parameters = @{ Uri = $apiurl Method = 'Get' diff --git a/SnipeitPS/Public/New-SnipeitAccessory.ps1 b/SnipeitPS/Public/New-SnipeitAccessory.ps1 index df4663c..83654e6 100644 --- a/SnipeitPS/Public/New-SnipeitAccessory.ps1 +++ b/SnipeitPS/Public/New-SnipeitAccessory.ps1 @@ -113,12 +113,10 @@ function New-SnipeitAccessory() { $values['purchase_date'] = $values['purchase_date'].ToString("yyyy-MM-dd") } - $Body = $Values | ConvertTo-Json; - $Parameters = @{ Uri = "$url/api/v1/accessories" Method = 'POST' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/New-SnipeitAsset.ps1 b/SnipeitPS/Public/New-SnipeitAsset.ps1 index 8ca47fb..c6cf147 100644 --- a/SnipeitPS/Public/New-SnipeitAsset.ps1 +++ b/SnipeitPS/Public/New-SnipeitAsset.ps1 @@ -137,12 +137,10 @@ function New-SnipeitAsset() $Values += $customfields } - $Body = $Values | ConvertTo-Json; - $Parameters = @{ Uri = "$url/api/v1/hardware" Method = 'Post' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/New-SnipeitAssetMaintenance.ps1 b/SnipeitPS/Public/New-SnipeitAssetMaintenance.ps1 index 2115539..a62f690 100644 --- a/SnipeitPS/Public/New-SnipeitAssetMaintenance.ps1 +++ b/SnipeitPS/Public/New-SnipeitAssetMaintenance.ps1 @@ -81,20 +81,19 @@ function New-SnipeitAssetMaintenance() { $Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters - if ($values['start_date']) { - $values['start_date'] = $values['start_date'].ToString("yyyy-MM-dd") + if ($Values['start_date']) { + $Values['start_date'] = $Values['start_date'].ToString("yyyy-MM-dd") } - if ($values['completion_date']) { - $values['completion_date'] = $values['completion_date'].ToString("yyyy-MM-dd") + if ($Values['completion_date']) { + $Values['completion_date'] = $Values['completion_date'].ToString("yyyy-MM-dd") } - $Body = $Values | ConvertTo-Json; $Parameters = @{ Uri = "$url/api/v1/maintenances" Method = 'Post' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/New-SnipeitAudit.ps1 b/SnipeitPS/Public/New-SnipeitAudit.ps1 index b01faab..883491b 100644 --- a/SnipeitPS/Public/New-SnipeitAudit.ps1 +++ b/SnipeitPS/Public/New-SnipeitAudit.ps1 @@ -48,12 +48,10 @@ function New-SnipeitAudit() $Values += @{"asset_tag" = $tag} } - $Body = $Values | ConvertTo-Json; - $Parameters = @{ Uri = "$url/api/v1/hardware/audit" Method = 'Post' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/New-SnipeitCategory.ps1 b/SnipeitPS/Public/New-SnipeitCategory.ps1 index 62ca0e9..bb4b0ef 100644 --- a/SnipeitPS/Public/New-SnipeitCategory.ps1 +++ b/SnipeitPS/Public/New-SnipeitCategory.ps1 @@ -68,8 +68,6 @@ function New-SnipeitCategory() } $Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters - - $Body = $Values | ConvertTo-Json; } process { @@ -77,7 +75,7 @@ function New-SnipeitCategory() $Parameters = @{ Uri = "$url/api/v1/categories" Method = 'POST' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/New-SnipeitCompany.ps1 b/SnipeitPS/Public/New-SnipeitCompany.ps1 index 5c541a4..e85508b 100644 --- a/SnipeitPS/Public/New-SnipeitCompany.ps1 +++ b/SnipeitPS/Public/New-SnipeitCompany.ps1 @@ -41,12 +41,10 @@ function New-SnipeitCompany() $Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters - $Body = $Values | ConvertTo-Json; - $Parameters = @{ Uri = "$url/api/v1/companies" Method = 'POST' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/New-SnipeitComponent.ps1 b/SnipeitPS/Public/New-SnipeitComponent.ps1 index 7880b76..ced3f23 100644 --- a/SnipeitPS/Public/New-SnipeitComponent.ps1 +++ b/SnipeitPS/Public/New-SnipeitComponent.ps1 @@ -76,16 +76,14 @@ function New-SnipeitComponent() { $Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters - if ($values['purchase_date']) { - $values['purchase_date'] = $values['purchase_date'].ToString("yyyy-MM-dd") + if ($Values['purchase_date']) { + $Values['purchase_date'] = $Values['purchase_date'].ToString("yyyy-MM-dd") } - $Body = $Values | ConvertTo-Json; - $Parameters = @{ Uri = "$url/api/v1/components" Method = 'POST' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/New-SnipeitConsumable.ps1 b/SnipeitPS/Public/New-SnipeitConsumable.ps1 index d89b691..fb7d617 100644 --- a/SnipeitPS/Public/New-SnipeitConsumable.ps1 +++ b/SnipeitPS/Public/New-SnipeitConsumable.ps1 @@ -114,18 +114,16 @@ function New-SnipeitConsumable() begin { $Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters - if ($values['purchase_date']) { + if ($Values['purchase_date']) { $Values['purchase_date'] = $Values['purchase_date'].ToString("yyyy-MM-dd") } - - $Body = $Values | ConvertTo-Json; } process { $Parameters = @{ Uri = "$url/api/v1/consumables" Method = 'Post' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/New-SnipeitCustomField.ps1 b/SnipeitPS/Public/New-SnipeitCustomField.ps1 index 454394c..2b1efbe 100644 --- a/SnipeitPS/Public/New-SnipeitCustomField.ps1 +++ b/SnipeitPS/Public/New-SnipeitCustomField.ps1 @@ -83,12 +83,10 @@ function New-SnipeitCustomField() $Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters - $Body = $Values | ConvertTo-Json; - $Parameters = @{ Uri = "$url/api/v1/fields" Method = 'post' - Body = $Body + Body = $Values Token = $apiKey } } diff --git a/SnipeitPS/Public/New-SnipeitDepartment.ps1 b/SnipeitPS/Public/New-SnipeitDepartment.ps1 index 73dbedb..d7334ba 100644 --- a/SnipeitPS/Public/New-SnipeitDepartment.ps1 +++ b/SnipeitPS/Public/New-SnipeitDepartment.ps1 @@ -57,12 +57,10 @@ function New-SnipeitDepartment() { $Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters - $Body = $Values | ConvertTo-Json; - $Parameters = @{ Uri = "$url/api/v1/departments" Method = 'POST' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/New-SnipeitLicense.ps1 b/SnipeitPS/Public/New-SnipeitLicense.ps1 index baac560..11a49fb 100644 --- a/SnipeitPS/Public/New-SnipeitLicense.ps1 +++ b/SnipeitPS/Public/New-SnipeitLicense.ps1 @@ -128,24 +128,22 @@ function New-SnipeitLicense() { $Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters - if ($values['expiration_date']) { - $values['expiration_date'] = $values['expiration_date'].ToString("yyyy-MM-dd") + if ($Values['expiration_date']) { + $Values['expiration_date'] = $Values['expiration_date'].ToString("yyyy-MM-dd") } - if ($values['purchase_date']) { - $values['purchase_date'] = $values['purchase_date'].ToString("yyyy-MM-dd") + if ($Values['purchase_date']) { + $Values['purchase_date'] = $Values['purchase_date'].ToString("yyyy-MM-dd") } - if ($values['termination_date']) { - $values['termination_date'] = $values['termination_date'].ToString("yyyy-MM-dd") + if ($Values['termination_date']) { + $Values['termination_date'] = $Values['termination_date'].ToString("yyyy-MM-dd") } - $Body = $Values | ConvertTo-Json; - $Parameters = @{ Uri = "$url/api/v1/licenses" Method = 'POST' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/New-SnipeitLocation.ps1 b/SnipeitPS/Public/New-SnipeitLocation.ps1 index e2751f6..17c351b 100644 --- a/SnipeitPS/Public/New-SnipeitLocation.ps1 +++ b/SnipeitPS/Public/New-SnipeitLocation.ps1 @@ -89,12 +89,10 @@ function New-SnipeitLocation() { $Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters - $Body = $Values | ConvertTo-Json; - $Parameters = @{ Uri = "$url/api/v1/locations" Method = 'post' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/New-SnipeitManufacturer.ps1 b/SnipeitPS/Public/New-SnipeitManufacturer.ps1 index f7abf31..d97ab4c 100644 --- a/SnipeitPS/Public/New-SnipeitManufacturer.ps1 +++ b/SnipeitPS/Public/New-SnipeitManufacturer.ps1 @@ -42,13 +42,10 @@ function New-SnipeitManufacturer() "name" = $Name } - #Convert Values to JSON format - $Body = $Values | ConvertTo-Json; - $Parameters = @{ Uri = "$url/api/v1/manufacturers" Method = 'post' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/New-SnipeitModel.ps1 b/SnipeitPS/Public/New-SnipeitModel.ps1 index 5e36b8a..d0ff9a6 100644 --- a/SnipeitPS/Public/New-SnipeitModel.ps1 +++ b/SnipeitPS/Public/New-SnipeitModel.ps1 @@ -73,12 +73,11 @@ function New-SnipeitModel() if ($PSBoundParameters.ContainsKey('model_number')) { $Values.Add("model_number", $model_number) } if ($PSBoundParameters.ContainsKey('eol')) { $Values.Add("eol", $eol) } - $Body = $Values | ConvertTo-Json; $Parameters = @{ Uri = "$url/api/v1/models" Method = 'post' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/New-SnipeitUser.ps1 b/SnipeitPS/Public/New-SnipeitUser.ps1 index 33306fc..0077eb8 100644 --- a/SnipeitPS/Public/New-SnipeitUser.ps1 +++ b/SnipeitPS/Public/New-SnipeitUser.ps1 @@ -117,12 +117,10 @@ function New-SnipeitUser() { $Values['password_confirmation'] = $password } - $Body = $Values | ConvertTo-Json; - $Parameters = @{ Uri = "$url/api/v1/users" Method = 'post' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitAccessory.ps1 b/SnipeitPS/Public/Remove-SnipeitAccessory.ps1 index 387ab01..d8303fe 100644 --- a/SnipeitPS/Public/Remove-SnipeitAccessory.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitAccessory.ps1 @@ -41,7 +41,7 @@ function Remove-SnipeitAccessory () $Parameters = @{ Uri = "$url/api/v1/accessories/$accessory_id" Method = 'Delete' - Body = '{}' + Body = @{} Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitAsset.ps1 b/SnipeitPS/Public/Remove-SnipeitAsset.ps1 index 47811e7..fb2edbd 100644 --- a/SnipeitPS/Public/Remove-SnipeitAsset.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitAsset.ps1 @@ -42,7 +42,7 @@ function Remove-SnipeitAsset () $Parameters = @{ Uri = "$url/api/v1/hardware/$asset_id" Method = 'Delete' - Body = '{}' + Body = '@{}' Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitAssetMaintenance.ps1 b/SnipeitPS/Public/Remove-SnipeitAssetMaintenance.ps1 index 10cc017..4bae969 100644 --- a/SnipeitPS/Public/Remove-SnipeitAssetMaintenance.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitAssetMaintenance.ps1 @@ -46,7 +46,7 @@ function Remove-SnipeitAssetMaintenance { $Parameters = @{ Uri = "$url/api/v1/maintenances/$maintenance_id" Method = 'Delete' - Body = '{}' + Body = '@{}' Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitCategory.ps1 b/SnipeitPS/Public/Remove-SnipeitCategory.ps1 index 873858b..f1c2912 100644 --- a/SnipeitPS/Public/Remove-SnipeitCategory.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitCategory.ps1 @@ -41,7 +41,7 @@ function Remove-SnipeitCategory () $Parameters = @{ Uri = "$url/api/v1/categories/$category_id" Method = 'Delete' - Body = '{}' + Body = '@{}' Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitCompany.ps1 b/SnipeitPS/Public/Remove-SnipeitCompany.ps1 index d9b4758..85966f0 100644 --- a/SnipeitPS/Public/Remove-SnipeitCompany.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitCompany.ps1 @@ -41,7 +41,7 @@ function Remove-SnipeitCompany () $Parameters = @{ Uri = "$url/api/v1/companies/$company_id" Method = 'Delete' - Body = '{}' + Body = '@{}' Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitComponent.ps1 b/SnipeitPS/Public/Remove-SnipeitComponent.ps1 index 2dfd012..6644ca3 100644 --- a/SnipeitPS/Public/Remove-SnipeitComponent.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitComponent.ps1 @@ -41,7 +41,7 @@ function Remove-SnipeitComponent () $Parameters = @{ Uri = "$url/api/v1/components/$component_id" Method = 'Delete' - Body = '{}' + Body = '@{}' Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitConsumable.ps1 b/SnipeitPS/Public/Remove-SnipeitConsumable.ps1 index 0bda660..d1dc453 100644 --- a/SnipeitPS/Public/Remove-SnipeitConsumable.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitConsumable.ps1 @@ -42,7 +42,7 @@ function Remove-SnipeitConsumable () $Parameters = @{ Uri = "$url/api/v1/consumables/$consumable_id" Method = 'Delete' - Body = '{}' + Body = '@{}' Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitCustomField.ps1 b/SnipeitPS/Public/Remove-SnipeitCustomField.ps1 index 291eac4..ead644c 100644 --- a/SnipeitPS/Public/Remove-SnipeitCustomField.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitCustomField.ps1 @@ -41,7 +41,7 @@ function Remove-SnipeitCustomField () $Parameters = @{ Uri = "$url/api/v1/fields/$field_id" Method = 'Delete' - Body = '{}' + Body = '@{}' Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitDepartment.ps1 b/SnipeitPS/Public/Remove-SnipeitDepartment.ps1 index 8bf9daa..f2e545b 100644 --- a/SnipeitPS/Public/Remove-SnipeitDepartment.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitDepartment.ps1 @@ -41,7 +41,7 @@ function Remove-SnipeitDepartment () $Parameters = @{ Uri = "$url/api/v1/departments/$department_id" Method = 'Delete' - Body = '{}' + Body = '@{}' Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitLicense.ps1 b/SnipeitPS/Public/Remove-SnipeitLicense.ps1 index 094435c..f096cc6 100644 --- a/SnipeitPS/Public/Remove-SnipeitLicense.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitLicense.ps1 @@ -41,7 +41,7 @@ function Remove-SnipeitLicense () $Parameters = @{ Uri = "$url/api/v1/licenses/$license_id" Method = 'Delete' - Body = '{}' + Body = '@{}' Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitLocation.ps1 b/SnipeitPS/Public/Remove-SnipeitLocation.ps1 index d0bfa94..07a8e6f 100644 --- a/SnipeitPS/Public/Remove-SnipeitLocation.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitLocation.ps1 @@ -41,7 +41,7 @@ function Remove-SnipeitLocation () $Parameters = @{ Uri = "$url/api/v1/locations/$asset_id" Method = 'Delete' - Body = '{}' + Body = '@{}' Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitManufacturer.ps1 b/SnipeitPS/Public/Remove-SnipeitManufacturer.ps1 index 40a87ca..92afad1 100644 --- a/SnipeitPS/Public/Remove-SnipeitManufacturer.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitManufacturer.ps1 @@ -41,7 +41,7 @@ function Remove-SnipeitManufacturer () $Parameters = @{ Uri = "$url/api/v1/manufacturers/$manufacturer_id_id" Method = 'Delete' - Body = '{}' + Body = '@{}' Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitModel.ps1 b/SnipeitPS/Public/Remove-SnipeitModel.ps1 index 788710f..b8c5565 100644 --- a/SnipeitPS/Public/Remove-SnipeitModel.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitModel.ps1 @@ -41,7 +41,7 @@ function Remove-SnipeitModel () $Parameters = @{ Uri = "$url/api/v1/models/$model_id" Method = 'Delete' - Body = '{}' + Body = '@{}' Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitUser.ps1 b/SnipeitPS/Public/Remove-SnipeitUser.ps1 index ca254bf..18d2361 100644 --- a/SnipeitPS/Public/Remove-SnipeitUser.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitUser.ps1 @@ -41,7 +41,7 @@ function Remove-SnipeitUser () $Parameters = @{ Uri = "$url/api/v1/users/$user_id" Method = 'Delete' - Body = '{}' + Body = '@{}' Token = $apiKey } diff --git a/SnipeitPS/Public/Reset-SnipeitAccessoryOwner.ps1 b/SnipeitPS/Public/Reset-SnipeitAccessoryOwner.ps1 index a85ca2c..060bb90 100644 --- a/SnipeitPS/Public/Reset-SnipeitAccessoryOwner.ps1 +++ b/SnipeitPS/Public/Reset-SnipeitAccessoryOwner.ps1 @@ -46,7 +46,7 @@ function Reset-SnipeitAccessoryOwner() $Parameters = @{ Uri = "$url/api/v1/accessories/$assigned_pivot_id/checkin" Method = 'Post' - Body = '{}' + Body = @{} Token = $apiKey } diff --git a/SnipeitPS/Public/Reset-SnipeitAssetOwner.ps1 b/SnipeitPS/Public/Reset-SnipeitAssetOwner.ps1 index 9340d42..6a55915 100644 --- a/SnipeitPS/Public/Reset-SnipeitAssetOwner.ps1 +++ b/SnipeitPS/Public/Reset-SnipeitAssetOwner.ps1 @@ -57,12 +57,10 @@ function Reset-SnipeitAssetOwner() { if ($PSBoundParameters.ContainsKey('location_id')) { $Values.Add("location_id", $location_id) } if ($PSBoundParameters.ContainsKey('status_id')) { $Values.Add("status_id", $status_id) } - $Body = $Values | ConvertTo-Json; - $Parameters = @{ Uri = "$url/api/v1/hardware/$id/checkin" Method = 'POST' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/Set-SnipeitAccessory.ps1 b/SnipeitPS/Public/Set-SnipeitAccessory.ps1 index 54110e1..9c14436 100644 --- a/SnipeitPS/Public/Set-SnipeitAccessory.ps1 +++ b/SnipeitPS/Public/Set-SnipeitAccessory.ps1 @@ -108,12 +108,10 @@ function Set-SnipeitAccessory() { $Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters - if ($values['purchase_date']) { - $values['purchase_date'] = $values['purchase_date'].ToString("yyyy-MM-dd") + if ($Values['purchase_date']) { + $Values['purchase_date'] = $Values['purchase_date'].ToString("yyyy-MM-dd") } - $Body = $Values | ConvertTo-Json; - Write-Verbose "Body: $Body" } process { @@ -121,7 +119,7 @@ function Set-SnipeitAccessory() { $Parameters = @{ Uri = "$url/api/v1/accessories/$accessory_id" Method = 'Patch' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/Set-SnipeitAccessoryOwner.ps1 b/SnipeitPS/Public/Set-SnipeitAccessoryOwner.ps1 index 513c74c..4a6a319 100644 --- a/SnipeitPS/Public/Set-SnipeitAccessoryOwner.ps1 +++ b/SnipeitPS/Public/Set-SnipeitAccessoryOwner.ps1 @@ -46,8 +46,6 @@ function Set-SnipeitAccessoryOwner() ) begin{ $Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters - - $Body = $Values | ConvertTo-Json; } process { @@ -55,7 +53,7 @@ function Set-SnipeitAccessoryOwner() $Parameters = @{ Uri = "$url/api/v1/accessories/$accessory_id/checkout" Method = 'POST' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/Set-SnipeitAsset.ps1 b/SnipeitPS/Public/Set-SnipeitAsset.ps1 index 277cc7f..f64e253 100644 --- a/SnipeitPS/Public/Set-SnipeitAsset.ps1 +++ b/SnipeitPS/Public/Set-SnipeitAsset.ps1 @@ -134,8 +134,8 @@ function Set-SnipeitAsset() $Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters - if ($values['purchase_date']) { - $values['purchase_date'] = $values['purchase_date'].ToString("yyyy-MM-dd") + if ($Values['purchase_date']) { + $Values['purchase_date'] = $Values['purchase_date'].ToString("yyyy-MM-dd") } if ($customfields) @@ -143,7 +143,6 @@ function Set-SnipeitAsset() $Values += $customfields } - $Body = $Values | ConvertTo-Json; } process { @@ -151,7 +150,7 @@ function Set-SnipeitAsset() $Parameters = @{ Uri = "$url/api/v1/hardware/$asset_id" Method = $RequestType - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/Set-SnipeitAssetOwner.ps1 b/SnipeitPS/Public/Set-SnipeitAssetOwner.ps1 index 5d859f5..0157c48 100644 --- a/SnipeitPS/Public/Set-SnipeitAssetOwner.ps1 +++ b/SnipeitPS/Public/Set-SnipeitAssetOwner.ps1 @@ -71,11 +71,11 @@ function Set-SnipeitAssetOwner() $Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters if ($Values['expected_checkin']) { - $Values['expected_checkin'] = $values['expected_checkin'].ToString("yyyy-MM-dd") + $Values['expected_checkin'] = $Values['expected_checkin'].ToString("yyyy-MM-dd") } if ($Values['checkout_at']) { - $Values['checkout_at'] = $values['checkout_at'].ToString("yyyy-MM-dd") + $Values['checkout_at'] = $Values['checkout_at'].ToString("yyyy-MM-dd") } switch ($checkout_to_type) @@ -88,8 +88,6 @@ function Set-SnipeitAssetOwner() #This can be removed now if($Values.ContainsKey('assigned_id')){$Values.Remove('assigned_id')} - $Body = $Values | ConvertTo-Json; - } process{ @@ -97,7 +95,7 @@ function Set-SnipeitAssetOwner() $Parameters = @{ Uri = "$url/api/v1/hardware/$asset_id/checkout" Method = 'POST' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/Set-SnipeitCategory.ps1 b/SnipeitPS/Public/Set-SnipeitCategory.ps1 index a1603e9..de8b85a 100644 --- a/SnipeitPS/Public/Set-SnipeitCategory.ps1 +++ b/SnipeitPS/Public/Set-SnipeitCategory.ps1 @@ -66,8 +66,6 @@ function Set-SnipeitCategory() Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name $Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters - - $Body = $Values | ConvertTo-Json; } process { @@ -75,7 +73,7 @@ function Set-SnipeitCategory() $Parameters = @{ Uri = "$url/api/v1/categories/$category_id" Method = 'Put' - Body = $Body + Body = $values Token = $apiKey } diff --git a/SnipeitPS/Public/Set-SnipeitCompany.ps1 b/SnipeitPS/Public/Set-SnipeitCompany.ps1 index 4dcbb16..5c9cd49 100644 --- a/SnipeitPS/Public/Set-SnipeitCompany.ps1 +++ b/SnipeitPS/Public/Set-SnipeitCompany.ps1 @@ -45,9 +45,7 @@ function Set-SnipeitCompany() ) begin{ - $values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters - - $Body = $values | ConvertTo-Json; + $Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters } process{ @@ -55,7 +53,7 @@ function Set-SnipeitCompany() $Parameters = @{ Uri = "$url/api/v1/companies/$company_id" Method = 'Patch' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/Set-SnipeitComponent.ps1 b/SnipeitPS/Public/Set-SnipeitComponent.ps1 index 97115d9..681d380 100644 --- a/SnipeitPS/Public/Set-SnipeitComponent.ps1 +++ b/SnipeitPS/Public/Set-SnipeitComponent.ps1 @@ -77,13 +77,11 @@ function Set-SnipeitComponent() begin { Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name - $values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters + $Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters - if ($values['purchase_date']) { - $values['purchase_date'] = $values['purchase_date'].ToString("yyyy-MM-dd") + if ($Values['purchase_date']) { + $Values['purchase_date'] = $Values['purchase_date'].ToString("yyyy-MM-dd") } - - $Body = $values | ConvertTo-Json; } process { @@ -91,7 +89,7 @@ function Set-SnipeitComponent() $Parameters = @{ Uri = "$url/api/v1/components/$component_id" Method = 'Patch' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/Set-SnipeitConsumable.ps1 b/SnipeitPS/Public/Set-SnipeitConsumable.ps1 index 7ea74dc..5dd8960 100644 --- a/SnipeitPS/Public/Set-SnipeitConsumable.ps1 +++ b/SnipeitPS/Public/Set-SnipeitConsumable.ps1 @@ -124,7 +124,6 @@ function Set-SnipeitConsumable() $Values['purchase_date'] = $Values['purchase_date'].ToString("yyyy-MM-dd") } - $Body = $Values | ConvertTo-Json; } process { @@ -132,7 +131,7 @@ function Set-SnipeitConsumable() $Parameters = @{ Uri = "$url/api/v1/consumables/$consumable_id" Method = 'Put' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/Set-SnipeitCustomField.ps1 b/SnipeitPS/Public/Set-SnipeitCustomField.ps1 index de84f8d..d2dc817 100644 --- a/SnipeitPS/Public/Set-SnipeitCustomField.ps1 +++ b/SnipeitPS/Public/Set-SnipeitCustomField.ps1 @@ -82,9 +82,6 @@ function Set-SnipeitCustomField() } $Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters - - $Body = $Values | ConvertTo-Json; - } process{ @@ -92,7 +89,7 @@ function Set-SnipeitCustomField() $Parameters = @{ Uri = "$url/api/v1/fields/$field_id" Method = 'Put' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/Set-SnipeitDepartment.ps1 b/SnipeitPS/Public/Set-SnipeitDepartment.ps1 index 8a66063..063ec2d 100644 --- a/SnipeitPS/Public/Set-SnipeitDepartment.ps1 +++ b/SnipeitPS/Public/Set-SnipeitDepartment.ps1 @@ -61,8 +61,6 @@ function Set-SnipeitDepartment() { begin { $Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters - - $Body = $Values | ConvertTo-Json; } process { @@ -70,7 +68,7 @@ function Set-SnipeitDepartment() { $Parameters = @{ Uri = "$url/api/v1/departments/$department_id" Method = 'Put' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/Set-SnipeitLicense.ps1 b/SnipeitPS/Public/Set-SnipeitLicense.ps1 index 9f1d1c7..ea99b9d 100644 --- a/SnipeitPS/Public/Set-SnipeitLicense.ps1 +++ b/SnipeitPS/Public/Set-SnipeitLicense.ps1 @@ -135,19 +135,18 @@ function Set-SnipeitLicense() { $Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters - if ($values['expiration_date']) { - $values['expiration_date'] = $values['expiration_date'].ToString("yyyy-MM-dd") + if ($Values['expiration_date']) { + $Values['expiration_date'] = $Values['expiration_date'].ToString("yyyy-MM-dd") } - if ($values['purchase_date']) { - $values['purchase_date'] = $values['purchase_date'].ToString("yyyy-MM-dd") + if ($Values['purchase_date']) { + $Values['purchase_date'] = $Values['purchase_date'].ToString("yyyy-MM-dd") } - if ($values['termination_date']) { - $values['termination_date'] = $values['termination_date'].ToString("yyyy-MM-dd") + if ($Values['termination_date']) { + $Values['termination_date'] = $Values['termination_date'].ToString("yyyy-MM-dd") } - $Body = $Values | ConvertTo-Json; } process { @@ -155,7 +154,7 @@ function Set-SnipeitLicense() { $Parameters = @{ Uri = "$url/api/v1/licenses/$license_id" Method = 'PUT' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/Set-SnipeitLicenseSeat.ps1 b/SnipeitPS/Public/Set-SnipeitLicenseSeat.ps1 index 78f9525..6e191c5 100644 --- a/SnipeitPS/Public/Set-SnipeitLicenseSeat.ps1 +++ b/SnipeitPS/Public/Set-SnipeitLicenseSeat.ps1 @@ -61,8 +61,6 @@ function Set-SnipeitLicenseSeat() begin{ $Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters - - $Body = $Values | ConvertTo-Json; } process{ @@ -70,7 +68,7 @@ function Set-SnipeitLicenseSeat() $Parameters = @{ Uri = "$url/api/v1/licenses/$license_id/seats/$seat_id" Method = 'Patch' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/Set-SnipeitLocation.ps1 b/SnipeitPS/Public/Set-SnipeitLocation.ps1 index 4a24d86..05a0c1b 100644 --- a/SnipeitPS/Public/Set-SnipeitLocation.ps1 +++ b/SnipeitPS/Public/Set-SnipeitLocation.ps1 @@ -99,8 +99,6 @@ function Set-SnipeitLocation() { Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name $Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters - - $Body = $Values | ConvertTo-Json; } process{ @@ -108,7 +106,7 @@ function Set-SnipeitLocation() { $Parameters = @{ Uri = "$url/api/v1/locations/$location_id" Method = 'PUT' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/Set-SnipeitModel.ps1 b/SnipeitPS/Public/Set-SnipeitModel.ps1 index 894802e..312d8f1 100644 --- a/SnipeitPS/Public/Set-SnipeitModel.ps1 +++ b/SnipeitPS/Public/Set-SnipeitModel.ps1 @@ -70,14 +70,13 @@ function Set-SnipeitModel() { $Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters - $Body = $Values | ConvertTo-Json; } process { foreach ($model_id in $id) { $Parameters = @{ Uri = "$url/api/v1/models/$model_id" Method = 'put' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/Set-SnipeitStatus.ps1 b/SnipeitPS/Public/Set-SnipeitStatus.ps1 index 54ee8d8..fe9867f 100644 --- a/SnipeitPS/Public/Set-SnipeitStatus.ps1 +++ b/SnipeitPS/Public/Set-SnipeitStatus.ps1 @@ -62,7 +62,6 @@ function Set-SnipeitStatus() begin { $Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters - $Body = $Values | ConvertTo-Json } process { @@ -70,7 +69,7 @@ function Set-SnipeitStatus() $Parameters = @{ Uri = "$url/api/v1/statuslabels/$status_id" Method = 'Put' - Body = $Body + Body = $Values Token = $apiKey } diff --git a/SnipeitPS/Public/Set-SnipeitUser.ps1 b/SnipeitPS/Public/Set-SnipeitUser.ps1 index 124acf7..256abeb 100644 --- a/SnipeitPS/Public/Set-SnipeitUser.ps1 +++ b/SnipeitPS/Public/Set-SnipeitUser.ps1 @@ -111,7 +111,6 @@ function Set-SnipeitUser() { $Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters - $Body = $Values | ConvertTo-Json; } process{ @@ -119,7 +118,7 @@ function Set-SnipeitUser() { $Parameters = @{ Uri = "$url/api/v1/users/$user_id" Method = 'PATCH' - Body = $Body + Body = $Values Token = $apiKey } From d9be192b3e16406592e6a17af840f576361d2ff2 Mon Sep 17 00:00:00 2001 From: Petri Asikainen Date: Wed, 16 Jun 2021 00:52:32 +0300 Subject: [PATCH 2/4] Convert body only when it exist --- SnipeitPS/Private/Invoke-SnipeitMethod.ps1 | 4 ++-- SnipeitPS/Public/Set-SnipeitLicenseSeat.ps1 | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/SnipeitPS/Private/Invoke-SnipeitMethod.ps1 b/SnipeitPS/Private/Invoke-SnipeitMethod.ps1 index b6deb74..4fedbef 100644 --- a/SnipeitPS/Private/Invoke-SnipeitMethod.ps1 +++ b/SnipeitPS/Private/Invoke-SnipeitMethod.ps1 @@ -35,7 +35,7 @@ } #To support images "image" property have be handled before this - $Body = $Body | ConvertTo-Json + if($Body) { $body = $Body | ConvertTo-Json } $_headers = @{ "Authorization" = "Bearer $($token)" @@ -66,7 +66,7 @@ $script:PSDefaultParameterValues = $global:PSDefaultParameterValues - Write-Debug $Body + Write-Debug "$($Body | ConvertTo-Json)" # Invoke the API try { diff --git a/SnipeitPS/Public/Set-SnipeitLicenseSeat.ps1 b/SnipeitPS/Public/Set-SnipeitLicenseSeat.ps1 index 6e191c5..9a42a09 100644 --- a/SnipeitPS/Public/Set-SnipeitLicenseSeat.ps1 +++ b/SnipeitPS/Public/Set-SnipeitLicenseSeat.ps1 @@ -46,9 +46,11 @@ function Set-SnipeitLicenseSeat() [int]$seat_id, [Alias('assigned_id')] - [int]$assigned_to, - [int]$asset_id, + [Nullable[System.Int32]]$assigned_to, + + + [Nullable[System.Int32]]$asset_id, [string]$note, From 193f3f7f110677586f1c5e8fda084dbd224c15a6 Mon Sep 17 00:00:00 2001 From: Petri Asikainen Date: Mon, 21 Jun 2021 10:13:43 +0300 Subject: [PATCH 3/4] use invoke-webrequest, plan support for images --- SnipeitPS/Private/Invoke-SnipeitMethod.ps1 | 42 ++++++++++++++-------- SnipeitPS/Public/Set-SnipeitAccessory.ps1 | 14 ++------ docs/Set-SnipeitAccessory.md | 21 +++++++++-- 3 files changed, 48 insertions(+), 29 deletions(-) diff --git a/SnipeitPS/Private/Invoke-SnipeitMethod.ps1 b/SnipeitPS/Private/Invoke-SnipeitMethod.ps1 index 4fedbef..5f66bdf 100644 --- a/SnipeitPS/Private/Invoke-SnipeitMethod.ps1 +++ b/SnipeitPS/Private/Invoke-SnipeitMethod.ps1 @@ -35,7 +35,6 @@ } #To support images "image" property have be handled before this - if($Body) { $body = $Body | ConvertTo-Json } $_headers = @{ "Authorization" = "Bearer $($token)" @@ -60,9 +59,24 @@ Headers = $_headers UseBasicParsing = $true ErrorAction = 'SilentlyContinue' + Proxy = 'http://localhost:8080' } - if ($Body) {$splatParameters["Body"] = [System.Text.Encoding]::UTF8.GetBytes($Body)} + #Place holder for intended image manipulation + # if and when snipe it API gets support for images + if($null -ne $body -and $Body.Keys -contains 'image' ){ + if($PSVersionTable.PSVersion -ge 7){ + $Body['image'] = get-item $body['image'] + $splatParameters["Form"] = $Body + } else { + write-warning "Setting images is supported only with powershell version 7 or greater" + $Body.Remove('image') + } + } + + if ($Body -and $splatParameters.Keys -notcontains 'Form') { + $splatParameters["Body"] = $Body | Convertto-Json + } $script:PSDefaultParameterValues = $global:PSDefaultParameterValues @@ -72,7 +86,7 @@ try { Write-Verbose "[$($MyInvocation.MyCommand.Name)] Invoking method $Method to URI $URi" Write-Debug "[$($MyInvocation.MyCommand.Name)] Invoke-WebRequest with: $($splatParameters | Out-String)" - $webResponse = Invoke-WebRequest @splatParameters + $webResponse = Invoke-RestMethod @splatParameters } catch { Write-Verbose "[$($MyInvocation.MyCommand.Name)] Failed to get an answer from the server" @@ -84,27 +98,27 @@ if ($webResponse) { Write-Verbose "[$($MyInvocation.MyCommand.Name)] Status code: $($webResponse.StatusCode)" - if ($webResponse.Content) { - Write-Verbose $webResponse.Content + if ($webResponse) { + Write-Verbose $webResponse # API returned a Content: lets work wit it try{ - $response = ConvertFrom-Json -InputObject $webResponse.Content - if ($response.status -eq "error") { + if ($webResponse.status -eq "error") { Write-Verbose "[$($MyInvocation.MyCommand.Name)] An error response was received from; resolving" # This could be handled nicely in an function such as: # ResolveError $response -WriteError - Write-Error $($response.messages | Out-String) + Write-Error $($webResponse.messages | Out-String) } else { - $result = $response - if (($response) -and ($response | Get-Member -Name payload)) - { - $result = $response.payload + + if ($webResponse.payload){ + $result = $webResponse.payload } - elseif (($response) -and ($response | Get-Member -Name rows)) { - $result = $response.rows + elseif ($webResponse.rows) { + $result = $webResponse.rows + } else { + $result = $webResponse } $result diff --git a/SnipeitPS/Public/Set-SnipeitAccessory.ps1 b/SnipeitPS/Public/Set-SnipeitAccessory.ps1 index 2a10a2c..4f9ce41 100644 --- a/SnipeitPS/Public/Set-SnipeitAccessory.ps1 +++ b/SnipeitPS/Public/Set-SnipeitAccessory.ps1 @@ -38,24 +38,12 @@ Cost of item being purchased. .PARAMETER purchase_date Date accessory was purchased -.PARAMETER order_number -Order number for this accessory. - -.PARAMETER purchase_cost -Cost of item being purchased. - -.PARAMETER purchase_date -Date accessory was purchased - .PARAMETER supplier_id ID number of the supplier for this accessory .PARAMETER location_id ID number of the location the accessory is assigned to -.PARAMETER min_qty -Min quantity of the accessory before alert is triggered - .PARAMETER url URL of Snipeit system, can be set using Set-SnipeitInfoeItInfo command @@ -100,6 +88,8 @@ function Set-SnipeitAccessory() { [Nullable[System.Int32]]$supplier_id, + [Nullable[System.Int32]]$location_id, + [parameter(mandatory = $true)] [string]$url, diff --git a/docs/Set-SnipeitAccessory.md b/docs/Set-SnipeitAccessory.md index 9adeae2..433351a 100644 --- a/docs/Set-SnipeitAccessory.md +++ b/docs/Set-SnipeitAccessory.md @@ -16,7 +16,7 @@ Updates accessory on Snipe-It system Set-SnipeitAccessory [-id] [[-name] ] [[-qty] ] [[-category_id] ] [[-company_id] ] [[-manufacturer_id] ] [[-model_number] ] [[-order_number] ] [[-purchase_cost] ] [[-purchase_date] ] [[-min_amt] ] [[-supplier_id] ] - [-url] [-apiKey] [-WhatIf] [-Confirm] [] + [[-location_id] ] [-url] [-apiKey] [-WhatIf] [-Confirm] [] ``` ## DESCRIPTION @@ -40,7 +40,7 @@ Parameter Sets: (All) Aliases: Required: True -Position: 14 +Position: 15 Default value: None Accept pipeline input: False Accept wildcard characters: False @@ -91,6 +91,21 @@ Accept pipeline input: True (ByPropertyName) Accept wildcard characters: False ``` +### -location_id +ID number of the location the accessory is assigned to + +```yaml +Type: Int32 +Parameter Sets: (All) +Aliases: + +Required: False +Position: 13 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + ### -manufacturer_id ID number of the manufacturer for this accessory. @@ -235,7 +250,7 @@ Parameter Sets: (All) Aliases: Required: True -Position: 13 +Position: 14 Default value: None Accept pipeline input: False Accept wildcard characters: False From 508e484b17905ef3c7cb4e6a39c973ad49ce6911 Mon Sep 17 00:00:00 2001 From: Petri Asikainen Date: Mon, 21 Jun 2021 10:42:00 +0300 Subject: [PATCH 4/4] Be quiet when deleting --- SnipeitPS/Private/Invoke-SnipeitMethod.ps1 | 17 +++++++++++++++-- SnipeitPS/Public/Remove-SnipeitAccessory.ps1 | 1 - SnipeitPS/Public/Remove-SnipeitAsset.ps1 | 1 - .../Public/Remove-SnipeitAssetMaintenance.ps1 | 1 - SnipeitPS/Public/Remove-SnipeitCategory.ps1 | 1 - SnipeitPS/Public/Remove-SnipeitCompany.ps1 | 1 - SnipeitPS/Public/Remove-SnipeitComponent.ps1 | 1 - SnipeitPS/Public/Remove-SnipeitConsumable.ps1 | 1 - SnipeitPS/Public/Remove-SnipeitCustomField.ps1 | 1 - SnipeitPS/Public/Remove-SnipeitDepartment.ps1 | 1 - SnipeitPS/Public/Remove-SnipeitLicense.ps1 | 1 - SnipeitPS/Public/Remove-SnipeitLocation.ps1 | 1 - SnipeitPS/Public/Remove-SnipeitManufacturer.ps1 | 1 - SnipeitPS/Public/Remove-SnipeitModel.ps1 | 1 - SnipeitPS/Public/Remove-SnipeitUser.ps1 | 1 - 15 files changed, 15 insertions(+), 16 deletions(-) diff --git a/SnipeitPS/Private/Invoke-SnipeitMethod.ps1 b/SnipeitPS/Private/Invoke-SnipeitMethod.ps1 index 5f66bdf..58d72ce 100644 --- a/SnipeitPS/Private/Invoke-SnipeitMethod.ps1 +++ b/SnipeitPS/Private/Invoke-SnipeitMethod.ps1 @@ -111,17 +111,30 @@ Write-Error $($webResponse.messages | Out-String) } else { - + #update operations return payload if ($webResponse.payload){ $result = $webResponse.payload } + #Search operations return rows elseif ($webResponse.rows) { $result = $webResponse.rows - } else { + } + #Remove operations returns status and message + elseif ($webResponse.status -eq 'success'){ + $result = $webResponse.payload + } + #get operations with id returns just one object + else { $result = $webResponse } + Write-Verbose "Status: $($webResponse.status)" + Write-Verbose "Messages: $($webResponse.messages)" + $result + + + } } catch { diff --git a/SnipeitPS/Public/Remove-SnipeitAccessory.ps1 b/SnipeitPS/Public/Remove-SnipeitAccessory.ps1 index d8303fe..4189b17 100644 --- a/SnipeitPS/Public/Remove-SnipeitAccessory.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitAccessory.ps1 @@ -41,7 +41,6 @@ function Remove-SnipeitAccessory () $Parameters = @{ Uri = "$url/api/v1/accessories/$accessory_id" Method = 'Delete' - Body = @{} Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitAsset.ps1 b/SnipeitPS/Public/Remove-SnipeitAsset.ps1 index fb2edbd..68d9dbb 100644 --- a/SnipeitPS/Public/Remove-SnipeitAsset.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitAsset.ps1 @@ -42,7 +42,6 @@ function Remove-SnipeitAsset () $Parameters = @{ Uri = "$url/api/v1/hardware/$asset_id" Method = 'Delete' - Body = '@{}' Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitAssetMaintenance.ps1 b/SnipeitPS/Public/Remove-SnipeitAssetMaintenance.ps1 index 4bae969..a1f7b65 100644 --- a/SnipeitPS/Public/Remove-SnipeitAssetMaintenance.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitAssetMaintenance.ps1 @@ -46,7 +46,6 @@ function Remove-SnipeitAssetMaintenance { $Parameters = @{ Uri = "$url/api/v1/maintenances/$maintenance_id" Method = 'Delete' - Body = '@{}' Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitCategory.ps1 b/SnipeitPS/Public/Remove-SnipeitCategory.ps1 index f1c2912..0f86693 100644 --- a/SnipeitPS/Public/Remove-SnipeitCategory.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitCategory.ps1 @@ -41,7 +41,6 @@ function Remove-SnipeitCategory () $Parameters = @{ Uri = "$url/api/v1/categories/$category_id" Method = 'Delete' - Body = '@{}' Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitCompany.ps1 b/SnipeitPS/Public/Remove-SnipeitCompany.ps1 index 85966f0..9ff94dc 100644 --- a/SnipeitPS/Public/Remove-SnipeitCompany.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitCompany.ps1 @@ -41,7 +41,6 @@ function Remove-SnipeitCompany () $Parameters = @{ Uri = "$url/api/v1/companies/$company_id" Method = 'Delete' - Body = '@{}' Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitComponent.ps1 b/SnipeitPS/Public/Remove-SnipeitComponent.ps1 index 6644ca3..450dbed 100644 --- a/SnipeitPS/Public/Remove-SnipeitComponent.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitComponent.ps1 @@ -41,7 +41,6 @@ function Remove-SnipeitComponent () $Parameters = @{ Uri = "$url/api/v1/components/$component_id" Method = 'Delete' - Body = '@{}' Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitConsumable.ps1 b/SnipeitPS/Public/Remove-SnipeitConsumable.ps1 index d1dc453..3e18b3d 100644 --- a/SnipeitPS/Public/Remove-SnipeitConsumable.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitConsumable.ps1 @@ -42,7 +42,6 @@ function Remove-SnipeitConsumable () $Parameters = @{ Uri = "$url/api/v1/consumables/$consumable_id" Method = 'Delete' - Body = '@{}' Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitCustomField.ps1 b/SnipeitPS/Public/Remove-SnipeitCustomField.ps1 index ead644c..e258ca2 100644 --- a/SnipeitPS/Public/Remove-SnipeitCustomField.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitCustomField.ps1 @@ -41,7 +41,6 @@ function Remove-SnipeitCustomField () $Parameters = @{ Uri = "$url/api/v1/fields/$field_id" Method = 'Delete' - Body = '@{}' Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitDepartment.ps1 b/SnipeitPS/Public/Remove-SnipeitDepartment.ps1 index f2e545b..d6e95c7 100644 --- a/SnipeitPS/Public/Remove-SnipeitDepartment.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitDepartment.ps1 @@ -41,7 +41,6 @@ function Remove-SnipeitDepartment () $Parameters = @{ Uri = "$url/api/v1/departments/$department_id" Method = 'Delete' - Body = '@{}' Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitLicense.ps1 b/SnipeitPS/Public/Remove-SnipeitLicense.ps1 index f096cc6..ba0dee4 100644 --- a/SnipeitPS/Public/Remove-SnipeitLicense.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitLicense.ps1 @@ -41,7 +41,6 @@ function Remove-SnipeitLicense () $Parameters = @{ Uri = "$url/api/v1/licenses/$license_id" Method = 'Delete' - Body = '@{}' Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitLocation.ps1 b/SnipeitPS/Public/Remove-SnipeitLocation.ps1 index 07a8e6f..15c4567 100644 --- a/SnipeitPS/Public/Remove-SnipeitLocation.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitLocation.ps1 @@ -41,7 +41,6 @@ function Remove-SnipeitLocation () $Parameters = @{ Uri = "$url/api/v1/locations/$asset_id" Method = 'Delete' - Body = '@{}' Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitManufacturer.ps1 b/SnipeitPS/Public/Remove-SnipeitManufacturer.ps1 index 92afad1..b9c109b 100644 --- a/SnipeitPS/Public/Remove-SnipeitManufacturer.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitManufacturer.ps1 @@ -41,7 +41,6 @@ function Remove-SnipeitManufacturer () $Parameters = @{ Uri = "$url/api/v1/manufacturers/$manufacturer_id_id" Method = 'Delete' - Body = '@{}' Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitModel.ps1 b/SnipeitPS/Public/Remove-SnipeitModel.ps1 index b8c5565..65509bd 100644 --- a/SnipeitPS/Public/Remove-SnipeitModel.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitModel.ps1 @@ -41,7 +41,6 @@ function Remove-SnipeitModel () $Parameters = @{ Uri = "$url/api/v1/models/$model_id" Method = 'Delete' - Body = '@{}' Token = $apiKey } diff --git a/SnipeitPS/Public/Remove-SnipeitUser.ps1 b/SnipeitPS/Public/Remove-SnipeitUser.ps1 index 18d2361..6afd60b 100644 --- a/SnipeitPS/Public/Remove-SnipeitUser.ps1 +++ b/SnipeitPS/Public/Remove-SnipeitUser.ps1 @@ -41,7 +41,6 @@ function Remove-SnipeitUser () $Parameters = @{ Uri = "$url/api/v1/users/$user_id" Method = 'Delete' - Body = '@{}' Token = $apiKey }