diff --git a/server/system/rest/user.go b/server/system/rest/user.go index d78d4ab23..33b1cdfc2 100644 --- a/server/system/rest/user.go +++ b/server/system/rest/user.go @@ -385,6 +385,13 @@ func (ctrl *User) Export(ctx context.Context, r *request.UserExport) (rsp interf for _, m := range membership { if _, ok := roleResIndex[m.RoleID]; !ok { + // If it's not here then it was probably deleted/archived + // @todo consider adding a flag to control what happens on + // archived/deleted resources + if _, ok := roleIndex[m.RoleID]; !ok { + continue + } + roleResIndex[m.RoleID] = resource.NewRole(roleIndex[m.RoleID]) if r.InclRoles { resources = append(resources, roleResIndex[m.RoleID])