src/public/add/Add-SignaMemberToGroup.ps1
|
<#
.SYNOPSIS Adds members to a Signal group. .DESCRIPTION Adds one or more members to an existing Signal group. Members can be added as regular members or as group administrators. .PARAMETER GroupId The ID of the Signal group to add members to. This parameter is mandatory. .PARAMETER Members An array of member identifiers (phone numbers or Signal IDs) to add to the group. This parameter is mandatory and accepts multiple values. .PARAMETER isAdmin Switch parameter. When specified, the members will be added as group administrators instead of regular members. .EXAMPLE Add-SignaMemberToGroup -GroupId "group123" -Members "+1234567890" Adds a single member to the specified group as a regular member. .EXAMPLE Add-SignaMemberToGroup -GroupId "group123" -Members @("+1234567890", "+0987654321") Adds multiple members to the specified group as regular members. .EXAMPLE Add-SignaMemberToGroup -GroupId "group123" -Members "+1234567890" -isAdmin Adds a member to the specified group as a group administrator. .NOTES Requires a configured Signal account via Set-SignalConfiguration. The authenticated user must have administrative privileges in the target group to add new members or administrators. #> function Add-SignaMemberToGroup { [CmdletBinding(ConfirmImpact = 'None', PositionalBinding = $false, SupportsPaging = $false, SupportsShouldProcess = $false)] param ( [Parameter(Mandatory = $true)] [string]$GroupId, [Parameter(Mandatory = $true)] [string[]]$Members, [switch]$isAdmin ) $permission = "members" if ($isAdmin.IsPresent) { $permission = "admins" } $body = @{$permission= [array]$Members} $Endpoint = "/v1/groups/{0}/{1}/{2}" -f [uri]::EscapeDataString($SignalConfig.RegistredNumber), [uri]::EscapeDataString($GroupId), $permission Invoke-SignalApiRequest -Method 'POST' -Endpoint $Endpoint -Body $body } |