Skip to content
Snippets Groups Projects
Unverified Commit 6c6f788e authored by Anton Kulyk's avatar Anton Kulyk Committed by GitHub
Browse files

Avoid dynamic require (#27780)

parent 15107d36
No related branches found
No related tags found
No related merge requests found
...@@ -2,9 +2,10 @@ import { createEntity } from "metabase/lib/entities"; ...@@ -2,9 +2,10 @@ import { createEntity } from "metabase/lib/entities";
import { GET, POST } from "metabase/lib/api"; import { GET, POST } from "metabase/lib/api";
const listRevisions = GET("/api/revision"); import Dashboards from "./dashboards";
import Questions from "./questions";
const ASSOCIATED_ENTITY_TYPES = ["questions", "dashboards"]; const listRevisions = GET("/api/revision");
const Revision = createEntity({ const Revision = createEntity({
name: "revisions", name: "revisions",
...@@ -35,14 +36,11 @@ const Revision = createEntity({ ...@@ -35,14 +36,11 @@ const Revision = createEntity({
}, },
actionShouldInvalidateLists(action) { actionShouldInvalidateLists(action) {
const entities = require("metabase/entities"); return (
for (const type of ASSOCIATED_ENTITY_TYPES) { action.type === this.actionTypes.INVALIDATE_LISTS_ACTION ||
if (entities[type].actionShouldInvalidateLists(action)) { Dashboards.actionShouldInvalidateLists(action) ||
return true; Questions.actionShouldInvalidateLists(action)
} );
}
return action.type === this.actionTypes.INVALIDATE_LISTS_ACTION;
}, },
}); });
......
...@@ -3,11 +3,19 @@ import { createEntity } from "metabase/lib/entities"; ...@@ -3,11 +3,19 @@ import { createEntity } from "metabase/lib/entities";
import { GET } from "metabase/lib/api"; import { GET } from "metabase/lib/api";
import { entityTypeForObject } from "metabase/lib/schema"; import { entityTypeForObject } from "metabase/lib/schema";
import { ObjectUnionSchema, ENTITIES_SCHEMA_MAP } from "metabase/schema"; import { ObjectUnionSchema } from "metabase/schema";
import { canonicalCollectionId } from "metabase/collections/utils"; import { canonicalCollectionId } from "metabase/collections/utils";
const ENTITIES_TYPES = Object.keys(ENTITIES_SCHEMA_MAP); import Bookmarks from "./bookmarks";
import Collections from "./collections";
import Dashboards from "./dashboards";
import Metrics from "./metrics";
import Pulses from "./pulses";
import Questions from "./questions";
import Segments from "./segments";
import Snippets from "./snippets";
import SnippetCollections from "./snippet-collections";
const searchList = GET("/api/search"); const searchList = GET("/api/search");
const collectionList = GET("/api/collection/:collection/items"); const collectionList = GET("/api/collection/:collection/items");
...@@ -82,12 +90,16 @@ export default createEntity({ ...@@ -82,12 +90,16 @@ export default createEntity({
// delegate to each entity's actionShouldInvalidateLists // delegate to each entity's actionShouldInvalidateLists
actionShouldInvalidateLists(action) { actionShouldInvalidateLists(action) {
const entities = require("metabase/entities"); return (
for (const type of ENTITIES_TYPES) { Bookmarks.actionShouldInvalidateLists(action) ||
if (entities[type].actionShouldInvalidateLists(action)) { Collections.actionShouldInvalidateLists(action) ||
return true; Dashboards.actionShouldInvalidateLists(action) ||
} Metrics.actionShouldInvalidateLists(action) ||
} Pulses.actionShouldInvalidateLists(action) ||
return false; Questions.actionShouldInvalidateLists(action) ||
Segments.actionShouldInvalidateLists(action) ||
Snippets.actionShouldInvalidateLists(action) ||
SnippetCollections.actionShouldInvalidateLists(action)
);
}, },
}); });
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment