You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.7 KiB
41 lines
1.7 KiB
-- Migrate Custom users who only have 'editAssignedCollections' and/or 'deleteAssignedCollections' custom permissions to the User type. |
|
UPDATE `OrganizationUser` |
|
SET |
|
`Type` = 2, |
|
`Permissions` = NULL |
|
WHERE |
|
`Type` = 4 |
|
AND JSON_VALID(`Permissions`) = 1 |
|
AND ( |
|
JSON_VALUE(`Permissions`, '$.editAssignedCollections') = 'true' |
|
OR JSON_VALUE(`Permissions`, '$.deleteAssignedCollections') = 'true' |
|
) |
|
AND JSON_VALUE(`Permissions`, '$.accessEventLogs') = 'false' |
|
AND JSON_VALUE(`Permissions`, '$.accessImportExport') = 'false' |
|
AND JSON_VALUE(`Permissions`, '$.accessReports') = 'false' |
|
AND JSON_VALUE(`Permissions`, '$.createNewCollections') = 'false' |
|
AND JSON_VALUE(`Permissions`, '$.editAnyCollection') = 'false' |
|
AND JSON_VALUE(`Permissions`, '$.deleteAnyCollection') = 'false' |
|
AND JSON_VALUE(`Permissions`, '$.manageGroups') = 'false' |
|
AND JSON_VALUE(`Permissions`, '$.managePolicies') = 'false' |
|
AND JSON_VALUE(`Permissions`, '$.manageSso') = 'false' |
|
AND JSON_VALUE(`Permissions`, '$.manageUsers') = 'false' |
|
AND JSON_VALUE(`Permissions`, '$.manageResetPassword') = 'false' |
|
AND JSON_VALUE(`Permissions`, '$.manageScim') = 'false'; |
|
|
|
-- Remove 'editAssignedCollections' and 'deleteAssignedCollections' properties from Permissions |
|
UPDATE `OrganizationUser` |
|
SET |
|
`Permissions` = JSON_REMOVE( |
|
JSON_REMOVE( |
|
`Permissions`, |
|
'$.editAssignedCollections' |
|
), |
|
'$.deleteAssignedCollections' |
|
) |
|
WHERE |
|
JSON_VALID(`Permissions`) = 1 |
|
AND ( |
|
JSON_VALUE(`Permissions`, '$.editAssignedCollections') IS NOT NULL |
|
OR JSON_VALUE(`Permissions`, '$.deleteAssignedCollections') IS NOT NULL |
|
);
|
|
|