MM-58548 Remove manage_team permissions from System Console Ancillary permissions (#27395)
* remove manage team permissions from sysconsole_write_user_management_chanels and sysconsole_write_user_management_groups * update migrations, add unit tests * run migrations-extract * make updating ancillary permissions a post * update file names * add new api to doc, update body to just be []string * revert moving ancillary permissions to post * fix queries after final testing * Update channel.go * Update channel.go * Update 000124_remove_manage_team_permission.up.sql * Update 000124_remove_manage_team_permission.up.sql --------- Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
485dc64c5f
Коммит
99881b819a
@@ -0,0 +1 @@
|
||||
-- Skipping it because the forward migrations are destructive
|
||||
@@ -0,0 +1,21 @@
|
||||
DO $$
|
||||
<<remove_manage_team_permission>>
|
||||
DECLARE
|
||||
rows_updated integer;
|
||||
BEGIN
|
||||
LOOP
|
||||
WITH table_holder AS (
|
||||
SELECT id FROM roles
|
||||
WHERE Permissions ~ 'manage_team($|\s)'
|
||||
AND Permissions !~~ '%sysconsole_write_user_management_teams%'
|
||||
AND (Permissions ~~ '%sysconsole_write_user_management_channels%'
|
||||
OR Permissions ~~ '%sysconsole_write_user_management_groups%')
|
||||
ORDER BY id ASC limit 100
|
||||
)
|
||||
|
||||
UPDATE Roles r set permissions = REGEXP_REPLACE(permissions, 'manage_team($|\s)', '')
|
||||
WHERE r.id in (SELECT id FROM table_holder);
|
||||
GET DIAGNOSTICS rows_updated = ROW_COUNT;
|
||||
EXIT WHEN rows_updated < 100;
|
||||
END LOOP;
|
||||
END remove_manage_team_permission $$;
|
||||
Ссылка в новой задаче
Block a user