diff --git a/frontend/src/metabase/admin/permissions/containers/DataPermissionsApp.jsx b/frontend/src/metabase/admin/permissions/containers/DataPermissionsApp.jsx index 9cc8f3a18c0dce61951dfaea543326867ff59f81..1d881f1df35ed6fa9556969eb950d302fcaf07ee 100644 --- a/frontend/src/metabase/admin/permissions/containers/DataPermissionsApp.jsx +++ b/frontend/src/metabase/admin/permissions/containers/DataPermissionsApp.jsx @@ -4,12 +4,12 @@ import { connect } from "react-redux" import PermissionsApp from "./PermissionsApp.jsx"; import { PermissionsApi } from "metabase/services"; -import { loadMetadata } from "../permissions"; +import { fetchDatabases } from "metabase/redux/metadata"; -@connect(null, { loadMetadata }) +@connect(null, { fetchDatabases }) export default class DataPermissionsApp extends Component { componentWillMount() { - this.props.loadMetadata(); + this.props.fetchDatabases(); } render() { return ( diff --git a/frontend/src/metabase/admin/permissions/permissions.js b/frontend/src/metabase/admin/permissions/permissions.js index 6fdc64cfe41699c360e012c638e3764502feb375..2dc9ecd15842e0492c44ea2d97377bc4101bdbdc 100644 --- a/frontend/src/metabase/admin/permissions/permissions.js +++ b/frontend/src/metabase/admin/permissions/permissions.js @@ -3,7 +3,7 @@ import { createAction, createThunkAction, handleActions, combineReducers } from import { canEditPermissions } from "metabase/lib/groups"; import MetabaseAnalytics from "metabase/lib/analytics"; -import { MetabaseApi, PermissionsApi, CollectionsApi } from "metabase/services"; +import { PermissionsApi, CollectionsApi } from "metabase/services"; const RESET = "metabase/admin/permissions/RESET"; export const reset = createAction(RESET); @@ -19,10 +19,6 @@ export const initialize = createThunkAction(INITIALIZE, (load, save) => } ); -// TODO: move these to their respective ducks -const LOAD_METADATA = "metabase/admin/permissions/LOAD_METADATA"; -export const loadMetadata = createAction(LOAD_METADATA, () => MetabaseApi.db_list_with_tables()); - // TODO: move these to their respective ducks const LOAD_COLLECTIONS = "metabase/admin/permissions/LOAD_COLLECTIONS"; export const loadCollections = createAction(LOAD_COLLECTIONS, () => CollectionsApi.list()); @@ -100,10 +96,6 @@ const groups = handleActions({ }, }, null); -const databases = handleActions({ - [LOAD_METADATA]: { next: (state, { payload }) => payload }, -}, null); - const collections = handleActions({ [LOAD_COLLECTIONS]: { next: (state, { payload }) => payload }, }, null); @@ -129,6 +121,5 @@ export default combineReducers({ revision, groups, - databases, collections }); diff --git a/frontend/src/metabase/admin/permissions/selectors.js b/frontend/src/metabase/admin/permissions/selectors.js index 94c1584e9ba33cb8e88477736eca8eb84848d518..2b212a7b67ade21268d5c74219d1d0d4ccc7528c 100644 --- a/frontend/src/metabase/admin/permissions/selectors.js +++ b/frontend/src/metabase/admin/permissions/selectors.js @@ -4,14 +4,10 @@ import { createSelector } from 'reselect'; import { push } from "react-router-redux"; -import Metadata from "metabase/meta/metadata/Metadata"; import MetabaseAnalytics from "metabase/lib/analytics"; -import type { DatabaseId } from "metabase/meta/types/Database"; -import type { SchemaName } from "metabase/meta/types/Table"; -import type { Group, GroupsPermissions } from "metabase/meta/types/Permissions"; - import { isDefaultGroup, isAdminGroup, isMetaBotGroup } from "metabase/lib/groups"; + import _ from "underscore"; import { getIn, assocIn } from "icepick"; @@ -28,16 +24,19 @@ import { inferAndUpdateEntityPermissions } from "metabase/lib/permissions"; +import { getMeta } from "metabase/selectors/metadata"; + +import Metadata from "metabase/meta/metadata/Metadata"; +import type { DatabaseId } from "metabase/meta/types/Database"; +import type { SchemaName } from "metabase/meta/types/Table"; +import type { Group, GroupsPermissions } from "metabase/meta/types/Permissions"; + const getPermissions = (state) => state.admin.permissions.permissions; const getOriginalPermissions = (state) => state.admin.permissions.originalPermissions; const getDatabaseId = (state, props) => props.params.databaseId ? parseInt(props.params.databaseId) : null const getSchemaName = (state, props) => props.params.schemaName -const getMeta = createSelector( - [(state) => state.admin.permissions.databases], - (databases) => databases && new Metadata(databases) -); // reorder groups to be in this order const SPECIAL_GROUP_FILTERS = [isAdminGroup, isDefaultGroup, isMetaBotGroup].reverse();