From b13a228b0451098ea32933a36fe64566e366583d Mon Sep 17 00:00:00 2001 From: George Goldberg Date: Wed, 18 Apr 2018 10:18:07 +0100 Subject: MM-10121: CLI command to reset permissions system to default state. (#8637) * MM-10121: CLI command to reset permissions system to default state. * Review comment. --- app/permissions.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 app/permissions.go (limited to 'app/permissions.go') diff --git a/app/permissions.go b/app/permissions.go new file mode 100644 index 000000000..be975e03d --- /dev/null +++ b/app/permissions.go @@ -0,0 +1,25 @@ +// Copyright (c) 2018-present Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +package app + +import ( + "github.com/mattermost/mattermost-server/model" +) + +func (a *App) ResetPermissionsSystem() *model.AppError { + // Purge all roles from the database. + if result := <-a.Srv.Store.Role().PermanentDeleteAll(); result.Err != nil { + return result.Err + } + + // Remove the "System" table entry that marks the advanced permissions migration as done. + if result := <-a.Srv.Store.System().PermanentDeleteByName(ADVANCED_PERMISSIONS_MIGRATION_KEY); result.Err != nil { + return result.Err + } + + // Now that the permissions system has been reset, re-run the migration to reinitialise it. + a.DoAdvancedPermissionsMigration() + + return nil +} -- cgit v1.2.3-1-g7c22