PlagueHO / CosmosDB

PowerShell Module for working with Azure Cosmos DB databases, collections, documents, attachments, offers, users, permissions, triggers, stored procedures and user defined functions.
http://dscottraynsford.com
MIT License
152 stars 46 forks source link

UDF does not store unless escaped #464

Open BrianVallelunga opened 1 year ago

BrianVallelunga commented 1 year ago

Issue

This UDF example does not work:

$body = @'
function tax(income) {
    if(income == undefined) throw 'no input';
    if (income < 1000)
        return income * 0.2;
    else if (income < 10000)
        return income * 0.3;
    else
        return income * 0.4;
}
'@
Set-CosmosDbUserDefinedFunction -Context $cosmosDbContext -CollectionId 'MyNewCollection' -Id 'udfTax' -Body $body

It seems as though the body is not escaped properly when being created. As a result, the function does not show up correctly. If I JSON encode the function body, then it will work properly.

$body = @'
function tax(income) {\r    if(income == undefined) throw 'no input';\r    if (income < 1000)\r        return income * 0.2;\r    else if (income < 10000)\r        return income * 0.3;\r    else\r        return income * 0.4;\r}\r
'@
konvict25 commented 7 months ago

Refreshment