mirror of
https://github.com/datahub-project/datahub.git
synced 2025-08-18 14:16:48 +00:00
fix(react): disable analytics link display (#2541)
This commit is contained in:
parent
508259bbab
commit
0cdadd810a
@ -26,6 +26,7 @@ import play.mvc.Security;
|
|||||||
import react.resolver.AnalyticsChartTypeResolver;
|
import react.resolver.AnalyticsChartTypeResolver;
|
||||||
import react.resolver.GetChartsResolver;
|
import react.resolver.GetChartsResolver;
|
||||||
import react.resolver.GetHighlightsResolver;
|
import react.resolver.GetHighlightsResolver;
|
||||||
|
import react.resolver.IsAnalyticsEnabledResolver;
|
||||||
|
|
||||||
public class GraphQLController extends Controller {
|
public class GraphQLController extends Controller {
|
||||||
|
|
||||||
@ -33,6 +34,8 @@ public class GraphQLController extends Controller {
|
|||||||
|
|
||||||
private static final String QUERY_TYPE = "Query";
|
private static final String QUERY_TYPE = "Query";
|
||||||
private static final String ANALYTICS_CHART_TYPE = "AnalyticsChart";
|
private static final String ANALYTICS_CHART_TYPE = "AnalyticsChart";
|
||||||
|
|
||||||
|
private static final String IS_ANALYTICS_ENABLED_QUERY = "isAnalyticsEnabled";
|
||||||
private static final String GET_ANALYTICS_CHARTS_QUERY = "getAnalyticsCharts";
|
private static final String GET_ANALYTICS_CHARTS_QUERY = "getAnalyticsCharts";
|
||||||
private static final String GET_HIGHLIGHTS_QUERY = "getHighlights";
|
private static final String GET_HIGHLIGHTS_QUERY = "getHighlights";
|
||||||
|
|
||||||
@ -49,10 +52,8 @@ public class GraphQLController extends Controller {
|
|||||||
/*
|
/*
|
||||||
* Initialize GraphQL Engine
|
* Initialize GraphQL Engine
|
||||||
*/
|
*/
|
||||||
_engine = isAnalyticsEnabled(config)
|
|
||||||
? buildExtendedEngine(environment, analyticsService)
|
|
||||||
: GmsGraphQLEngine.get();
|
|
||||||
_config = config;
|
_config = config;
|
||||||
|
_engine = buildExtendedEngine(environment, analyticsService);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Security.Authenticated(Authenticator.class)
|
@Security.Authenticated(Authenticator.class)
|
||||||
@ -114,6 +115,7 @@ public class GraphQLController extends Controller {
|
|||||||
.addSchema(schemaString)
|
.addSchema(schemaString)
|
||||||
.configureRuntimeWiring(builder -> builder
|
.configureRuntimeWiring(builder -> builder
|
||||||
.type(QUERY_TYPE, typeWiring -> typeWiring
|
.type(QUERY_TYPE, typeWiring -> typeWiring
|
||||||
|
.dataFetcher(IS_ANALYTICS_ENABLED_QUERY, new IsAnalyticsEnabledResolver(isAnalyticsEnabled(_config)))
|
||||||
.dataFetcher(GET_ANALYTICS_CHARTS_QUERY, new GetChartsResolver(analyticsService))
|
.dataFetcher(GET_ANALYTICS_CHARTS_QUERY, new GetChartsResolver(analyticsService))
|
||||||
.dataFetcher(GET_HIGHLIGHTS_QUERY, new GetHighlightsResolver(analyticsService)))
|
.dataFetcher(GET_HIGHLIGHTS_QUERY, new GetHighlightsResolver(analyticsService)))
|
||||||
.type(ANALYTICS_CHART_TYPE, typeWiring -> typeWiring
|
.type(ANALYTICS_CHART_TYPE, typeWiring -> typeWiring
|
||||||
|
@ -0,0 +1,21 @@
|
|||||||
|
package react.resolver;
|
||||||
|
|
||||||
|
import graphql.schema.DataFetcher;
|
||||||
|
import graphql.schema.DataFetchingEnvironment;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns true if analytics feature flag is enabled, false otherwise.
|
||||||
|
*/
|
||||||
|
public class IsAnalyticsEnabledResolver implements DataFetcher<Boolean> {
|
||||||
|
|
||||||
|
private final Boolean _isAnalyticsEnabled;
|
||||||
|
|
||||||
|
public IsAnalyticsEnabledResolver(final Boolean isAnalyticsEnabled) {
|
||||||
|
_isAnalyticsEnabled = isAnalyticsEnabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final Boolean get(DataFetchingEnvironment environment) throws Exception {
|
||||||
|
return _isAnalyticsEnabled;
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,5 @@
|
|||||||
extend type Query {
|
extend type Query {
|
||||||
|
isAnalyticsEnabled: Boolean!
|
||||||
getAnalyticsCharts: [AnalyticsChartGroup!]!
|
getAnalyticsCharts: [AnalyticsChartGroup!]!
|
||||||
getHighlights: [Highlight!]!
|
getHighlights: [Highlight!]!
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,7 @@ import { useGetAuthenticatedUser } from '../useGetAuthenticatedUser';
|
|||||||
import { useEntityRegistry } from '../useEntityRegistry';
|
import { useEntityRegistry } from '../useEntityRegistry';
|
||||||
import { navigateToSearchUrl } from '../search/utils/navigateToSearchUrl';
|
import { navigateToSearchUrl } from '../search/utils/navigateToSearchUrl';
|
||||||
import { GetSearchResultsQuery, useGetAutoCompleteResultsLazyQuery } from '../../graphql/search.generated';
|
import { GetSearchResultsQuery, useGetAutoCompleteResultsLazyQuery } from '../../graphql/search.generated';
|
||||||
|
import { useIsAnalyticsEnabledQuery } from '../../graphql/analytics.generated';
|
||||||
import { useGetAllEntitySearchResults } from '../../utils/customGraphQL/useGetAllEntitySearchResults';
|
import { useGetAllEntitySearchResults } from '../../utils/customGraphQL/useGetAllEntitySearchResults';
|
||||||
import { EntityType } from '../../types.generated';
|
import { EntityType } from '../../types.generated';
|
||||||
import analytics, { EventType } from '../analytics';
|
import analytics, { EventType } from '../analytics';
|
||||||
@ -110,6 +111,9 @@ export const HomePageHeader = () => {
|
|||||||
const [getAutoCompleteResults, { data: suggestionsData }] = useGetAutoCompleteResultsLazyQuery();
|
const [getAutoCompleteResults, { data: suggestionsData }] = useGetAutoCompleteResultsLazyQuery();
|
||||||
const themeConfig = useTheme();
|
const themeConfig = useTheme();
|
||||||
|
|
||||||
|
const { data } = useIsAnalyticsEnabledQuery();
|
||||||
|
const isAnalyticsEnabled = data && data.isAnalyticsEnabled;
|
||||||
|
|
||||||
const onSearch = (query: string) => {
|
const onSearch = (query: string) => {
|
||||||
analytics.event({
|
analytics.event({
|
||||||
type: EventType.SearchEvent,
|
type: EventType.SearchEvent,
|
||||||
@ -175,7 +179,7 @@ export const HomePageHeader = () => {
|
|||||||
)}
|
)}
|
||||||
</WelcomeText>
|
</WelcomeText>
|
||||||
<NavGroup>
|
<NavGroup>
|
||||||
<AnalyticsLink />
|
{isAnalyticsEnabled && <AnalyticsLink />}
|
||||||
<ManageAccount
|
<ManageAccount
|
||||||
urn={user?.urn || ''}
|
urn={user?.urn || ''}
|
||||||
pictureLink={user?.editableInfo?.pictureLink || ''}
|
pictureLink={user?.editableInfo?.pictureLink || ''}
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
query isAnalyticsEnabled {
|
||||||
|
isAnalyticsEnabled
|
||||||
|
}
|
||||||
|
|
||||||
query getAnalyticsCharts {
|
query getAnalyticsCharts {
|
||||||
getAnalyticsCharts {
|
getAnalyticsCharts {
|
||||||
title
|
title
|
||||||
|
Loading…
x
Reference in New Issue
Block a user