Skip to content

Commit 2dd4f6c

Browse files
authored
New version
Bug/logic fixes to AddUserRole, GetRole, CreateUser functions
1 parent 72ec4f1 commit 2dd4f6c

File tree

1 file changed

+49
-71
lines changed

1 file changed

+49
-71
lines changed

Module/OpConModule.psm1

Lines changed: 49 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1415,30 +1415,23 @@ New-Alias "opc-getuser" OpCon_GetUser
14151415
#Get a specific role
14161416
function OpCon_GetRole($url,$token,$id,$rolename)
14171417
{
1418-
$hdr = @{"authorization" = $token}
1419-
14201418
If($id)
1421-
{
1422-
$uriget = $url + "/api/roles/" + $id
1423-
}
1419+
{ $uriget = $url + "/api/roles/" + $id }
14241420
ElseIf($rolename)
1425-
{
1426-
$uriget = $url + "/api/roles?name=" + $rolename
1427-
}
1428-
Else
1429-
{
1430-
Write-Host "No Id or Rolename specified"
1431-
}
1421+
{ $uriget = $url + "/api/roles?name=" + $rolename }
14321422

1433-
try
1423+
if($rolename -or $id)
14341424
{
1435-
$role = Invoke-RestMethod -Method GET -Uri $uriget -Headers $hdr -ContentType "application/json"
1436-
}
1437-
catch [Exception]
1438-
{
1439-
Write-Host $_
1440-
Write-Host $_.Exception.Message
1425+
try
1426+
{ $role = Invoke-RestMethod -Method GET -Uri $uriget -Headers @{"authorization" = $token} -ContentType "application/json" }
1427+
catch [Exception]
1428+
{
1429+
Write-Host $_
1430+
Write-Host $_.Exception.Message
1431+
}
14411432
}
1433+
Else
1434+
{ Write-Host "No Id or Rolename specified" }
14421435

14431436
return $role
14441437
}
@@ -1447,41 +1440,32 @@ New-Alias "opc-getrole" OpCon_GetRole
14471440
#Adds a specific role to a user in OpCon
14481441
function OpCon_AddUserRole($user,$rolename,$url,$token)
14491442
{
1450-
$hdr = @{"authorization" = $token}
1451-
14521443
$userinfo = OpCon_GetUser -username $user -url $url -token $token
14531444
if($userinfo.Count -eq 0)
1445+
{ Write-Host "User $user does not exist" }
1446+
else
14541447
{
1455-
Write-Host "User $user does not exist"
1456-
}
1457-
$role = @(OpCon_GetRole -rolename $rolename -url $url -token $token)
1458-
if($role.Count -eq 1)
1459-
{
1460-
$role = $role[0]
1461-
}
1462-
else
1463-
{
1464-
Write-Host "Role $rolename not found or multiple rolenames found!"
1465-
}
1466-
1467-
if($userinfo[0].Roles -notcontains "$rolename")
1468-
{
1469-
$userinfo[0].Roles += ,@{id=$role.id;name=$rolename}
1470-
$body = $userinfo[0] | ConvertTo-Json -Depth 4
1471-
1472-
$uriput = $url + "/api/users/" + $userinfo.id
1473-
try
1474-
{
1475-
$user = (Invoke-RestMethod -Method PUT -Uri $uriput -Headers $hdr -Body $body -ContentType "application/json")
1476-
}
1477-
catch [Exception]
1448+
$role = @(OpCon_GetRole -rolename $rolename -url $url -token $token)
1449+
if($role.Count -eq 1)
14781450
{
1479-
Write-Host $_.Exception.Message
1451+
$role = $role[0]
1452+
if($userinfo[0].Roles -notcontains "$rolename")
1453+
{
1454+
$userinfo[0].Roles += ,@{id=$role.id;name=$rolename}
1455+
1456+
try
1457+
{ $user = Invoke-RestMethod -Method PUT -Uri ($url + "/api/users/" + $userinfo.id) -Headers @{"authorization" = $token} -Body ($userinfo[0] | ConvertTo-Json -Depth 4) -ContentType "application/json" }
1458+
catch [Exception]
1459+
{
1460+
Write-Host $_
1461+
Write-Host $_.Exception.Message
1462+
}
1463+
}
1464+
else
1465+
{ Write-Host "Role $rolename already on user account, not adding" }
14801466
}
1481-
}
1482-
else
1483-
{
1484-
Write-Host "Role $rolename already on user account, not adding"
1467+
else
1468+
{ Write-Host "Role $rolename not found or multiple rolenames found!" }
14851469
}
14861470

14871471
return $user
@@ -1491,34 +1475,28 @@ New-Alias "opc-adduserrole" OpCon_AddUserRole
14911475
#Creates an OpCon user
14921476
function OpCon_CreateUser($url,$token,$username,$password,$roleid,$rolename,$email,$notes,$comment)
14931477
{
1494-
$hdr = @{"authorization" = $token}
1495-
14961478
$get = OpCon_Getuser -url $url -token $token -username $username
14971479
if(@($get).Count -eq 1)
1480+
{ Write-host "User " $username " already exists" }
1481+
else
14981482
{
1499-
Write-host "User " $username " already exists"
1500-
}
1501-
1502-
if(!$roleid -and $rolename)
1503-
{
1504-
$role = OpCon_GetRole -url $url -token $token -rolename $rolename
1505-
if(@($role).Count -eq 1)
1483+
if(!$roleid -and $rolename)
15061484
{
1507-
$roleid = $role[0].id
1485+
$role = OpCon_GetRole -url $url -token $token -rolename $rolename
1486+
if(@($role).Count -eq 1)
1487+
{ $roleid = $role[0].id }
15081488
}
1509-
}
15101489

1511-
#Create OpCon user account
1512-
$uripost = $url + "/api/users"
1513-
$post = '{"loginName":"' + $username + '","name":"' + $username + '","password":"' + $password + '","externalPassword":"' + $password + '","details":"' + $notes + '","moreDetails":"' + $comment + '","roles":[{"Id":' + $roleid + '}],"email":"' + $email + '"}'
1514-
1515-
try
1516-
{
1517-
$create = (Invoke-RestMethod -Method POST -Uri $uripost -Headers $hdr -Body "$post" -ContentType "application/json")
1518-
}
1519-
catch [Exception]
1520-
{
1521-
Write-Host $_.Exception.Message
1490+
#Create OpCon user account
1491+
$post = '{"loginName":"' + $username + '","name":"' + $username + '","password":"' + $password + '","externalPassword":"' + $password + '","details":"' + $notes + '","moreDetails":"' + $comment + '","roles":[{"Id":' + $roleid + '}],"email":"' + $email + '"}'
1492+
1493+
try
1494+
{ $create = Invoke-RestMethod -Method POST -Uri ($url + "/api/users") -Headers @{"authorization" = $token} -Body "$post" -ContentType "application/json" }
1495+
catch [Exception]
1496+
{
1497+
Write-Host $_
1498+
Write-Host $_.Exception.Message
1499+
}
15221500
}
15231501

15241502
return $create

0 commit comments

Comments
 (0)