Public/Articles.psm1

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

function New-HuduArticle {
    Param (
        [Parameter(Mandatory=$true)]
        [String]$name ='',
        [Parameter(Mandatory=$true)]
        [String]$content='',
        [Int]$folder_id='',
        [Int]$company_id=''
    )
    

    $article = @{article = @{}}
    
    $article.article.add('name',$name)
    $article.article.add('content',$content)
    
    if ($folder_id) {
    $article.article.add('folder_id',$folder_id)
    }
    
    if ($company_id) {
    $article.article.add('company_id',$company_id)
    }
    
    $json = $article | convertto-json -Depth 10
    
    $response = hudu_request -Method post -Resource "/api/v1/articles" -body $json
    
    $response
    
    
}
        
function Set-HuduArticle {
    Param (
        [Parameter(Mandatory=$true)]
        [String]$name ='',
        [Parameter(Mandatory=$true)]
        [String]$content='',
        [Int]$folder_id='',
        [Int]$company_id='',
        [Parameter(Mandatory=$true)]
        [Int]$article_id
    )
    

    $article = @{article = @{}}
    
    $article.article.add('name',$name)
    $article.article.add('content',$content)
    
    if ($folder_id) {
    $article.article.add('folder_id',$folder_id)
    }
    
    if ($company_id) {
    $article.article.add('company_id',$company_id)
    }
    
    $json = $article | convertto-json -Depth 10
    
    $response = hudu_request -Method put -Resource "/api/v1/articles/$article_id" -body $json
    
    $response
    
    
}