Public/WorkTicketStatus/New-AspireWorkTicketStatusMarkWorkTicketAsReviewed.ps1

<#
.SYNOPSIS
    Marks a work ticket as reviewed in the Aspire API.
.DESCRIPTION
    Uses Invoke-AspireRequest to perform a POST request to the /WorkTicketStatus/MarkWorkTicketAsReviewed endpoint.
.PARAMETER WorkTicketID
    The ID of the work ticket (integer).
.PARAMETER ReviewedDateTime
    The reviewed date time (required, date-time string).
.PARAMETER ReviewedUserID
    The ID of the reviewed user (integer).
.OUTPUTS
    The response from the API.
.EXAMPLE
    New-AspireWorkTicketStatusMarkWorkTicketAsReviewed -WorkTicketID 123 -ReviewedDateTime "2023-01-01T12:00:00Z" -ReviewedUserID 456
#>

function New-AspireWorkTicketStatusMarkWorkTicketAsReviewed {
    [CmdletBinding()]
    param(
        [int]$WorkTicketID = $null,
        [Parameter(Mandatory = $true)]
        [string]$ReviewedDateTime,
        [int]$ReviewedUserID = $null
    )

    $body = @{
        ReviewedDateTime = $ReviewedDateTime
    }
    if ($WorkTicketID) {
        $body.WorkTicketID = $WorkTicketID
    }
    if ($ReviewedUserID) {
        $body.ReviewedUserID = $ReviewedUserID
    }

    return Invoke-AspireRequest -Method POST -Path "/WorkTicketStatus/MarkWorkTicketAsReviewed" -Body $body
}