Public/Assets.psm1

function Get-HuduAssets {
    Param (
        [Int]$id = '',
        [Int]$assetlayoutid = '',
        [Int]$companyid = '',
        [String]$name =''
    
    )
    
    #
    $i = 1;
        $AllAssets = do {
        $Assets = hudu_request -Method get -Resource "/api/v1/assets?page=$i&page_size=1000"
        $i++
        $Assets.Assets
        } while ($Assets.Assets.count % 1000 -eq 0 -and $Assets.Assets.count -ne 0)
        
        
    if ($id) {
    $AllAssets = $AllAssets | where-object {$_.id -eq $id}
    }
        
    if ($name) {
    $AllAssets = $AllAssets | where-object {$_.name -eq $name}
    }
    
    if ($assetlayoutid) {
    $AllAssets = $AllAssets | where-object {$_.asset_layout_id -eq $assetlayoutid}
    }
    
    if ($companyid) {
    $AllAssets = $AllAssets | where-object {$_.company_id -eq $companyid}
    }
    
    
    return $AllAssets
    
}

function New-HuduAsset {
    Param (
        [Parameter(Mandatory=$true)]
        [String]$name ='',
        [Parameter(Mandatory=$true)]
        [Int]$company_id='',
        [Parameter(Mandatory=$true)]
        [Int]$asset_layout_id='',
        [Parameter(Mandatory=$true)]
        [Array]$fields=''
    )
    

    $asset = @{asset = @{}}
    
    $asset.asset.add('name',$name)
    $asset.asset.add('asset_layout_id',$asset_layout_id)
    $asset.asset.add('fields',$fields)
    
    $json = $asset | convertto-json -Depth 10
    
    $response = hudu_request -Method post -Resource "/api/v1/companies/$company_id/assets" -body $json
    
    $response
    
    
}
        
function Set-HuduAsset {
    Param (
        [Parameter(Mandatory=$true)]
        [String]$name ='',
        [Parameter(Mandatory=$true)]
        [Int]$company_id='',
        [Parameter(Mandatory=$true)]
        [Int]$asset_layout_id='',
        [Parameter(Mandatory=$true)]
        [Array]$fields='',
        [Parameter(Mandatory=$true)]
        [Int]$asset_id=''
        
    )
    

    $asset = @{asset = @{}}
    
    $asset.asset.add('name',$name)
    $asset.asset.add('asset_layout_id',$asset_layout_id)
    $asset.asset.add('fields',$fields)
    
    $json = $asset | convertto-json -Depth 10
    
    $response = hudu_request -Method put -Resource "/api/v1/companies/$company_id/assets/$asset_id" -body $json
    
    $response
    
    
}