Remove suggestion in gql error for un-authenticated users (#16328)
Closes https://github.com/twentyhq/private-issues/issues/357 Closes https://github.com/twentyhq/private-issues/issues/358
This commit is contained in:
+3
-1
@@ -3,8 +3,9 @@ import { NoSchemaIntrospectionCustomRule } from 'graphql/validation/rules/custom
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
|
||||
import { type GraphQLContext } from 'src/engine/api/graphql/graphql-config/graphql-config.service';
|
||||
import { removeSuggestionInErrorsRule } from 'src/engine/core-modules/graphql/rules/remove-suggestion-in-errors.rule';
|
||||
|
||||
export const useDisableIntrospectionForUnauthenticatedUsers = (
|
||||
export const useDisableIntrospectionAndSuggestionsForUnauthenticatedUsers = (
|
||||
isProductionEnvironment: boolean,
|
||||
): Plugin<GraphQLContext> => ({
|
||||
onValidate: ({ context, addValidationRule }) => {
|
||||
@@ -12,6 +13,7 @@ export const useDisableIntrospectionForUnauthenticatedUsers = (
|
||||
|
||||
if (!isAuthenticated && isProductionEnvironment) {
|
||||
addValidationRule(NoSchemaIntrospectionCustomRule);
|
||||
addValidationRule(removeSuggestionInErrorsRule);
|
||||
}
|
||||
},
|
||||
});
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
import { type ASTVisitor, type ValidationContext } from 'graphql';
|
||||
|
||||
export const removeSuggestionInErrorsRule = (
|
||||
context: ValidationContext,
|
||||
): ASTVisitor => {
|
||||
const originalReportError = context.reportError.bind(context);
|
||||
|
||||
context.reportError = (error) => {
|
||||
error.message = error.message.replace(/ Did you mean[^?]*\?/g, '');
|
||||
originalReportError(error);
|
||||
};
|
||||
|
||||
return {};
|
||||
};
|
||||
Reference in New Issue
Block a user