VConnectConfig.psm1

function Get-VConnectAdditionalSetting {
    param (
          $endpointName
    )
    return Invoke-RestApiRequest -endpointName $endpointName -relativeUrl 'admin/Config/Get' -method 'GET'
}

function Invoke-VConnectUpdateLmpConfig {
    param (
          $endpointName
    )
    return Invoke-RestApiRequest -endpointName $endpointName -relativeUrl 'admin/license/UpdateLmpConfig' -method 'GET'
}

function Invoke-VConnectUpdateActivation {
    param (
          $endpointName
    )
    return Invoke-RestApiRequest -endpointName $endpointName -relativeUrl 'admin/license/UpdateActivation' -method 'GET'
}

function Get-VConnectAnnouncements {
    param (
          $endpointName
    )
    return Invoke-RestApiRequest -endpointName $endpointName -relativeUrl 'admin/license/GetAnnouncements' -method 'GET'
}

function Get-VConnectEnabledFeatures {
    param (
          $endpointName
    )
    return Invoke-RestApiRequest -endpointName $endpointName -relativeUrl 'admin/config/GetEnabledFeatures' -method 'GET'
}

function Invoke-VConnectActivateOnlineFromApi {
    param (
          $endpointName,
          $licenseKey,
          $emailId,
          $recaptchaResponse
    )
    $data = @{
        LicenseKey = $licenseKey
        EmailId = $emailId
        RecaptchaResponse = $recaptchaResponse
    }
    $dataJson = $data | ConvertTo-Json
    return Invoke-RestApiRequest -endpointName $endpointName -relativeUrl 'admin/license/ActivateOnline' -method 'POST' -jsonBody $dataJson
}

function Invoke-VConnectRequestTrialLicense {
    param (
        $endpointName,
        $FirstName,
        $LastName,
        $CompanyName,
        $Designation,
        $EmailId,
        $ContactPhone,
        $RecaptchaResponse,
        $RedirectUrl
    )
    $data = @{
        FirstName = $FirstName
        LastName = $LastName
        CompanyName = $CompanyName
        Designation = $Designation
        EmailId = $EmailId
        ContactPhone = $ContactPhone
        RecaptchaResponse = $RecaptchaResponse
        RedirectUrl = $RedirectUrl  
    }
    $dataJson = $data | ConvertTo-Json
    return Invoke-RestApiRequest -endpointName $endpointName -relativeUrl 'admin/license/RequestTrialLicense' -method 'POST' -jsonBody $dataJson
}

function Invoke-UpdateDatabaseWithExistingSettings {
    param (
          $endpointName
    )
    return Invoke-RestApiRequest -endpointName $endpointName -relativeUrl 'admin/config/UpdateDatabaseWithExistingSettings' -method 'GET'
}