transform input types also on user mutations (#6934)
This commit is contained in:
3
package-lock.json
generated
3
package-lock.json
generated
@@ -5248,7 +5248,8 @@
|
||||
"crypto-js": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.0.0.tgz",
|
||||
"integrity": "sha512-bzHZN8Pn+gS7DQA6n+iUmBfl0hO5DJq++QP3U6uTucDtk/0iGpXd/Gg7CGR0p8tJhofJyaKoWBuJI4eAO00BBg=="
|
||||
"integrity": "sha512-bzHZN8Pn+gS7DQA6n+iUmBfl0hO5DJq++QP3U6uTucDtk/0iGpXd/Gg7CGR0p8tJhofJyaKoWBuJI4eAO00BBg==",
|
||||
"optional": true
|
||||
},
|
||||
"css-select": {
|
||||
"version": "1.2.0",
|
||||
|
||||
@@ -7235,7 +7235,9 @@ describe('ParseGraphQLServer', () => {
|
||||
const clientMutationId = uuidv4();
|
||||
const userSchema = new Parse.Schema('_User');
|
||||
userSchema.addString('someField');
|
||||
userSchema.addPointer('aPointer', '_User');
|
||||
await userSchema.update();
|
||||
|
||||
await parseGraphQLServer.parseGraphQLSchema.databaseController.schemaCache.clear();
|
||||
const result = await apolloClient.mutate({
|
||||
mutation: gql`
|
||||
@@ -7246,6 +7248,10 @@ describe('ParseGraphQLServer', () => {
|
||||
sessionToken
|
||||
user {
|
||||
someField
|
||||
aPointer {
|
||||
id
|
||||
username
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7257,6 +7263,13 @@ describe('ParseGraphQLServer', () => {
|
||||
fields: {
|
||||
username: 'user1',
|
||||
password: 'user1',
|
||||
aPointer: {
|
||||
createAndLink: {
|
||||
username: 'user2',
|
||||
password: 'user2',
|
||||
someField: 'someValue2',
|
||||
},
|
||||
},
|
||||
someField: 'someValue',
|
||||
},
|
||||
},
|
||||
@@ -7266,6 +7279,10 @@ describe('ParseGraphQLServer', () => {
|
||||
expect(result.data.signUp.clientMutationId).toEqual(clientMutationId);
|
||||
expect(result.data.signUp.viewer.sessionToken).toBeDefined();
|
||||
expect(result.data.signUp.viewer.user.someField).toEqual('someValue');
|
||||
expect(result.data.signUp.viewer.user.aPointer.id).toBeDefined();
|
||||
expect(result.data.signUp.viewer.user.aPointer.username).toEqual(
|
||||
'user2'
|
||||
);
|
||||
expect(typeof result.data.signUp.viewer.sessionToken).toBe('string');
|
||||
});
|
||||
|
||||
@@ -7282,6 +7299,7 @@ describe('ParseGraphQLServer', () => {
|
||||
});
|
||||
|
||||
userSchema.addString('someField');
|
||||
userSchema.addPointer('aPointer', '_User');
|
||||
await userSchema.update();
|
||||
await parseGraphQLServer.parseGraphQLSchema.databaseController.schemaCache.clear();
|
||||
const result = await apolloClient.mutate({
|
||||
@@ -7293,6 +7311,10 @@ describe('ParseGraphQLServer', () => {
|
||||
sessionToken
|
||||
user {
|
||||
someField
|
||||
aPointer {
|
||||
id
|
||||
username
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7309,6 +7331,13 @@ describe('ParseGraphQLServer', () => {
|
||||
},
|
||||
fields: {
|
||||
someField: 'someValue',
|
||||
aPointer: {
|
||||
createAndLink: {
|
||||
username: 'user2',
|
||||
password: 'user2',
|
||||
someField: 'someValue2',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -7324,6 +7353,10 @@ describe('ParseGraphQLServer', () => {
|
||||
expect(typeof result.data.logInWith.viewer.sessionToken).toBe(
|
||||
'string'
|
||||
);
|
||||
expect(result.data.logInWith.viewer.user.aPointer.id).toBeDefined();
|
||||
expect(result.data.logInWith.viewer.user.aPointer.username).toEqual(
|
||||
'user2'
|
||||
);
|
||||
});
|
||||
|
||||
it('should log the user in', async () => {
|
||||
|
||||
@@ -9,6 +9,7 @@ import UsersRouter from '../../Routers/UsersRouter';
|
||||
import * as objectsMutations from '../helpers/objectsMutations';
|
||||
import { OBJECT } from './defaultGraphQLTypes';
|
||||
import { getUserFromSessionToken } from './usersQueries';
|
||||
import { transformTypes } from '../transformers/mutation';
|
||||
|
||||
const usersRouter = new UsersRouter();
|
||||
|
||||
@@ -41,9 +42,15 @@ const load = parseGraphQLSchema => {
|
||||
const { fields } = args;
|
||||
const { config, auth, info } = context;
|
||||
|
||||
const parseFields = await transformTypes('create', fields, {
|
||||
className: '_User',
|
||||
parseGraphQLSchema,
|
||||
req: { config, auth, info },
|
||||
});
|
||||
|
||||
const { sessionToken, objectId } = await objectsMutations.createObject(
|
||||
'_User',
|
||||
fields,
|
||||
parseFields,
|
||||
config,
|
||||
auth,
|
||||
info
|
||||
@@ -119,9 +126,15 @@ const load = parseGraphQLSchema => {
|
||||
const { fields, authData } = args;
|
||||
const { config, auth, info } = context;
|
||||
|
||||
const parseFields = await transformTypes('create', fields, {
|
||||
className: '_User',
|
||||
parseGraphQLSchema,
|
||||
req: { config, auth, info },
|
||||
});
|
||||
|
||||
const { sessionToken, objectId } = await objectsMutations.createObject(
|
||||
'_User',
|
||||
{ ...fields, authData },
|
||||
{ ...parseFields, authData },
|
||||
config,
|
||||
auth,
|
||||
info
|
||||
|
||||
Reference in New Issue
Block a user