Files
PowderCoatingLogix/scripts/fix-admin-permissions.ps1
2026-04-23 21:38:24 -04:00

61 lines
1.7 KiB
PowerShell

# Fix Company Admin Permissions
# Run this from the project root directory
$connectionString = "Server=.\SQLEXPRESS;Database=PowderCoatingDb;Trusted_Connection=true;MultipleActiveResultSets=true;TrustServerCertificate=true"
Write-Host "Fixing Company Admin permissions..." -ForegroundColor Yellow
$sqlQuery = @"
UPDATE AspNetUsers
SET
CanManageJobs = 1,
CanManageInventory = 1,
CanManageCustomers = 1,
CanCreateQuotes = 1,
CanApproveQuotes = 1,
CanManageCalendar = 1,
CanViewCalendar = 1,
CanManageProducts = 1,
CanViewProducts = 1,
CanManageEquipment = 1,
CanManageSuppliers = 1,
CanManageMaintenance = 1
WHERE CompanyRole = 'CompanyAdmin';
SELECT
Email,
FirstName + ' ' + LastName AS Name,
CompanyRole,
CanManageCalendar,
CanManageProducts
FROM AspNetUsers
WHERE CompanyRole = 'CompanyAdmin';
"@
try {
$connection = New-Object System.Data.SqlClient.SqlConnection($connectionString)
$connection.Open()
$command = $connection.CreateCommand()
$command.CommandText = $sqlQuery
$adapter = New-Object System.Data.SqlClient.SqlDataAdapter $command
$dataset = New-Object System.Data.DataSet
$adapter.Fill($dataset) | Out-Null
Write-Host "`nCompany Admins Updated:" -ForegroundColor Green
$dataset.Tables[0] | Format-Table -AutoSize
$connection.Close()
Write-Host "`nPermissions updated successfully!" -ForegroundColor Green
Write-Host "Company Admins need to log out and log back in for changes to take effect." -ForegroundColor Yellow
}
catch {
Write-Host "Error: $_" -ForegroundColor Red
}
finally {
if ($connection.State -eq 'Open') {
$connection.Close()
}
}