Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
withUsersGQL.js 922 B
import gql from 'graphql-tag'
import { compose } from 'recompose'
import { graphql } from 'react-apollo'

const userFragment = gql`
  fragment userDetails on User {
    id
    admin
    email
    title
    country
    username
    lastName
    isActive
    firstName
    affiliation
    isConfirmed
    editorInChief
    handlingEditor
  }
`

const getUsersQuery = gql`
  {
    users {
      ...userDetails
    }
  }
  ${userFragment}
`

const addUserMutation = gql`
  mutation addUser($user: UserInput) {
    createUser(input: $user) {
      ...userDetails
    }
  }
  ${userFragment}
`

const updateUserMutation = gql`
  mutation updateUser($id: ID, $input: UserInput) {
    updateUser(id: $id, input: $input) {
      ...userDetails
    }
  }
  ${userFragment}
`

export default compose(
  graphql(getUsersQuery),
  graphql(addUserMutation, { name: 'addUser' }),
  graphql(updateUserMutation, { name: 'updateUser' }),
)