diff --git a/packages/vulcan-events-internal/lib/client/internal-client.js b/packages/vulcan-events-internal/lib/client/internal-client.js index 0cd9fc2e5..f745c37de 100644 --- a/packages/vulcan-events-internal/lib/client/internal-client.js +++ b/packages/vulcan-events-internal/lib/client/internal-client.js @@ -1,17 +1,15 @@ import { addTrackFunction } from 'meteor/vulcan:events'; -import { getRenderContext } from 'meteor/vulcan:lib'; +import { getRenderContext, getFragment, createClientTemplate } from 'meteor/vulcan:lib'; import gql from 'graphql-tag'; function trackInternal(eventName, eventProperties) { const { apolloClient } = getRenderContext(); - const mutation = gql` - mutation AnalyticsEventsNew($document: AnalyticsEventsInput) { - AnalyticsEventsNew(document: $document) { - name - createdAt - } - } - `; + + const fragmentName = 'AnalyticsEventFragment'; + const fragment = getFragment(fragmentName); + + const mutation = gql`${createClientTemplate({ typeName: 'AnalyticsEvent', fragmentName })}${fragment}`; + const variables = { document: { name: eventName, diff --git a/packages/vulcan-events-internal/lib/modules/fragments.js b/packages/vulcan-events-internal/lib/modules/fragments.js new file mode 100644 index 000000000..838e42fe6 --- /dev/null +++ b/packages/vulcan-events-internal/lib/modules/fragments.js @@ -0,0 +1,9 @@ +import { registerFragment } from 'meteor/vulcan:core'; + +registerFragment(/* GraphQL */` + fragment AnalyticsEventFragment on AnalyticsEvent { + __typename + name + createdAt + } +`); \ No newline at end of file diff --git a/packages/vulcan-events-internal/lib/modules/index.js b/packages/vulcan-events-internal/lib/modules/index.js index d193f1a60..4aaac5abd 100644 --- a/packages/vulcan-events-internal/lib/modules/index.js +++ b/packages/vulcan-events-internal/lib/modules/index.js @@ -1 +1,3 @@ -export * from './collection.js'; \ No newline at end of file +export * from './collection.js'; + +import './fragments'; \ No newline at end of file