title: GraphQL throwing syntax errors
body: <p>I am developing the GraphQL Node tutorial, and am up to step 7. </p>
  
  <p><a href="https://www.howtographql.com/graphql-js/7-subscriptions/" rel="nofollow noreferrer">https://www.howtographql.com/graphql-js/7-subscriptions/</a></p>
  
  <p>I am getting a number of syntax errors from this code in my <code>datamodel.prisma</code> file:</p>
  
  <pre><code>directive @id on FIELD_DEFINITION
  directive @unique on FIELD_DEFINITION
  directive @createdAt on FIELD_DEFINITION
  scalar DateTime
  
  type Link {
      id: ID! @id
      createdAt: DateTime! @createdAt
      description: String!
      url: String!
      postedBy: User
      votes: [Vote!]!
  }
  
  type User {
      id: ID! @id
      name: String!
      email: String! @unique
      password: String!
      links: [Link!]!
      votes: [Vote!]!
  }
  
  type Vote {
      id: ID! @id
      link: Link!
      user: User!
  }
  </code></pre>
  
  <p>But am still getting <code>'User' type [@6:1] tried to redefine existing 'User' type [@15:5]</code> and <code>'Link' type [@24:1] tried to redefine existing 'Link' type [@6:5]</code>.</p>
  
  <p>I am also not sure if I am declaring <code>directives</code> or <code>scalars</code> correctly as this is missing from the official tutorial.</p>
  
  <p>Can anyone give any advice on how to sort these issues?</p>
  
  <p>Schema.graphql:</p>
  
  <pre><code>type Query {
      info: String!
      feed(filter: String, skip: Int, first: Int, orderBy: LinkOrderByInput): Feed!
  }
  
  type Feed {
      links: [Link!]!
      count: Int!
  }
  
  type AuthPayload {
      token: String
      user: User
  }
  
  type User {
      id: ID!
      name: String!
      email: String!
      links: [Link!]!
  }
  
  type Vote {
      id: ID!
      link: Link!
      user: User!
  }
  
  type Link {
      id: ID!
      description: String!
      url: String!
      postedBy: User
      votes: [Vote!]!
  }
  
  type Subscription {
      newLink: Link
      newVote: Vote
  }
  
  type Mutation {
      post(url: String!, description: String!): Link!
      signup(email: String!, password: String!, name: String!): AuthPayload
      login(email: String!, password: String!): AuthPayload
      vote(linkId: ID!): Vote
  }
  
  enum LinkOrderByInput {
      description_ASC
      description_DESC
      url_ASC
      url_DESC
      createdAt_ASC
      createdAt_DESC
  }
  </code></pre>