Skip to content

Commit f81da11

Browse files
douglasmuraokadavimacedo
authored andcommitted
fix(GraphQL): Remove "password" output field from _User class (#5889)
1 parent ef14ca5 commit f81da11

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

spec/ParseGraphQLServer.spec.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -765,6 +765,21 @@ describe('ParseGraphQLServer', () => {
765765
})).data['__type'].fields.map(field => field.name);
766766
expect(userFields.indexOf('foo') !== -1).toBeTruthy();
767767
});
768+
769+
it('should not contain password field from _User class', async () => {
770+
const userFields = (await apolloClient.query({
771+
query: gql`
772+
query UserType {
773+
__type(name: "_UserClass") {
774+
fields {
775+
name
776+
}
777+
}
778+
}
779+
`,
780+
})).data['__type'].fields.map(field => field.name);
781+
expect(userFields.includes('password')).toBeFalsy();
782+
});
768783
});
769784

770785
describe('Configuration', function() {

src/GraphQL/loaders/parseClassTypes.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,12 @@ const getInputFieldsAndConstraints = function(
213213
} else {
214214
classOutputFields = classCustomFields;
215215
}
216+
// Filters the "password" field from class _User
217+
if (parseClass.className === '_User') {
218+
classOutputFields = classOutputFields.filter(
219+
outputField => outputField !== 'password'
220+
);
221+
}
216222

217223
if (allowedConstraintFields) {
218224
classConstraintFields = classCustomFields.filter(field => {

0 commit comments

Comments
 (0)